商业网站建设规划范文,梵克雅宝官网编号查询,51外链代发网,wordpress开源企业主题文章目录 1. zk的鉴权设计2. zk鉴权应用范围3. zk鉴权的常用方法4. 推荐配置5. 参考文档 鉴权#xff0c;分别由鉴和权组成
鉴#xff1a; 表示身份认证#xff0c;认证相关用户是否存在以及相关的用户名和密码是否一致权#xff1a; 完成身份的鉴后#xff0c;还需要判断… 文章目录 1. zk的鉴权设计2. zk鉴权应用范围3. zk鉴权的常用方法4. 推荐配置5. 参考文档 鉴权分别由鉴和权组成
鉴 表示身份认证认证相关用户是否存在以及相关的用户名和密码是否一致权 完成身份的鉴后还需要判断用户是否有相关操作的权限。
因此对于某一个用户来说通常情况下需要完成鉴和权才能够满足一个完整的业务场景因此通常将鉴权放在一起考量。本文探讨zk的鉴权常用的鉴权方式以及相关鉴权设计方式。 1. zk的鉴权设计
鉴 身份认证
身份的认证有4种方式
world默认方式相当于全世界都能访问auth代表已经认证通过的用户(cli中可以通过addauth digest user:pwd 来添加当前上下文中的授权用户)digest即用户名:密码这种方式认证这也是业务系统中最常用的ip使用Ip地址认证。
权 操作权限 5种操作权限 CREATE、READ、WRITE、DELETE、ADMIN 也就是 增、删、改、查、管理权限这5种权限简写为crwda(即每个单词的首字符缩写) 注这5种权限中delete是指对子节点的删除权限其它4种权限指对自身节点的操作权限。
2. zk鉴权应用范围
zk的数据模型呈现树形类似linux的文件目录系统。
zk的鉴权作用范围是针对节点子节点没有影响如针对/kafka设置了鉴权但是/kafka的子目录/kafka/brokers无影响除非针对子目录单独设置了鉴权。
3. zk鉴权的常用方法
给目录创建权限的操作如下
增加一个认证用户 addauth digest 用户名:密码明文
# 当前会话进行身份认证
addauth digest user1:password1设置权限
setAcl /path auth:用户名:密码明文:权限
setAcl /test auth:user1:password1:cdrwa查看Acl设置
getAcl /path
getAcl /test客户端登录后不认证用户无法查看
ls /path
ls /test5. 客户端登录后认证用户可以根据权限进行相关操作 addauth digest 用户名:密码明文
# 当前会话进行身份认证
addauth digest user1:password1客户端重新登录后查看子目录不影响 addauth digest 用户名:密码明文
ls /test
ls /test/test14. 推荐配置
为了方便管理业务方会根据需要进行鉴权设置但是由于一些监控指标等需要因此通常需要设置一个管理员权限能够便于运维和监控的需求。相关的设置方法如下。
设置需要配置的用户名和密码本文以super:super123为例
# 设置zk的classpath相关路径根据实际情况调整
export ZK_CLASSPATH/usr/local/apache-zookeeper-3.6.4-bin/conf/:/usr/local/apache-zookeeper-3.6.4-bin/lib/*# 获取用户名和加密密码
java -cp $ZK_CLASSPATH org.apache.zookeeper.server.auth.DigestAuthenticationProvider super:super123
# 获取
super:super123-super:UdxDQl4f9v5oITwcAsO9bmWgHSI2. 配置超级用户和密码
vim zoo.cfg# 配置
DigestAuthenticationProvider.superDigestsuper:UdxDQl4f9v5oITwcAsO9bmWgHSI重启zk集群
./zkServer.sh restart登录zk集群并认证super用户
# 当前会话进行认证
addauth digest super:super123# 查看目录验证是否有权限
ls /test5. 至此超级用户权限添加完成使用的账号和密码可以根据情况进行调整
5. 参考文档
Zookeeper - Super User Authentication and AuthorizationZooKeeper Administrator’s Guide