Kubernetes のロールベースのアクセス制御 (RBAC) では、Role と ClusterRole には、それぞれ権限を表すルールセットが含まれています。独自の Role と ClusterRole を作成することで、各ユーザーに必要な権限のみを付与できます。
アクセスポリシー
アクセスポリシーを独自に作成するか、Container Service for Kubernetes (ACK) コンソールでカスタムポリシーを作成します。どちらの方法でも、入力には同じ YAML を使用します。以下の例は、必要な権限スコープに応じて作成するオブジェクトを示しています。
Role:名前空間スコープの権限
Role は名前空間内のアクセス権限を設定します。付与する権限をその名前空間内のリソースにのみ適用する必要がある場合は、Role を定義します。
以下の YAML 例は、default 名前空間内の 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
- watchClusterRole:クラスター スコープの権限
ClusterRole はクラスター スコープのリソースに対するアクセス権限を設定します。付与する権限をクラスター全体に適用する必要がある場合は、ClusterRole を定義します。
以下の YAML 例は、任意の名前空間内の Pod に対するすべての権限を付与する 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
- watchRole と ClusterRole の詳細については、「Role と ClusterRole」をご参照ください。
ACK コンソールでのカスタム RBAC 認可ポリシーの作成
この手順では、RAM (Resource Access Management) ユーザーまたは RAM ロールに対してカスタム ClusterRole を作成します。Role の作成もほぼ同じ手順で、入力には Role の YAML を使用します。
ACS コンソールにログインします。左側のナビゲーションペインで、クラスターリストを選択します。
クラスターリスト ページで、クラスターの名前をクリックします。左側のナビゲーションペインで、Security > 役割 を選択します。
[Role] ページで、[Cluster Role] タブをクリックします。
[Cluster Role] タブで、[Create] をクリックします。
[Create YAML] パネルで、カスタムポリシーの YAML コンテンツを入力し、[OK] をクリックして ClusterRole を作成します。
この手順では、例としてアクセスポリシーの ClusterRole:クラスター スコープの権限 サブセクションにある YAML を使用します。ClusterRole の作成後、[Cluster Role] タブにカスタム ClusterRole test-clusterrole が表示されます。
次のステップ
カスタム RBAC 認可ポリシーを RAM ユーザーまたは RAM ロールに付与するには、「RAM 権限の付与」をご参照ください。