首页 > 学院 > 开发设计 > 正文

cassandra实战---认证和授权

2019-11-08 20:42:02
字体:
来源:转载
供稿:网友

修改conf目录下cassandra.yaml文件

1.将authenticator修改为PassWordAuthenticator ,决定是否继续用户登录

    将authorizer修改为CassandraAuthorizer,通过授权决定登录之后用户具有哪些权限

重新启动cassandra并且根据默认用户登录cqlsh,用户名密码都是cassandra

2. ./cqlsh –u cassandra –p cassandra

如果要修改默认用户,进入cqlsh后,一般都是创建一个新的超级用户,然后删除默认的cassandra用户,或者将其用户类型修改为NOSUPERUSER

CREATE USER test WITH PASSWORD '123456' SUPERUSER; //创建一个超级用户

CREATE USER test1 WITH PASSWORD '123456' NOSUPERUSER; //创建一个普通用户

ALTER USER test WITH PASSWORD '654321' ( NOSUPERUSER |SUPERUSER ); //修改用户

DROP USER cassandra; //删除默认用户

LIST USERS; //显示所有用户和用户类型

3.创建一个新的超级用户作为管理员,然后就可以创建普通用户,通过授权使其只具有操作某一keyspace或者table的权限,对象权限管理基于内部授权,与关系型数据库GRANT/REVOKE语法类似,通过设置permissions_validity_in_ms选项调整权限有效期,授权语句如下:

GRANTpermission_name ON resource TO user_name //增加某一权限

REVOKEpermission_name ON resource FROM user_name//删掉某一权限

LISTpermission_nameON resource OF user_name

其中permission_name为如下,你可以赋予某几个权限,也可以赋予ALL

ALL,ALTER,AUTHORIZE,CREATE,DROP, MODIFY,SELECT

resource为

ALL KEYSPACES

KEYSPACE keyspace_name

TABLE keyspace_name.table_name

授权完毕之后,可以通过system_auth中的role_permissions表来查询用户的权限,如果所建立的普通用户只能操作特定的keyspace,这个时候就需要使用

管理员账号来登陆。


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表