您好,登錄后才能下訂單哦!
小編給大家分享一下kubernetes中如何實現RBAC 角色訪問控制,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!
一:RBAC體系結構
二:RBAC角色綁定流程
三:說明
1.RBAC的優勢
a.對集群中的資源和非資源權限均有完整覆蓋
b.RBAC由API對象完成,可以用Kubectl或API進行操作
c.可以在允許時進行調整,無須重新啟動API Server
2.Role
一個角色就是一組權限的集合,在一個命名空間中,可以使用Role定義一個角色,如果是集群級別的可以使用ClusterRole.
3.ClusterRole
除了和Role一樣具有命名空間內資源的管理能力,還可以用于特殊元素的授權。如:
a.集群范圍的資源,node等
b.非資源型的路徑,如“/healthz”
c.涵蓋全部命名空間的資源
4.RoleBinding和ClusterRoleBinding
兩者用于把一個角色綁定到一個目標上,如User,Group或Service Account. RoleBinding可以引用Role和ClusterRole, ClusterRoleBinding僅可以引用ClusterRole.
5.對資源的引用方式
a.使用“/”來分隔資源和下級資源 如:resources: ["pods", "pods/log"]
b.通過名字進行引用 如:resourceNames: ["my-configmap"]
6.常用角色示例
a.運行讀取核心API組中的POD資源
點擊(此處)折疊或打開
rules:
- apiGroups: [""]
resources: ["pods"]
verbs: ["get", "list", "watch"]
b.運行讀寫“extensions”和"apps"兩個API組中的deployment資源
點擊(此處)折疊或打開
rules:
- apiGroups: ["extensions", "apps"]
resources: ["deployments"]
verbs: ["get", "list", "watch", "create", "update", "patch", "delete"]
7.常用角色綁定示例
a.綁定Kube-system命名空間中默認的service-account
點擊(此處)折疊或打開
subjects:
- kind: ServiceAccount
name: default
namespace: kube-system
b.qa命名空間中的所有service account
點擊(此處)折疊或打開
subjects:
- kind: Group
name: system:serviceaccounts:qa
apiGroup: rbac.authorization.k8s.io
c.所有認證用戶
點擊(此處)折疊或打開
subjects:
- kind: Group
name: system:authenticated
apiGroup: rbac.authorization.k8s.io
8.對Service Account的授權管理
kube-system之外的service account 是沒有任何權限的,這就需要用戶為service account賦予所需的權限。如:
點擊(此處)折疊或打開
kubectl create rolebinding default-view \
--clusterrole=view \
--serviceaccount=my-namespace:default \
--namespace=my-namespace
看完了這篇文章,相信你對“kubernetes中如何實現RBAC 角色訪問控制”有了一定的了解,如果想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。