ロールベースのアクセス制御 (RBAC) によって提供されるロールとClusterRolesには、一連の権限が含まれています。 ロールは、特定の名前空間内の権限を定義します。 ClusterRoleは、クラスタースコープのリソースに対する権限を定義します。 このトピックでは、ロールとClusterRoleをカスタマイズする方法について説明します。
RBACロールを作成する方法
YAMLファイルを使用するか、Container Service for Kubernetes (ACK) コンソールでRBACロールを作成できます。
ロールの作成
特定の名前空間内で権限を定義する場合は、ロールを作成します。
次のYAMLテンプレートは、default名前空間でロールを作成する方法の例を示しています。 このロールを使用して、デフォルトの名前空間のポッドにすべての権限を付与できます。
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の作成方法の例を示しています。 この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
ロールとClusterRolesの詳細については、「ロールとClusterRoles」をご参照ください。
カスタムRBACロールの作成
このセクションでは、カスタムClusterRoleを作成する方法を示します。 ClusterRoleを作成する手順は、Roleを作成する手順と同様です。
ACKコンソールにログインします。 左側のナビゲーションウィンドウで、[クラスター] をクリックします。
[クラスター] ページで、管理するクラスターの名前をクリックします。 左側のウィンドウで、 を選択します。
[ロール] ページで、[クラスターロール] タブをクリックします。
[クラスターロール] タブで、[作成] をクリックします。
[YAMLの作成] ペインで、ClusterRoleの内容を入力し、[OK] をクリックしてClusterRoleを作成します。
このステップでは、[RBACロールの作成方法] の [ClusterRoleの作成] セクションで使用されているYAMLテンプレートを使用します。 ClusterRoleの作成後、作成されたClusterRole test-clusterroleを [クラスターの役割] タブに表示できます。
次のステップ
RBACロールをResource Access Management (RAM) ユーザーまたはRAMロールに割り当てる方法の詳細については、「RAMユーザーまたはRAMロールにRBAC権限を付与する」をご参照ください。
ACKでは、RAMユーザーまたはRAMロールにClusterRolesのみを割り当てることができます。 ACKでRAMユーザーまたはRAMロールにロールを割り当てることはできません。