On Wed, Nov 11, 2009 at 9:40 AM, Coe, Robin <robin.coe@bluecoat.com> wrote:
IMO, auth services should be left to the application layer that interfaces to Cassandra and not built into Cassandra.  In the tutorial snippet included below, the access being granted is at the codebase level, not the transaction level.  Since users of Cassandra will generally be fronted by a service layer, the java security manager isn’t going to suffice.  What this snippet could do, though, and may be the rationale for the request, is to ensure that unauthorized users cannot instantiate a new Cassandra server.  However, if a user has physical access to the machine on which Cassandra is installed, they could easily bypass that layer of security.

What if Cassandra IS the application you're exposing?  Imagine a large company that creates one large internal Cassandra deployment, and has multiple departments it wants  to create separate keyspaces for.  You can do that now, but there's nothing except a gentlemen's agreement to prevent one department from trashing another department's keyspace, and accidents do happen. You can front the service with some kind of application layer, but then you have another API to maintain, and you'll lose some performance this way.