すべてのプロダクト
Search
ドキュメントセンター

Microservices Engine:ACK クラスタへのアクセスに関する MSE RBAC 権限

最終更新日:Jun 14, 2025

Container Service for Kubernetes (ACK) は、Kubernetes ネイティブのロールベースアクセス制御 (RBAC) メカニズムを提供します。RBAC を使用すると、同じクラスタ内の Kubernetes リソースに対して、異なるユーザーに異なる権限を付与できます。MSE サービスロール AliyunServiceRoleForMSE を作成すると、RBAC ロール mse-aliyunserviceroleformse-clusterrole に自動的に関連付けられます。これにより、MSE はサービスロールに対応する RBAC 権限に基づいて ACK クラスタリソースにアクセスできます。これは、MSE の必要なクラスタリソースアクセス要件を満たすことができます。

MSE サービスロールの RBAC 権限ポリシー

  • デフォルトでは、RBAC ロールは ACK クラスタに対して自動的に作成されません。MSE サービスロールを作成して ACK クラスタにアクセスすると、MSE は RBAC ロールの作成をトリガーし、サービスロールに関連付けます。

  • この RBAC ロールは、指定された MSE 機能への最小限の権限アクセスにのみ使用され、RBAC 権限の割り当てには影響しません。

apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  name: mse-aliyunserviceroleformse-clusterrole
rules:
  # base
  - apiGroups: [""]
    resources: ["pods", "nodes", "services", "namespaces", "endpoints", "secrets", "configmaps"]
    verbs: ["get", "watch", "list"]
  - apiGroups: ["discovery.k8s.io"]
    resources: ["endpointslices"]
    verbs: ["get", "list", "watch"]

  # ingress
  - apiGroups: ["networking.k8s.io"]
    resources: ["ingresses", "ingressclasses"]
    verbs: ["get", "list", "watch"]
  - apiGroups: ["networking.k8s.io"]
    resources: ["ingresses/status"]
    verbs: ["*"]

  # Use for Kubernetes Service APIs (Kubernetes サービス API 用)
  - apiGroups: ["networking.x-k8s.io", "gateway.networking.k8s.io"]
    resources: ["*"]
    verbs: ["get", "watch", "list"]
  - apiGroups: ["networking.x-k8s.io", "gateway.networking.k8s.io"]
    resources: ["*"]
    verbs: ["*"]

  # CRD
  - apiGroups: ["apiextensions.k8s.io"]
    resources: ["customresourcedefinitions"]
    verbs: ["get", "list", "watch"]

  # istio
  - apiGroups: ["networking.istio.io"]
    verbs: [ "get", "watch", "list", "update", "patch", "create", "delete" ]
    resources: [ "workloadentries" ]
  - apiGroups: ["networking.istio.io"]
    verbs: [ "get", "watch", "list", "update", "patch", "create", "delete" ]
    resources: [ "workloadentries/status" ]
 
  - apiGroups: [""]
    resources: ["services", "namespaces"]
    verbs: ["get", "list", "watch", "create"]
  - apiGroups: ["apps"]
    resources: ["deployments"]
    verbs: ["get", "list", "watch", "create"]
    
  - apiGroups: [ "mse.alibabacloud.com" ]
    resources: [ "mseingressconfigs", "mseingressconfigs/status"]
    verbs: [ "get", "watch", "list" ]
  - apiGroups: [ "events.k8s.io" ]
    resources: [ "events"]
    verbs: [ "get", "watch", "list" ]

MSE が ACK クラスタにアクセスすることを禁止する権限を付与する

方法 1

RBAC ロールを変更することで、MSE がクラスタにアクセスすることを禁止できます。次の手順を実行します。

  1. Alibaba Cloud アカウントを使用して、ACK コンソール にログインします。左側のナビゲーションウィンドウで、[クラスタ] をクリックします。[クラスタ] ページで、目的のクラスタの名前をクリックします。

  2. 左側のナビゲーションウィンドウで、[セキュリティ] > [ロール] を選択します。

  3. ロールページで、[クラスタロール] タブをクリックし、検索ボックスに mse-aliyunserviceroleformse-clusterrole と入力して、検索アイコンをクリックします。

  4. mse-aliyunserviceroleformse-clusterrole の [アクション] 列で、[YAML を編集] をクリックします。表示されたパネルで、アノテーション構成 inner.service.alibabacloud.com/user-customized: true を YAML コードに追加し、rules フィールドのすべての権限を削除します。

    apiVersion: rbac.authorization.k8s.io/v1
    kind: ClusterRole
    metadata:
      annotations:
        inner.service.alibabacloud.com/user-customized: true
      name: mse-aliyunserviceroleformse-clusterrole
    rules:[]
方法 2

AliyunServiceRoleForMSE を削除することで、MSE がクラスタにアクセスすることを禁止できます。