[Cassandra] Cassandra 设置用户权限,cassandra用户权限
1. 创建用户账号
# 创建非超级用户
cassandra@cqlsh> CREATE USER user1 WITH PASSWORD 'password1' NOSUPERUSER;
# 创建超级用户
cassandra@cqlsh> CREATE USER user2 WITH PASSWORD 'password2' SUPERUSER;
# 查看所有用户
cassandra@cqlsh> LIST USERS;
name | super
-------------+-------
cassandra | True
user1 | False
user2 | True
(11 rows)
cassandra@cqlsh> 注意:
只有SUPERUSER可以创建用户,创建的用户默认为NOSUPERUSER;
只有SUPERUSER可以删除用户,任何用户不能删除自己。
2. 账号授权
- 授权:
GRANT permission_name PERMISSION ON resource TO user_name;
GRANT ALL PERMISSIONS ON resource TO user_name;
- 收回权限:
REVOKE permission_name PERMISSION ON resource FROM user_name;
REVOKE ALL PERMISSIONS ON resource FROM user_name;
- 查看权限:
LIST permission_name PERMISSION ON resource OF user_name NORECURSIVE;
LIST ALL PERMISSIONS ON resource OF user_name NORECURSIVE;
其中,
permission_name为: ALL/ALTER/AUTHORIZE/CREATE/DROP/MODIFY/SELECT
resource为:ALL KEYSPACES/KEYSPACE keyspace_name/TABLE keyspace_name.table_name
# 给用户user1授予KEYSPACE test的所有权限
cassandra@cqlsh> GRANT ALL PERMISSIONS ON KEYSPACE test TO user1;
# 查看已授权情况
cassandra@cqlsh> LIST ALL PERMISSIONS ON KEYSPACE test OF user1;
role | username | resource | permission
-------+----------+-----------------+------------
user1 | user1 | <keyspace test> | CREATE
user1 | user1 | <keyspace test> | ALTER
user1 | user1 | <keyspace test> | DROP
user1 | user1 | <keyspace test> | SELECT
user1 | user1 | <keyspace test> | MODIFY
user1 | user1 | <keyspace test> | AUTHORIZE
(6 rows)
cassandra@cqlsh>
# 取消user1对test的CREATE权限
cassandra@cqlsh> REVOKE CREATE PERMISSION ON KEYSPACE test FROM user1;
cassandra@cqlsh>
# 再次查看,user1对test已经没有CREATE权限了
cassandra@cqlsh> LIST ALL PERMISSIONS ON KEYSPACE test OF user1;
role | username | resource | permission
-------+----------+-----------------+------------
user1 | user1 | <keyspace test> | ALTER
user1 | user1 | <keyspace test> | DROP
user1 | user1 | <keyspace test> | SELECT
user1 | user1 | <keyspace test> | MODIFY
user1 | user1 | <keyspace test> | AUTHORIZE
(5 rows)
cassandra@cqlsh>
3. 删除用户账号
cassandra@cqlsh> DROP USER user1;
cassandra@cqlsh> DROP USER user2;
本站文章为和通数据库网友分享或者投稿,欢迎任何形式的转载,但请务必注明出处.
同时文章内容如有侵犯了您的权益,请联系QQ:970679559,我们会在尽快处理。