RBAC是kubernetes的一種認證訪問授權機制,通過設置–authorization-mode=RBAC開啟RBAC。RBAC的授權步驟分為兩步:1)定義角色:在定義角色時會指定此角色對于資源的訪問控制的規則;

2)綁定角色:將主體與角色進行綁定,對用戶進行訪問授權。
如下是官網的圖解:
role是權限的定義,在kubernetes中角色分為兩種一種是role針對特定的命名空間,一種是clusterrole在整個集群范圍內都生效。
例子如下:
kind: Role
apiVersion: rbac.authorization.k8s.io/v1
metadata:
namespace: default
name: pod-reader
rules:
- apiGroups: [""] # "" indicates the core API group
resources: ["pods"]
verbs: ["get", "watch", "list"]clusterrole 例子如下:
kind:ClusterRole
apiVersion:rbac.authorization.k8s.io/v1
metadata:
name:secret-reader
rules:
- apiGroups:[""]
resources:["secrets"] #明確資源類型
verbs:["get","watch","list"]三. serviceaccount
Service account是為了方便Pod里面的進程調用Kubernetes API或其他外部服務而設計的,可以簡單的理解為服務賬戶,一般RBAC的最普遍的使用都是使用serviceaccount,因為k8s默認的user資源是不在集群管理內的,而且使用方式過于繁瑣。serviceaccount可以簡單方便的實現認證和授權。
四. RoleBinding和clusterrolebinging
定義好了角色也就是一個權限的集合,然后創建了一個serviceaccount也就是一個服務賬號,然后將這兩個東西綁定起來,就是授權的過程了。
例子如下:
kind:RoleBinding
apiVersion:rbac.authorization.k8s.io/v1
metadata:
name:read-pods
namespace:default
subjects: #主體
- kind:ServiceAccount
name:jane
apiGroup:rbac.authorization.k8s.io
roleRef: #引用的角色
kind:Role
name:pod-reader
apiGroup:rbac.authorization.k8s.io集群角色綁定同上
kind:ClusterRoleBinding
apiVersion:rbac.authorization.k8s.io/v1
metadata:
name:read-secrets-global
subjects:
- kind:ServiceAccount
name:manager
apiGroup:rbac.authorization.k8s.io
roleRef:
kind:ClusterRole
name:secret-reader
apiGroup:rbac.authorization.k8s.io這樣就完成了一個完整的授權?。?!
另外有需要云服務器可以了解下創新互聯cdcxhl.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業上云的綜合解決方案,具有“安全穩定、簡單易用、服務可用性高、性價比高”等特點與優勢,專為企業上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。
當前題目:K8SRBAC詳解-創新互聯
當前地址:http://www.yijiale78.com/article44/dodeee.html
成都網站建設公司_創新互聯,為您提供域名注冊、Google、品牌網站制作、商城網站、標簽優化、響應式網站
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯