全部產品
Search
文件中心

Container Compute Service:自訂Kubernetes授權策略

更新時間:Dec 11, 2024

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

權限原則說明

您可自行編寫入權限策略,或通過容器計算服務控制台建立自訂策略。

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. 登入容器計算服務控制台,在左側導覽列選擇叢集

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

  3. 角色頁面,單擊Cluster Role頁簽,然後單擊建立

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

    此步驟以叢集維度的YAML為例,建立完成後,您可以在Cluster Role頁簽查看自訂許可權test-clusterrole。

後續步驟

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

重要

當前容器計算服務授權管理僅支援自訂ClusterRole角色與叢集內RBAC許可權的綁定,不支援自訂Role角色與叢集內RBAC許可權的綁定。