Cassandra 之旅 (三) 权限管理之内部权限管理
权限管理
- 内部权限管理:使用帐号与密码登录
- 对象权限管理:基于GRANT/REVOKE范例
- 客户端到节点的访问权限管理:使用SSL
内部权限管理
- 配置内部权限管理
1. 修改cassandra.yaml中authentication相关的两个配置节点,分别修改为
authenticator: org.apache.cassandra.auth.PasswordAuthenticator
authorizer:org.apache.cassandra.auth.CassandraAuthorizer
2. 配置dse_auth keyspace的replication: 你需要配置dse_auth keyspace的replication factor来预防一个潜在的登录问题。不要使用默认的replication factor: 1,如果你配置使用了如下权限设置:
authenticator: com.datastax.bdp.cassandra.auth.KerberosAuthenticator
authenticator: com.datastax.bdp.cassandra.auth.PasswordAuthenticator
authorizer: com.datastax.bdp.cassandra.auth.CassandraAuthorizer
在一个多节点的集群中,使用默认值1会阻止用户登录当存储用户数据的节点DOWN了的话。所以与dse_auth相关的Query,cassandra都是使用QUORUM的一致性级别的。
修改步骤如下:
1. 打开cassandra.yaml
2. 修改auth_replication_options 节点,如:
Example for SimpleStrategy:
auth_replication_options:
replication_factor: 3
Example for NetworkTopologyStrategy:
auth_replication_options:
DC1: 3
DC2: 3
3. 如果修改已经存在的集群要注意以下几点:确保每个节点中的配置文件都有修改,重启所有节点,在每个节点上运行nodetool repair
NOTE:
Cassandra: dse_auth.users
PasswordAuthenticator: hashed passwords 存于 dse_auth.credentials
CassandraAuthorizer: 权限存于dse_auth.permissions
-
使用Authentication
当你完成以上的权限相关配置后就不能使用空的用户名与密码使用CQLSH或者CASSSANDRA-CLI了。可以先使用超级用户来登录 :<客户端启动命令> -u cassandra -p cassandra.
这里要注意的是,你需要用HELP命令查看一下确实的命令使用方式,官方文档虽然说是-u -p, 但实际上我使用下来是-u -pw, -p是-port。因为cassandra版本在不段的更新中,每次更新你都应该去看一下安装目录里的NEWS,看一下有哪些变动。
-u cassandra -pw cassandra 是默认的超级管理员。
- 更改超级用户的密码
1. 创建一个新的超级用户,用户名不能再是cassandra
2. 登录这个超级用户
3. 更新cassandra用户的密码,并不要再使用这个帐户了
4. 取消掉cassandra用户超级管理员的角色
- 权限相关命令: 配置好之后,就可以使用相关命令来使用权限管理
posted on 2013-04-30 09:43 Lewis.Zou 阅读(1896) 评论(0) 编辑 收藏 举报
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?