官網:http://zookeeper.apache.org/doc/r3.4.6/zookeeperProgrammers.html#sc_ZooKeeperAccessControl
項目中不同的服務節點接入同一個zookeeper時,考慮到安全問題,可以通過ACL來解決
身份的認證有4種方式(scheme):
world:默認方式,相當於全世界都能訪問
auth:代表已經認證通過的用戶(cli中可以通過addauth digest user:pwd 來添加當前上下文中的授權用戶)
digest:即用戶名:密碼這種方式認證,這也是業務系統中最常用的
ip:使用Ip地址認證
ZK的節點有5種操作權限(permissions):
CREATE、READ、WRITE、DELETE、ADMIN 也就是 增、刪、改、查、管理權限,這5種權限簡寫為crwda
默認是 world,anyone的認證方式,具有cdrwa所有權限
1、創建\查看節點
ls /
2、設置ACL訪問權限
setAcl /test auth:cjh:123456:r
直接get /test會提示權限不足
3、設置上下文認證用戶
addauth digest cjh:123456
重新訪問正常
刪除節點
delete /test
根目錄操作注意點
addauth digest zookeeper:zookeeper
最后因為在acl中節點是沒有繼承關系的,只能放棄這種方式,改成用防火牆方式做安全控制
轉載請注明博客出處:http://www.cnblogs.com/cjh-notes/