ZK的節點有5種操作權限:
CREATE、READ、WRITE、DELETE、ADMIN 也就是 增、刪、改、查、管理權限,這5種權限簡寫為crwda(即:每個單詞的首字符縮寫)
注:這5種權限中,delete是指對子節點的刪除權限,其它4種權限指對自身節點的操作權限
身份的認證有4種方式:
world:默認方式,相當於全世界都能訪問
auth:代表已經認證通過的用戶(cli中可以通過addauth digest user:pwd 來添加當前上下文中的授權用戶)
digest:即用戶名:密碼這種方式認證,這也是業務系統中最常用的
ip:使用Ip地址認證
一、設置訪問控制:
方式一:(推薦)
1)增加一個認證用戶
addauth digest 用戶名:密碼明文
eg. addauth digest user1:password1
2)設置權限
setAcl /path auth:用戶名:密碼明文:權限
eg. setAcl /test auth:user1:password1:cdrwa
3)查看Acl設置
getAcl /path
方式二:
setAcl /path digest:用戶名:密碼密文:權限
注:這里的加密規則是SHA1加密,然后base64編碼。
二、zookeeper創建ip白名單
(1)設置IP白名單,格式:setAcl 路徑 ip:xxx.xxx.xxx.xx1:cdrwa,ip:xxx.xxx.xxx.xx2:cdrwa
例如:setAcl /zkaa ip:127.0.0.1:cdrwa,ip:10.111.134.6:cdrwa
重點說明:在設置IP白名單時,將本機ip 127.0.0.1也加上,讓本機也可以訪問及修改,否則到時本機服務器都無法進行查看及修改,到時會很麻煩
(2)怎么取消ACL權限(當前連接IP有權限的情況下,如本機127.0.0.1),格式:setAcl 路徑 world:anyone:cdrwa
例如:setAcl /zkee world:anyone:cdrwa
可以添加-R選項,表示遞歸操作