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

Container Compute Service:カスタム Kubernetes ClusterRole または Role の作成

最終更新日:Dec 27, 2024

ロールベースアクセス制御 (RBAC) で使用される Kubernetes ネイティブの Role または ClusterRole は、一連の権限を定義します。Role は名前空間にスコープされた権限を定義し、ClusterRole はクラスター全体のリソースに対する権限を定義します。このトピックでは、Role と ClusterRole をカスタマイズする方法について説明します。

Role と ClusterRole の概要

YAML ファイルまたは Alibaba Cloud Container Service for Kubernetes (ACK) コンソール を使用して、Role または ClusterRole を作成できます。

Role の作成

名前空間にスコープされた権限を定義するには、Role を作成します。

次の YAML ファイルを使用して、デフォルトの名前空間のポッドに対する権限を定義する Role を作成できます。

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 を作成します。

次の YAML ファイルを使用して、名前空間のポッドに対する権限を定義する ClusterRole を作成できます。

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 を参照してください。

カスタムロールの作成

説明

この例では、Resource Access Management (RAM) ユーザーまたは RAM ロール用のカスタム ClusterRole を作成する方法を示します。手順は、カスタム Role を作成する場合と同様です。必要に応じて構成を変更できます。

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

  2. クラスター ページで、クラスターの名前をクリックします。左側のナビゲーションペインで、セキュリティ > ロール を選択します。

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

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

    この例の YAML テンプレートは、クラスター全体の権限を定義します。ClusterRole が作成された後、クラスターロール タブで test-clusterrole という名前の ClusterRole を表示できます。

次のステップ

Kubernetes カスタム権限ポリシーを RAM ユーザーまたは RAM ロールにアタッチする方法の詳細については、RAM ユーザーまたは RAM ロールへの RBAC 権限の付与 を参照してください。

重要

ACK では、カスタム ClusterRole のみを RBAC 権限にバインドできます。カスタム Role を RBAC 権限にバインドすることはできません。