You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Folke Behrens (JIRA)" <ji...@apache.org> on 2010/07/21 22:40:52 UTC

[jira] Commented: (CASSANDRA-1237) Store AccessLevels externally to IAuthenticator

    [ https://issues.apache.org/jira/browse/CASSANDRA-1237?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12890879#action_12890879 ] 

Folke Behrens commented on CASSANDRA-1237:
------------------------------------------

Failing to authenticate correctly is not an exception. OTOH, accessing a keyspace you're not authorized for is. All RPC methods except "login" should throw AuthorizationException.

While you're at it, please look at CASSANDRA-974. I suggest renaming "login" to "authenticate" and have it return Map<String,String> to make it future-proof for SASL authentication schemes, like DIGEST-MD5.

> Store AccessLevels externally to IAuthenticator
> -----------------------------------------------
>
>                 Key: CASSANDRA-1237
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1237
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>            Reporter: Stu Hood
>            Assignee: Stu Hood
>             Fix For: 0.7.0
>
>         Attachments: 0001-Consolidate-KSMetaData-mutations-into-copy-methods.patch, 0002-Thrift-and-Avro-interface-changes.patch, 0003-Add-user-and-group-access-maps-to-Keyspace-metadata.patch, 0004-Remove-AccessLevel-return-value-from-login-and-retur.patch, 0005-Move-per-thread-state-into-a-ClientState-object-1-pe.patch, sample-usage.patch
>
>
> Currently, the concept of authentication (proving the identity of a user) is mixed up with permissions (determining whether a user is able to create/read/write databases). Rather than determining the permissions that a user has, the IAuthenticator should only be capable of authenticating a user, and permissions (specifically, an AccessLevel) should be stored consistently by Cassandra.
> The primary goal of this ticket is to separate AccessLevels from IAuthenticators, and to persist a map of User->AccessLevel along with:
> * EDIT: Separating the addition of 'global scope' permissions into a separate ticket
> * each keyspace, where the AccessLevel continues to have its current meaning
> ----
> In separate tickets, we would like to improve the AccessLevel structure so that it can store role/permission bits independently, rather than being level based.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.