ロールベースアクセス制御(RBAC)で使用されるKubernetesネイティブのRoleまたはClusterRoleは、一連の権限を定義します。Roleは、名前空間にスコープされた権限を定義します。ClusterRoleは、クラスタスコープのリソースに対する権限を定義します。このトピックでは、RoleとClusterRoleをカスタマイズする方法について説明します。
RoleとClusterRoleの概要
YAMLファイルまたはAlibaba Cloud Container Compute Service (ACS) コンソールを使用して、RoleまたはClusterRoleを作成できます。
Roleの作成
名前空間にスコープされた権限を定義するには、Roleを作成します。
次のYAMLテンプレートは、default名前空間にRoleを作成する方法の例を示しています。このRoleを使用して、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
RoleとClusterRoleの詳細については、Roles and ClusterRolesをご覧ください。
カスタムRBACロールの作成
このセクションでは、Resource Access Management (RAM) ユーザーまたはRAMロールのカスタムClusterRoleを作成する方法を示します。ClusterRoleを作成する手順は、Roleを作成する手順と同様です。
ACSコンソールにログオンします。左側のナビゲーションペインで、クラスタをクリックします。
クラスタページで、管理するクラスタを見つけて、その名前をクリックします。左側のペインで、 を選択します。
ロールページで、クラスタロールタブをクリックします。
クラスタロールタブで、作成をクリックします。
YAMLの作成ペインで、ClusterRoleの内容を入力し、OKをクリックしてClusterRoleを作成します。
この手順では、Clusterroleを作成するRBACロールの作成方法のテストクラスターロールクラスターロールセクションで使用されているYAMLテンプレートを使用します。ClusterRoleが作成された後、タブでtest-clusterroleという名前のClusterRoleを表示できます。
次のステップ
RAMユーザーまたはRAMロールにRBACロールを割り当てる方法の詳細については、RAMユーザーまたはRAMロールへのRBAC権限の付与をご覧ください。