溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

kubernetes中如何實(shí)現(xiàn)RBAC 角色訪問(wèn)控制

發(fā)布時(shí)間:2021-12-24 16:07:09 來(lái)源:億速云 閱讀:108 作者:小新 欄目:大數(shù)據(jù)

小編給大家分享一下kubernetes中如何實(shí)現(xiàn)RBAC 角色訪問(wèn)控制,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!

一:RBAC體系結(jié)構(gòu)
kubernetes中如何實(shí)現(xiàn)RBAC 角色訪問(wèn)控制
二:RBAC角色綁定流程
kubernetes中如何實(shí)現(xiàn)RBAC 角色訪問(wèn)控制
三:說(shuō)明
1.RBAC的優(yōu)勢(shì)
a.對(duì)集群中的資源和非資源權(quán)限均有完整覆蓋
b.RBAC由API對(duì)象完成,可以用Kubectl或API進(jìn)行操作
c.可以在允許時(shí)進(jìn)行調(diào)整,無(wú)須重新啟動(dòng)API Server

2.Role
一個(gè)角色就是一組權(quán)限的集合,在一個(gè)命名空間中,可以使用Role定義一個(gè)角色,如果是集群級(jí)別的可以使用ClusterRole.

3.ClusterRole
除了和Role一樣具有命名空間內(nèi)資源的管理能力,還可以用于特殊元素的授權(quán)。如:
a.集群范圍的資源,node等
b.非資源型的路徑,如“/healthz”
c.涵蓋全部命名空間的資源

4.RoleBinding和ClusterRoleBinding
兩者用于把一個(gè)角色綁定到一個(gè)目標(biāo)上,如User,Group或Service Account. RoleBinding可以引用Role和ClusterRole, ClusterRoleBinding僅可以引用ClusterRole.

5.對(duì)資源的引用方式
a.使用“/”來(lái)分隔資源和下級(jí)資源  如:resources: ["pods", "pods/log"]
b.通過(guò)名字進(jìn)行引用   如:resourceNames: ["my-configmap"]

6.常用角色示
a.運(yùn)行讀取核心API組中的POD資源

點(diǎn)擊(此處)折疊或打開

  1. rules:

  2. - apiGroups: [""]

  3.   resources: ["pods"]

  4.   verbs: ["get", "list", "watch"]

b.運(yùn)行讀寫“extensions”和"apps"兩個(gè)API組中的deployment資源

點(diǎn)擊(此處)折疊或打開

  1. rules:

  2. - apiGroups: ["extensions", "apps"]

  3.   resources: ["deployments"]

  4.   verbs: ["get", "list", "watch", "create", "update", "patch", "delete"]

7.常用角色綁定示例
a.綁定Kube-system命名空間中默認(rèn)的service-account

點(diǎn)擊(此處)折疊或打開

  1. subjects:

  2. - kind: ServiceAccount

  3.   name: default

  4.   namespace: kube-system

b.qa命名空間中的所有service account

點(diǎn)擊(此處)折疊或打開

  1. subjects:

  2. - kind: Group

  3.   name: system:serviceaccounts:qa

  4.   apiGroup: rbac.authorization.k8s.io

c.所有認(rèn)證用戶

點(diǎn)擊(此處)折疊或打開

  1. subjects:

  2. - kind: Group

  3.   name: system:authenticated

  4.   apiGroup: rbac.authorization.k8s.io

8.對(duì)Service Account的授權(quán)管理
kube-system之外的service account 是沒有任何權(quán)限的,這就需要用戶為service account賦予所需的權(quán)限。如:

點(diǎn)擊(此處)折疊或打開

  1. kubectl create rolebinding default-view \

  2.   --clusterrole=view \

  3.   --serviceaccount=my-namespace:default \

  4.   --namespace=my-namespace

看完了這篇文章,相信你對(duì)“kubernetes中如何實(shí)現(xiàn)RBAC 角色訪問(wèn)控制”有了一定的了解,如果想了解更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI