1.14.2. ManagedClusterSet に対するユーザーまたはグループのロールベースのアクセス制御パーミッションの割り当て
ハブクラスターに設定したアイデンティティープロバイダーが提供するクラスターセットに、ユーザーまたはグループを割り当てることができます。
必要なアクセス権限: クラスターの管理者
ManagedClusterSet
API が提供する RBAC パーミッションにはレベルが 2 つあります。
クラスターセット
admin
- マネージドクラスターセットに割り当てられた、すべてのクラスターおよびクラスタープールリソースに対する完全なアクセス権限。
- クラスターの作成、クラスターのインポート、クラスタープールの作成権限。パーミッションは、マネージドクラスターセットの作成時に設定したマネージドクラスターに割り当てる必要があります。
クラスターセット
view
- マネージドクラスターセットに割り当てられた、すべてのクラスターおよびクラスタープールリソースに対する読み取り専用の権限。
- クラスターの作成、クラスターのインポート、またはクラスタープールの作成を実行する権限なし。
Red Hat Advanced Cluster Management コンソールからマネージドクラスターセットにユーザーまたはグループを割り当てるには、以下の手順を実行します。
- コンソールのメインナビゲーションメニューで、Infrastructure > Clusters を選択します。
- Cluster sets タブを選択します。
- ターゲットクラスターセットを選択します。
- Access management タブを選択します。
- Add user or group を選択します。
- アクセス権を割り当てるユーザーまたはグループを検索して選択します。
- Cluster set admin または Cluster set view ロールを選択して、選択したユーザーまたはグループに付与します。ロールのパーミッションについての詳細は、ロールの概要 を参照してください。
- Add を選択して変更を送信します。
テーブルにユーザーまたはグループが表示されます。全マネージドクラスターセットリソースのパーミッションの割り当てがユーザーまたはグループに伝播されるまでに数秒かかる場合があります。
ロールアクションの詳細は、ロールベースのアクセス制御 を参照してください。
配置の詳細については、Placement での ManagedClustersSets の使用 を参照してください。
1.14.2.1. ManagedClusterSetBinding リソースの作成
ManagedClusterSetBinding
リソースを作成して ManagedClusterSet
リソースを namespace にバインドします。同じ namespace で作成されたアプリケーションおよびポリシーがアクセスできるのは、バインドされたマネージドクラスターセットリソースに含まれるマネージドクラスターだけです。
namespace へのアクセスパーミッションは、その namespace にバインドされるマネージドクラスターセットに自動的に適用されます。マネージドクラスターセットがバインドされる namespace へのアクセス権限がある場合は、その namespace にバインドされているマネージドクラスターセットにアクセス権限が自動的に付与されます。ただし、マネージドクラスターセットへのアクセス権限のみがある場合は、対象の namespace にある他のマネージドクラスターセットにアクセスする権限は自動的に割り当てられません。マネージドクラスターセットが表示されない場合は、表示に必要なパーミッションがない可能性があります。
コンソールまたはコマンドラインを使用してマネージドクラスターセットバインディングを作成できます。
1.14.2.1.1. コンソールを使用した ManagedClusterSetBinding の作成
Red Hat Advanced Cluster Management コンソールを使用して、マネージドクラスターセットからクラスターを削除するには、以下の手順を実行します。
- メインのナビゲーションで Infrastructure > Clusters を選択して、クラスターページにアクセスします。
- Cluster sets タブを選択して、利用可能なクラスターセットを表示します。
- バインディングを作成するクラスターセットの名前を選択し、クラスターセットの詳細を表示します。
- Actions > Edit namespace bindings を選択します。
- Edit namespace bindings ページで、ドロップダウンメニューからクラスターセットをバインドする namespace を選択します。このクラスターセットにバインディングされている既存の namespace は選択してあります。
- Save を選択して変更を送信します。
1.14.2.1.2. コマンドラインを使用した ManagedClusterSetBinding の作成
コマンドラインを使用してマネージドクラスターセットバインディングを作成するには、以下の手順を実行します。
yaml
ファイルにManagedClusterSetBinding
リソースを作成します。クラスターセットバインディングの作成時には、クラスターセットバインディング名と、バインドするマネージドクラスターセット名を一致させる必要があります。ManagedClusterSetBinding
リソースは、以下の情報のようになります。apiVersion: cluster.open-cluster-management.io/v1beta1 kind: ManagedClusterSetBinding metadata: namespace: project1 name: clusterset1 spec: clusterSet: clusterset1
ターゲットのマネージドクラスターセットでのバインド権限を割り当てておく必要があります。以下の
ClusterRole
リソースの例を確認してください。この例には、ユーザーがclusterset1
にバインドできるように、複数のルールが含まれています。apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: name: clusterrole1 rules: - apiGroups: ["cluster.open-cluster-management.io"] resources: ["managedclustersets/bind"] resourceNames: ["clusterset1"] verbs: ["create"]