设为首页 收藏本站
查看: 599|回复: 0

[经验分享] Cassandra用户管理

[复制链接]

尚未签到

发表于 2017-11-13 14:44:21 | 显示全部楼层 |阅读模式
Cassandra用role代替用户和用户组,默认创建的role没有login和super权限;
但是默认创建的user是有login的权限

(1)角色
#创建角色
cassandra@cqlsh:keyspace1> create role cdhu1;
cassandra@cqlsh:keyspace1> create role cdhu2 with password='147258' and login=true;
cassandra@cqlsh:keyspace1> create role cdhu3 with password='147258' and login=true and superuser=true;

#查看角色
cassandra@cqlsh:keyspace1> list roles;
role      | super | login | options
-----------+-------+-------+---------
cassandra |  True |  True |        {}
     cdhu1 | False | False |        {}
     cdhu2 | False |  True |        {}
     cdhu3 |  True |  True |        {}

cassandra@cqlsh:keyspace1> list roles of cdhu3;
role  | super | login | options
-------+-------+-------+---------
cdhu3 |  True |  True |        {}

#修改角色cdhu3的属性
cassandra@cqlsh:keyspace1> ALTER ROLE cdhu3 WITH PASSWORD = '147258' AND SUPERUSER = false;

#把角色cdhu3的权限赋予传递给角色cdhu2:
cassandra@cqlsh:keyspace1> grant cdhu3 to cdhu2;
cassandra@cqlsh:keyspace1> revoke cdhu3 from cdhu2;


(2)用户
cassandra@cqlsh:keyspace1> create user user1 with password '147258' superuser;
cassandra@cqlsh:keyspace1> create user user2 with password '147258' nosuperuser;
cassandra@cqlsh:keyspace1> list users;
name      | super
-----------+-------
cassandra |  True
     user1 |  True
     user2 | False

(3)权限

CREATE
ALTER
DROP
SELECT
MODIFY
AUTHORIZE
DESCRIBE
EXECUTE

#grant&revoke
cassandra@cqlsh:keyspace1> grant select on keyspace1.t1 to cdhu2;
cassandra@cqlsh:keyspace1> grant modify on keyspace keyspace1 to cdhu2;
cassandra@cqlsh:keyspace1> revoke select on kyepsace1.t1 from cdhu2

#查看角色或用户的权限
cassandra@cqlsh:keyspace1> list all permissions;
cassandra@cqlsh:keyspace1> list all permissions of cdhu2;
role  | username | resource             | permission
-------+----------+----------------------+------------
cdhu2 |    cdhu2 | <keyspace keyspace1> |     MODIFY
cdhu2 |    cdhu2 | <table keyspace1.t1> |     SELECT

cassandra@cqlsh:keyspace1> list all permissions on keyspace1.t1 of cdhu2;
role  | username | resource             | permission
-------+----------+----------------------+------------
cdhu2 |    cdhu2 | <keyspace keyspace1> |     MODIFY
cdhu2 |    cdhu2 | <table keyspace1.t1> |     SELECT



(4)登录设置
#修改配置文件
$ vim /usr/local/cassandra/conf /cassandra.yaml
authenticator: PasswordAuthenticator
authorizer: CassandraAuthorizer

#重启数据库会自动创建system_auto,并且生成三个表credentials,users,permissions
#停止cassandra服务
[tnuser@sht-sgmhadoopdn-02 bin]$ nodetool stopdaemon
Cassandra has shutdown.
error: Connection refused (Connection refused)
-- StackTrace --

[tnuser@sht-sgmhadoopdn-02 bin]$cassandra

#再次访问,没有用户和密码会报错:
[tnuser@sht-sgmhadoopdn-02 bin]$ cqlsh
Connection error: ('Unable to connect to any servers', {'127.0.0.1': AuthenticationFailed('Remote end requires authentication.',)})

#使用cassandra默认的用户名和密码cassandra/cassandra:
[tnuser@sht-sgmhadoopdn-02 bin]$ cqlsh -ucassandra -pcassandra
Connected to mycluster at 127.0.0.1:9042.
[cqlsh 5.0.1 | Cassandra 2.1.18 | CQL spec 3.2.1 | Native protocol v3]
Use HELP for help.

#修改密码
cassandra@cqlsh> alter user cassandra with password '147258';
cassandra@cqlsh> quit

cassandra@cqlsh:system_auth> desc tables;
credentials  users  permissions


cassandra@cqlsh:system_auth> select * from credentials;
username  | options | salted_hash
-----------+---------+--------------------------------------------------------------
cassandra |    null | $2a$10$SqGQtA8PLhBwoWLBBDQgN.oAiQGD3MrnU0Jeln7QZRJj8g1jIJ3n6

cassandra@cqlsh:system_auth> select * from users ;
name      | super
-----------+-------
cassandra |  True


#配置无密码登录Cassandra:
[tnuser@sht-sgmhadoopdn-02 ~]$ vim ~/.cassandra/sqlshrc
[authentication]
username = cassandra
password = 147258

cassandra@cqlsh> list users;
name      | super
-----------+-------
cassandra |  True

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-407040-1-1.html 上篇帖子: linux下自动部署DNS脚本 下篇帖子: linux sed命令详解
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表