Zookeeper 許可權控制 ACL介紹

2021-10-10 05:00:17 字數 1719 閱讀 9762

zookeeper 的 acl(access control list,訪問控制表)許可權在生產環境是特別重要的。acl 許可權可以針對節點設定相關讀寫等許可權,保障資料安全性。permissions 可以指定不同的許可權範圍及角色。

acl 命令列

getacl 命令:獲取某個節點的 acl 許可權資訊。

setacl 命令:設定某個節點的 acl 許可權資訊。

addauth 命令:輸入認證授權資訊,註冊時輸入明文密碼,加密形式儲存。

acl 構成

zookeeper 的 acl 通過 [scheme:id:permissions] 來構成許可權列表。

scheme:代表採用的某種許可權機制,包括 world、auth、digest、ip、super 幾種。

id:代表允許訪問的使用者。

permissions:許可權組合字串,由 cdrwa 組成,其中每個字母代表支援不同許可權, 建立許可權 create(c)、刪除許可權 delete(d)、讀許可權 read(r)、寫許可權 write(w)、管理許可權admin(a)。

world 例項

檢視預設節點許可權,再更新節點 permissions 許可權部分為 crwa,結果刪除節點失敗。其中 world 代表開放式許可權。

$ getacl /runoob/child

$ setacl /runoob/child world:anyone:crwa

$ delete /runoob/child

auth 例項auth 用於授予許可權,注意需要先建立使用者。

digest 例項退出當前使用者,重新連線終端,digest 可用於賬號密碼登入和驗證。。

$ ls /runoob

$ create /runoob/child01 runoob

$ getacl /runoob/child01

$ setacl /runoob/child01 digest:user1:hyga7izrm2pubfiffu8xy2ppp/s=:cdra

$ getacl /runoob/child01

$ addauth digest user1:123456

$ getacl /runoob/child01

ip 例項限制 ip 位址的訪問許可權,把許可權設定給 ip 位址為 192.168.3.7 後,ip 為 192.168.3.38 已經沒有訪問許可權。

$ create /runoob/ip 0

$ getacl /runoob/ip

$ setacl /runoob/ip ip:192.168.3.7:cdrwa

$ get /runoob/ip

ZooKeeper許可權控制

目前在公司內部使用zookeeper的地方越來越多,應用大多喜歡自己部署一套zk集群來使用。考慮到zk的高可用,並且一套zk集群至少3臺機器,那麼每個應用,尤其是一些非核心應用都自己去部署一套的話,對資源利用率很低。另外,隨著zk容災的提出,單套zk集群使用的機器量會更大,運維人員開始 對這個情況擔...

Zookeeper 許可權控制

1.acl access control lists 針對節點設定相關讀寫等許可權,目的為了保障資料的安全性。許可權permissions可以指定不同的許可權範圍以及角色。2.acl命令列 getacl 獲取某個節點的acl許可權資訊。setacl 設定某個節點的acl許可權資訊。addauth 輸...

zookeeper之許可權控制 ACL

1.許可權控制 zookeeper集群中,通常是由乙個統一的zookeeper集群來為若干個應用提供服務。而此時,各應用之間不存在資料的共享操作場景。因此為了避免zookeeper伺服器上的資料資源被其他程序意外操作修改,需要解決不同應用之間的許可權問題 即對zookeeper伺服器上的資料訪問進行...