全部產品
Search
文件中心

Container Service for Kubernetes:自訂Kubernetes授權策略

更新時間:Jun 19, 2024

角色存取控制RBAC(Role-Based Access Control)的Kubernetes對象Role和ClusterRole中包含一組代表相關許可權的規則。Role總是用來在某個命名空間內設定存取權限,而ClusterRole是為叢集範圍的資源定義存取權限。本文介紹如何自行編寫Kubernetes的ClusterRole和Role。

權限原則說明

您可自行編寫入權限策略,或通過Container Service管理主控台建立自訂策略。

Role:命名空間維度

如果您需要在命名空間內定義角色,則應該使用Role。

下方是一個位於default命名空間的Role的YAML樣本,用來授予對Pods的所有許可權。

apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
  name: test-role
  namespace: default
rules:
- apiGroups:
  - ""
  resources:
  - pods
  verbs:
  - create
  - delete
  - deletecollection
  - get
  - list
  - patch
  - update
  - watch

ClusterRole:叢集維度

如果您需要定義叢集範圍的角色,則應該使用ClusterRole。

下方是一個ClusterRole的樣本,用來為任一特定命名空間中的Pods授予所有許可權。

apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  name: test-clusterrole
rules:
- apiGroups:
  - ""
  resources:
  - pods
  verbs:
  - create
  - delete
  - deletecollection
  - get
  - list
  - patch
  - update
  - watch

關於Role和ClusterRole的更多資訊,請參見Role和ClusterRole

建立Kubernetes自訂授權策略

說明

該步驟以為RAM使用者或RAM角色建立自訂ClusterRole為例,與建立Role的步驟基本一致,您可結合實際需求進行操作。

  1. 登入Container Service管理主控台,在左側導覽列選擇叢集

  2. 叢集列表頁面,單擊目的地組群名稱,然後在左側導覽列,選擇安全管理 > 角色

  3. 角色頁面,單擊Cluster Role頁簽。

  4. Cluster Role頁簽,單擊建立

  5. 建立YAML面板輸入自訂策略的YAML內容,單擊確定即可建立ClusterRole。

    此步驟以權限原則說明ClusterRole:叢集維度的YAML為例,建立完成後,可在Cluster Role頁簽查看自訂許可權test-clusterrole

後續步驟

關於如何授予RAM使用者或RAM角色自訂Kubernetes授權策略,請參見配置RAM使用者或RAM角色RBAC許可權

重要

當前Container Service Kubernetes 版授權管理僅支援自訂ClusterRole角色與叢集內RBAC許可權的綁定,不支援自訂Role角色與叢集內RBAC許可權的綁定。