全部產品
Search
文件中心

Container Service for Kubernetes:如何配置RAM使用者的RBAC許可權

更新時間:Jun 19, 2024

RAM系統策略僅控制ACK One叢集資源的操作許可權(例如建立執行個體、查看執行個體列表等),若RAM使用者或RAM角色需要操作指定叢集內的K8s資源,例如,建立GitOps Application和Argo Workflow等,還需要擷取指定ACK One叢集及其命名空間的操作許可權即RBAC許可權。本文為您介紹如何為RAM使用者或RAM角色授予RBAC許可權。

注意事項

您需要使用阿里雲(主帳號)、叢集建立者或已具有叢集管理員權限的RAM使用者,為指定的RAM使用者或RAM角色授權,普通RAM使用者無授權操作的許可權。

前提條件

ACK One支援的RBAC許可權

多叢集艦隊RBAC許可權

RBAC許可權

RBAC許可權

admin(管理員)

具有叢集範圍和所有命名空間下資源的讀寫權限。

dev(開發人員)

具有所選命名空間下的資源讀寫權限。

gitops-dev(GitOps開發人員)

具有argocd命名空間下應用資源的讀寫權限。

展開查看叢集及命名空間資源清單

  • 叢集範圍資源清單

    Kind

    apiVersion

    Namespace

    v1

    Managedcluster

    cluster.open-cluster-management.io

    MseIngressConfig

    mse.alibabacloud.com/v1alpha1

    IngressClass

    networking.k8s.io/v1

  • 命名空間下資源清單

    Kind

    apiVersion

    Deployment

    apps/v1

    Service

    v1

    Ingress

    networking.k8s.io/v1

    ConfigMap

    v1

    Secret

    v1

    StatefulSet

    apps/v1

    PersistentVolumeClaim

    v1

    ServiceExport 

    multicluster.x-k8s.io/v1alpha1

    ServiceImport 

    multicluster.x-k8s.io/v1alpha1

    HorizontalPodAutoscaler

    autoscaling/v1

    Application

    ApplicationSet

    Appproject

    argoproj.io

    Workflow

    argoproj.io

    Application

    core.oam.dev

  • argocd命名空間下應用資源

    Kind

    apiVersion

    Application

    argoproj.io

工作流程叢集RBAC許可權

RBAC許可權

RBAC許可權

admin(管理員)

具有叢集範圍和所有命名空間下資源的讀寫權限。

dev(開發人員)

具有所選命名空間下的資源讀寫權限。

展開查看叢集及命名空間資源清單

  • 叢集範圍資源清單

    Kind

    apiVersion

    Namespace

    v1

    PersistentVolumes

    v1

    ImageCaches

    eci.alibabacloud.com

  • 命名空間下資源清單

    Kind

    apiVersion

    ConfigMap

    v1

    Secret

    v1

    ServiceAccount

    v1

    PersistentVolumeClaim

    v1

    Pod

    v1

    Workflow

    WorkflowTemplate

    CronWorkflow

    argoproj.io

    EventSource

    EventBus

    Sensor

    argoproj.io

註冊叢集RBAC許可權

請參見註冊叢集預置角色許可權

為RAM使用者或RAM角色授予艦隊的RBAC許可權

通過控制台授權

  1. 登入ACK One控制台

  2. 在左側導覽列選擇艦隊 > 許可權管理

  3. 許可權管理頁面選擇艦隊頁簽,然後選擇RAM 使用者頁簽。

  4. 在RAM使用者列表中找到要授權的RAM使用者,然後在其操作列單擊管理授權

  5. 在彈出的操作框中選擇授權角色命名空間,然後單擊確定

通過CLI授權

授予Fleet執行個體管理員admin許可權

aliyun adcp GrantUserPermission --UserId 1159648454****** --ClusterId c6caf48c192f7476****** --RoleType cluster --RoleName admin

授予Fleet執行個體命名空間dev許可權

aliyun adcp GrantUserPermission --UserId 1159648454****** --ClusterId c6caf48c192f7476****** --RoleType namespace --Namespace default --RoleName dev

授予Fleet執行個體argocd命名空間gitops-dev許可權

aliyun adcp GrantUserPermission --UserId 1159648454****** --ClusterId c6caf48c192f7476****** --RoleType namespace --Namespace argocd --RoleName gitops-dev

展開查看入參說明

欄位

類型

是否必選

備忘

UserId

string

RAM使用者ID。

ClusterId

string

授權目標Fleet執行個體ID。

RoleType

string

授與類型,取值:

  • cluster:Fleet執行個體維度。

  • namespace:命名空間維度。

    說明
    • admin許可權的授與類型必須為clusterFleet執行個體維度,不可以為命名空間維度。

    • dev和gitops-dev許可權的授與類型必須為namespace命名空間維度,不可以為Fleet執行個體維度。

RoleName

string

預置的角色名稱,取值:

  • admin:管理員。

  • dev:開發人員。

  • gitops-dev:GitOps開發人員。

Namespace

string

命名空間名稱。

說明
  • 授權維度為命名空間維度時必須填寫。

  • 授權維度為命名空間且角色類型為GitOps開發人員時,命名空間名稱必須指定為argocd

  • 授權維度為Fleet執行個體時無需填寫。

為RAM使用者或RAM角色授予工作流程叢集的RBAC許可權

通過CLI授權

授予工作流程叢集管理員admin許可權

aliyun adcp GrantUserPermission --UserId 1159648454****** --ClusterId c6caf48c192f7476****** --RoleType cluster --RoleName admin

授予工作流程叢集命名空間dev許可權

aliyun adcp GrantUserPermission --UserId 1159648454****** --ClusterId c6caf48c192f7476****** --RoleType namespace --Namespace default --RoleName dev

展開查看入參說明

欄位

類型

是否必選

備忘

UserId

string

RAM使用者ID。

ClusterId

string

授權目標工作流程叢集ID。

RoleType

string

授與類型,取值:

  • cluster:叢集維度。

  • namespace:命名空間維度。

說明
  • admin許可權的授與類型必須為cluster叢集維度,不可以為命名空間維度。

  • dev許可權的授與類型必須為namespace命名空間維度,不可以為叢集維度。

RoleName

string

預置的角色名稱,取值:

  • admin:管理員。

  • dev:開發人員。

Namespace

string

命名空間名稱。

    說明

    授權維度為命名空間維度時必須填寫。

    授權維度為Fleet執行個體時無需填寫。

相關操作

更新RAM使用者RBAC許可權

aliyun adcp UpdateUserPermission --UserId 1159648454****** --ClusterId c6caf48c192f7476****** --RoleType cluster --RoleName dev

查詢RAM使用者RBAC許可權

aliyun adcp DescribeUserPermissions --UserId 1159648454******

取消RAM使用者RBAC許可權

aliyun adcp DeleteUserPermission --UserId 1159648454****** --ClusterId c6caf48c192f7476******