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

Container Compute Service:カスタム RBAC ロールの作成

最終更新日:Mar 18, 2026

Kubernetes のロールベースアクセス制御 (RBAC) では、ロールを使用してクラスターリソースに対する一連の権限を定義します。Alibaba Cloud Container Service for Kubernetes (ACK) では、YAML ファイルと kubectl、または ACK コンソールを用いて、名前空間スコープの Role またはクラスター全体スコープの ClusterRole を作成できます。本トピックでは、両方のロールタイプの作成方法について説明し、ワークロードに応じてカスタマイズ可能な YAML のサンプルを提供します。

Role と ClusterRole

必要となる権限の範囲に応じて、ロールの種類を選択してください。

Role ClusterRole
範囲 単一の名前空間 クラスター全体
主な利用シーン 1 つの名前空間内のリソース(例:`default` 名前空間内の Pod)へのアクセスを許可する クラスター全体スコープのリソース(例:Node や PersistentVolume)またはすべての名前空間にわたるリソースへのアクセスを許可する
有効化方法 RoleBinding ClusterRoleBinding(または、1 つの名前空間にスコープを限定する RoleBinding)
重要

ロールまたはクラスターロールは、それ自体では権限を付与しません。RAM ユーザー、RAM ロール、または Kubernetes サービスアカウントにロールをアタッチするには、ロールバインディングまたはクラスターロールバインディングを作成する必要があります。手順については、「RAM ユーザーまたは RAM ロールに RBAC 権限を付与する」をご参照ください。

RBAC の完全な仕様については、Kubernetes ドキュメントのロールとクラスターロールをご参照ください。

Role の作成

Role は、単一の名前空間にスコープを限定した権限を定義します。

以下の YAML は、default 名前空間内に test-role という名前の Role を作成します。この Role は、当該名前空間内の Pod に対して完全な権限を付与します。

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

YAML をクラスターに適用します:

kubectl apply -f role.yaml

Role が正しく作成されたことを確認します:

kubectl get role test-role -n default

ClusterRole の作成

ClusterRole は、すべての名前空間にわたる権限、またはクラスター全体スコープのリソースに対する権限を定義します。

kubectl を使用した ClusterRole の作成

以下の YAML は、test-clusterrole という名前の ClusterRole を作成します。この ClusterRole を使用して、特定の名前空間内の Pod に対する完全な権限を付与できます。

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

YAML をクラスターに適用します:

kubectl apply -f clusterrole.yaml

ClusterRole が正しく作成されたことを確認します:

kubectl get clusterrole test-clusterrole -o yaml

ACS コンソールでのクラスターロールの作成

説明

以下の手順では、ACK コンソールを用いて RAM ユーザーまたは RAM ロール向けの ClusterRole を作成します。Role の作成手順も同様です。

  1. ACS コンソールにログインします。左側のナビゲーションウィンドウで、クラスターリスト をクリックします。

  2. クラスターリスト ページで、ご利用のクラスター名をクリックします。左側のナビゲーションウィンドウで、Security > 役割 をクリックします。

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

  4. ロール ページで、クラスターロール タブをクリックします。

  5. 作成 をクリックします。

  6. YAML の作成 パネルで、ClusterRole の YAML コンテンツを入力し、OK をクリックします。

    作成後、新しい ClusterRole が クラスターロール タブに表示されます。

次のステップ

Role や ClusterRole は、対象(サブジェクト)にバインドされない限り、何らかの効果を発揮しません。RAM ユーザーまたは RAM ロールにロールを付与するには、「RAM ユーザーまたは RAM ロールへの RBAC 権限の付与」をご参照ください。