ZooKeeper設定ACL許可權控制
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編碼。
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編碼。