etcd权限控制
ETCD權限控制有兩個概念,一個是用戶user,另一個是角色role。用戶可以綁定多個角色,
而每個角色對應著多組權限控制,權限包括 讀、寫、讀寫。這樣理解(角色就是包含多個路徑權限對兒):role1 /x/a read/x/b write...role2 /x/c writerole3 /x/* readwrite
user 可以隨意綁定role,一但綁定了,就說明可以擁有某些路徑的某些權限了。 ETCD(3.4.0)默認是上帝視角,并且沒有任何用戶和任何角色[沒有root]創建root用戶(這個比較特別,創建后root用戶會自動掛載到root角色上)
etcdctl user add root創建非root用戶(默認沒有角色,沒有任何權限)
etcdctl user add usersongzijian獲取用戶列表
etcdctl user list創建角色
etcdctl role add rolesongzijian
獲取角色列表
etcdctl role list
給角色添加權限
etcdctl role grant-permission rolesongzijian readwrite /x
etcdctl role grant-permission rolesongzijian read /x/*
查看某個角色的權限
etcdctl role get rolesongzijian把用戶加入到一個角色里
etcdctl user grant-role usersongzijian rolesongzijian開啟權限認證(之后很多敏感操作都必須全局帶著user和password)
etcdctl auth enable
比如隨便寫一條數據
etcdctl --user="root" --password="123456" put k 'v'
這里可以通過自己設置一些權限,然后自己測試感受下。這里不舉例子。關閉權限認證
etcdctl --user="root" --password="123456" auth disable
?
總結