第1章 セキュリティー
Red Hat Advanced Cluster Management for Kubernetes コンポーネントのセキュリティーおよびロールベースのアクセス制御 (RBAC) を管理します。定義したポリシーおよびプロセスでクラスターを統制し、リスクを特定して最小限に抑えます。ポリシーを使用してルールの定義、制御の設定を行います。
前提条件: Identity and Access Management (IAM) を識別するオンボードワークロードに合わせて Red Hat Advanced Cluster Management for Kubernetes の認証サービス要件を設定する必要があります。詳細は、OpenShift Container Platform ドキュメント の「認証について」を参照してください。
クラスターのセキュリティー保護に関する詳細は、以下のトピックを参照してください。
1.1. ロールベースのアクセス制御 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Advanced Cluster Management for Kubernetes は、ロールベースのアクセス制御 (RBAC) をサポートします。ロールによって実行できるアクションが決まります。RBAC は、OpenShift Container Platform と同様に Kubernetes の承認メカニズムに基づいています。RBAC の詳細は、OpenShift Container Platform ドキュメント の「RBACの概要」を参照してください。
コンポーネントでサポートされる RBAC の詳細については、以下のセクションを参照してください。
1.1.1. ロールの概要 リンクのコピーリンクがクリップボードにコピーされました!
クラスタースコープされている製品リソースと、namespace スコープされている製品リソースがあります。Red Hat Advanced Cluster Management for Kubernetes でサポートされている以下のロール定義の表を参照してください。
| ロール | 定義 |
|---|---|
| cluster-admin |
|
| open-cluster-management:cluster-manager-admin |
|
| open-cluster-management:managed-cluster-x (admin) |
|
| open-cluster-management:managed-cluster-x (viewer) |
|
| open-cluster-management:subscription-admin |
|
| admin、edit、view |
admin、edit、および view は OpenShift Container Platform のデフォルトロールです。これらのロールに対して namespace に限定されたバインディングが指定されているユーザーは、特定の namespace 内の |
重要:
- ユーザーは OpenShift Container Platform からプロジェクトを作成できます。これにより、namespace の管理者ロールパーミッションが付与されます。
-
ユーザーにクラスターへのロールアクセスがない場合、クラスター名は表示されません。クラスター名は、
-の記号で表示されます。
1.1.2. RBAC 実装 リンクのコピーリンクがクリップボードにコピーされました!
RBAC は API レベルで検証されます。ユーザーがコンソールからアクションを試行すると、アクセスロールのパーミッションに基づいて API を許可または拒否される可能性があります。製品の特定ライフサイクルの RBAC の詳細は、以下のセクションを参照してください。
1.1.2.1. クラスターライフサイクル RBAC リンクのコピーリンクがクリップボードにコピーされました!
クラスターのライフサイクル操作を実行するには、ユーザーは managedcluster namespace およびカスタムリソースにアクセスできる必要があります。admin ロールまたは view ロールへのクラスター全体のバインディングを持つユーザーには、すべての管理クラスターおよび namespace への admin アクセスまたは view アクセスが付与されます。
以下の例を参照してください。
managedcluster xクラスター情報を表示するには、以下のロールが必要です。-
open-cluster-managementのviewロールへのクラスター全体のバインディング。 -
namespace "X" の
viewロールへの namespace バインディング。
-
managedcluster xへのアップグレードを実行するには、以下のロールが必要です。-
open-cluster-managementのadminロールへのクラスター全体のバインディング。 -
namespace "X" の
adminロールへの namespace バインディング。
-
クラスターライフサイクルの以下のコンソールおよび API RBAC の表を表示します。
| アクション | 管理 | 編集 | 表示 |
|---|---|---|---|
| クラスター | read, update, delete | read, update | 読み取り |
| プロバイダー接続 | create, read, update, delete | 作成、読み取り、更新、および削除 | アクセス権なし |
| ベアメタル | はい | 読み取り、更新 | 読み取り |
| API | 管理 | 編集 | 表示 |
|---|---|---|---|
| klusterletaddonconfigs.agent.open-cluster-management.io | create、read、update、delete | read、update | 読み取り |
| manageclusters.cluster.open-cluster-management.io | 作成、読み取り、更新、削除 | read、update | read |
| managedclusteractions.action.open-cluster-management.io | create、read、update、delete | read、update | read |
| managedclusterviews.view.open-cluster-management.io | create、read、update、delete | read、update | read |
| managedclusterinfos.internal.open-cluster-management.io | create、read、update、delete | read、update | read |
| manifestworks.work.open-cluster-management.io | create、read、update、delete | read、update | 読み取り |
1.1.2.2. アプリケーションライフサイクル RBAC リンクのコピーリンクがクリップボードにコピーされました!
アプリケーションの作成時に、サブスクリプション namespace が作成され、設定マップが サブスクリプション namespace に作成されます。サブスクリプションを適用する場合は、サブスクリプションの管理者である必要があります。アプリケーションの管理の詳細は、「サブスクリプションの作成および管理」を参照してください。
アプリケーションライフサイクルタスクを実行するには、admin ロールを持つユーザーが、アプリケーションが作成される namespace および managedcluster namespace にアクセスできる必要があります。たとえば、namespace "N" でアプリケーションを作成するために必要なアクセスは、namespace "N" の admin ロールへの namespace バインディングです。
アプリケーションライフサイクルの以下のコンソールおよび API RBAC の表を表示します。
| アクション | 管理 | 編集 | 表示 |
|---|---|---|---|
| アプリケーション | create、read、update、delete | create、read、update、delete | read |
| チャネル | create、read、update、delete | create、read、update、delete | read |
| サブスクリプション | create、read、update、delete | create、read、update、delete | read |
| 配置ルール | create、read、update、delete | create、read、update、delete | 読み取り |
| API | 管理 | 編集 | 表示 |
|---|---|---|---|
| applications.app.k8s.io | create、read、update、delete | create、read、update、delete | read |
| channels.apps.open-cluster-management.io | create、read、update、delete | create、read、update、delete | read |
| deployables.apps.open-cluster-management.io | create、read、update、delete | create、read、update、delete | read |
| helmreleases.apps.open-cluster-management.io | create、read、update、delete | create、read、update、delete | read |
| placementrules.apps.open-cluster-management.io | create、read、update、delete | create、read、update、delete | read |
| subscriptions.apps.open-cluster-management.io | create、read、update、delete | create、read、update、delete | read |
| configmaps | create、read、update、delete | create、read、update、delete | read |
| secrets | create、read、update、delete | create、read、update、delete | read |
| namespace | create、read、update、delete | create、read、update、delete | read |
1.1.2.3. ガバナンスライフサイクル RBAC リンクのコピーリンクがクリップボードにコピーされました!
ガバナンスライフサイクル操作を実行するには、ユーザーは、ポリシーが作成される namespace へのアクセスと、managedcluster namespace へのアクセスが必要です。admin または view アクセスへのクラスター全体のバインディングを持つユーザーには、ハブクラスターのすべてのポリシーおよびすべての管理クラスターへの書き込みおよび読み取りアクセスも付与されます。
以下の例を参照してください。
namespace "N" でポリシーを表示するには、以下のロールが必要です。
-
namespace "X" の
viewロールへの namespace バインディング。
-
namespace "X" の
namespace "N" でポリシーを作成し、これを
managedcluster xに適用するには、以下のロールが必要です。-
namespace "N" の
adminロールへの namespace バインディング。 -
namespace "X" の
adminロールへの namespace バインディング。
-
namespace "N" の
ガバナンスライフサイクルの以下のコンソールおよび API RBAC の表を表示します。
| アクション | 管理 | 編集 | 表示 |
|---|---|---|---|
| ポリシー | 作成、読み取り、更新、削除 | 読み取り | 読み取り |
| PlacementBindings | 作成、読み取り、更新、削除 | 読み取り | 読み取り |
| PlacementRules | 作成、読み取り、更新、削除 | 読み取り | 読み取り |
| API | 管理 | 編集 | 表示 |
|---|---|---|---|
| policies.policy.open-cluster-management.io | 作成、読み取り、更新、削除 | 読み取り | 読み取り |
| placementbindings.policy.open-cluster-management.io | 作成、読み取り、更新、削除 | 読み取り | 読み取り |
クラスターのセキュリティー保護に関する詳細は、「 セキュリティー 」を参照してください。