基于角色的认证
业务集群通过执行以下步骤配置开启基于角色的认证,配置步骤如下:
修改 cassandra.yaml
文件的授权选项:authenticator =》具体值修改为 PasswordAuthenticator,这个选项强制要求访问集群时需要角色的名字和密码。
重启数据库。
更改system_auth键空间复制因子:
高危默认值:默认情况下,这个角色授权表只会存在一个文件,它没有副本,而且存储着角色和权限.
解决办法:
我通过修改 system_auth 表的 REPLICATION 字段的值增加副本数量。
1:登录 cqlsh。
2:授权系统 keyspace system_auth 存储角色。
配置命令参考:
ALTER KEYSPACE system_auth
WITH REPLICATION= {'class' : 'NetworkTopologyStrategy',
'data_center_name' : N,
'data_center_name' : N};
实际配置案例:
我的集群只有 dc1 ,配置DC1 \ 3副本,
ALTER KEYSPACE system_auth
WITH REPLICATION= {'class' : 'NetworkTopologyStrategy',
'dc1' : 3};
运行nodetool修复。
nodetool repair --full system_auth
参考文档:
https://docs.datastax.com/en/security/5.1/security/secSystemKeyspace.html https://www.ibm.com/developerworks/cn/opensource/os-cn-apache-cassandra3x5/index.html