5.2.2.4. クラスター拡張機能をインストールおよび管理するために必要な権限
必要な権限を割り当てるには、クラスター拡張機能のバンドルイメージに含まれるマニフェストを確認する必要があります。次のリソースを作成および管理するのに十分なロールベースのアクセス制御 (RBAC) がサービスアカウントに必要です。
重要
実行に必要な最小限の RBAC を使用して、特定のリソース名に対する最小権限とスコープ権限の原則を遵守してください。
- アドミッションプラグイン
-
OpenShift Container Platform クラスターは
OwnerReferencesPermissionEnforcementアドミッションプラグインを使用します。そのため、クラスター拡張機能にはblockOwnerDeletionおよびownerReferencesファイナライザーを更新する権限が必要です。 - 拡張機能のコントローラー用のクラスターロールとクラスターロールバインディング
- 拡張機能のコントローラー用のクラスターロールとクラスターロールバインディングを、インストールサービスアカウントが作成および管理できるように、RBAC を定義する必要があります。
- クラスターサービスバージョン (CSV)
- クラスター拡張機能の CSV で定義されたリソース用の RBAC を定義する必要があります。
- クラスタースコープのバンドルリソース
-
バンドルに含まれるクラスタースコープのリソースを作成および管理するための RBAC を定義する必要があります。クラスタースコープのリソースが
ClusterRoleなどの別のリソースタイプと一致する場合は、resourcesまたはresourceNamesフィールドの下にある既存のルールにリソースを追加できます。 - カスタムリソース定義 (CRD)
- インストールサービスアカウントが拡張機能の CRD を作成および管理できるように、RBAC を定義する必要があります。また、拡張機能のコントローラーのサービスアカウントに、拡張機能の CRD を管理するための RBAC を付与する必要があります。
- デプロイメント
- service や config map など、拡張機能のコントローラーに必要なデプロイメントを作成および管理するために、インストールサービスアカウント用の RBAC を定義する必要があります。
- 拡張機能の権限
- CSV で定義されている権限とクラスター権限用の RBAC を含める必要があります。インストールサービスアカウントが、これらの権限を拡張機能コントローラーに付与できる必要があります。これらの権限は、拡張機能コントローラーの実行に必要です。
- namespace スコープのバンドルリソース
- namespace スコープのバンドルリソース用の RBAC を定義する必要があります。インストールサービスアカウントに、config map や service などのリソースを作成および管理するための権限が必要です。
- ロールおよびロールバインディング
- CSV で定義されているすべてのロールまたはロールバインディング用の RBAC を定義する必要があります。インストールサービスアカウントに、これらのロールとロールバインディングを作成および管理するための権限が必要です。
- サービスアカウント
- インストールサービスアカウントが拡張機能のコントローラーのサービスアカウントを作成および管理できるように、RBAC を定義する必要があります。