You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Sam Tunnicliffe (JIRA)" <ji...@apache.org> on 2015/01/21 09:44:35 UTC
[jira] [Commented] (CASSANDRA-8650) Creation and maintenance of
roles should not require superuser status
[ https://issues.apache.org/jira/browse/CASSANDRA-8650?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14285363#comment-14285363 ]
Sam Tunnicliffe commented on CASSANDRA-8650:
--------------------------------------------
Syntactically, this is similar to the way Oracle does things. There, creation/modification/deletion of roles are system privileges which are conferred using {{GRANT}} syntax.
http://docs.oracle.com/cd/E11882_01/server.112/e41084/statements_9013.htm#i2062318
http://docs.oracle.com/cd/E11882_01/network.112/e36292/authorization.htm#DBSEG004
In Postgres {{CREATEROLE}} is top level role attribute like {{SUPERUSER}} and {{LOGIN}}, which covers all role management functions:
{code}
CREATE ROLE foo NOSUPERUSER LOGIN CREATEROLE;
ALTER ROLE foo NOCREATEROLE;
{code}
http://www.postgresql.org/docs/9.4/static/role-attributes.html
We could certainly implement this alternative in Cassandra, either by adding another role attribute (and a corresponding method to IRoleManager) or by just adopting the syntax and having it work with permissions under the hood.
> Creation and maintenance of roles should not require superuser status
> ---------------------------------------------------------------------
>
> Key: CASSANDRA-8650
> URL: https://issues.apache.org/jira/browse/CASSANDRA-8650
> Project: Cassandra
> Issue Type: Improvement
> Components: Core
> Reporter: Sam Tunnicliffe
> Assignee: Sam Tunnicliffe
> Labels: cql, security
> Fix For: 3.0
>
> Attachments: 8650.txt
>
>
> Currently, only roles with superuser status are permitted to create/drop/grant/revoke roles, which violates the principal of least privilege. In addition, in order to run {{ALTER ROLE}} statements a user must log in directly as that role or else be a superuser. This requirement increases the (ab)use of superuser privileges, especially where roles are created without {{LOGIN}} privileges to model groups of permissions granted to individual db users. In this scenario, a superuser is always required if such roles are to be granted and modified.
> We should add more granular permissions to allow administration of roles without requiring superuser status.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)