第18章 ユーザーアクセスの管理
18.1. Red Hat Advanced Cluster Security for Kubernetes での RBAC の管理
Red Hat Advanced Cluster Security for Kubernetes (RHACS) には、ロールベースのアクセス制御 (RBAC) が組み込まれています。RBAC を使用すると、ロールを設定し、Red Hat Advanced Cluster Security for Kubernetes へのさまざまなレベルのアクセス権をさまざまなユーザーに付与できます。
RHACS にはバージョン 3.63 以降、特定の RHACS ユーザーまたはユーザーグループが RHACS と対話する方法、アクセス可能なリソース、実行できるアクションを定義するきめ細かい特定の権限のセットを設定できるスコープ付きアクセス制御機能が含まれています。
ロール は、権限セットとアクセススコープの集まりです。ルールを指定することにより、ユーザーおよびグループにロールを割り当てることができます。これらのルールは、認証プロバイダーを設定するときに設定できます。Red Hat Advanced Cluster Security for Kubernetes には 2 つのタイプのロールがあります。
- Red Hat によって作成され、変更できないシステムロール。
Red Hat Advanced Cluster Security for Kubernetes 管理者がいつでも作成および変更できるカスタムロール。
注記- ユーザーに複数のロールを割り当てると、割り当てられたロールの組み合わせた権限にアクセスできます。
- カスタムロールにユーザーが割り当てられていて、そのロールを削除すると、関連付けられているすべてのユーザーが、設定した最小アクセスロールに転送されます。
アクセス許可セット は、特定のリソースに対してロールが実行できるアクションを定義する権限のセットです。リソース は、Red Hat Advanced Cluster Security for Kubernetes の機能であり、表示 (
read
) および変更 (write
) 権限を設定できます。Red Hat Advanced Cluster Security for Kubernetes には、次の 2 種類の権限セットがあります。- Red Hat によって作成され、変更できないシステム権限セット。
- Red Hat Advanced Cluster Security for Kubernetes 管理者がいつでも作成および変更できるカスタム権限セット。
アクセススコープ は、ユーザーがアクセスできる Kubernetes および OpenShift Container Platform リソースのセットです。たとえば、ユーザーが特定のプロジェクトの Pod に関する情報にのみアクセスできるようにするアクセススコープを定義できます。Red Hat Advanced Cluster Security for Kubernetes には、次の 2 種類のアクセススコープがあります。
- Red Hat により作成され、変更できないシステムアクセススコープ。
- Red Hat Advanced Cluster Security for Kubernetes 管理者がいつでも作成および変更できるカスタムアクセススコープ。
18.1.1. システムロール
Red Hat Advanced Cluster Security for Kubernetes (RHACS) には、ルールの作成時にユーザーに適用できるデフォルトのシステムロールがいくつか用意されています。必要に応じて、カスタムロールを作成することもできます。
システムロール | 説明 |
---|---|
Admin | このロールは管理者を対象としています。これを使用して、すべてのリソースへの読み取りおよび書き込みアクセスを提供します。 |
Analyst | このロールは、変更を加えることはできないが、すべてを表示できるユーザーを対象としています。これを使用して、すべてのリソースに読み取り専用アクセスを提供します。 |
Continuous Integration | このロールは、CI (継続的インテグレーション) システムを対象としており、デプロイメントポリシーを適用するのに必要なアクセス許可セットが含まれています。 |
None | このロールには、リソースへの読み取りおよび書き込みアクセス権がありません。このロールを、すべてのユーザーの最小アクセスロールとして設定できます。 |
Sensor Creator | RHACS はこのロールを使用して、新しいクラスターのセットアップを自動化します。このロールには、セキュアクラスターに Sensor を作成する権限セットが含まれています。 |
Scope Manager | このロールには、アクセススコープの作成および変更に必要な最小限の権限が含まれます。 |
Vulnerability Management Approver | このロールを使用すると、脆弱性の延期または誤検出の要求を承認するためのアクセス権を付与できます。 |
Vulnerability Management Requester | このロールを使用すると、脆弱性の延期または誤検出を要求するためのアクセス権を付与できます。 |
Vulnerability Report Creator | このロールを使用すると、スケジュールされた脆弱性レポートの脆弱性レポート設定を作成および管理できます。 |
18.1.1.1. システムロールの権限セットおよびアクセス範囲の表示
デフォルトのシステムロールの権限セットおよびアクセス範囲を表示できます。
手順
-
RHACS ポータルで、Platform Configuration
Access control に移動します。 - Roles を選択します。
- ロールの 1 つをクリックして、その詳細を表示します。詳細ページには、選択されたロールの権限セットおよびアクセス範囲が表示されます。
デフォルトのシステムロールの権限セットおよびアクセス範囲を変更することはできません。
18.1.1.2. カスタムロールの作成
アクセス制御 ビューから新しいロールを作成できます。
前提条件
-
カスタムロールを作成、変更、および削除するには、Admin ロール、または
AuthProvider
およびRole
リソースの読み取りおよび書き込み権限を持つロールが必要です。 - ロールを作成する前に、カスタムロールの権限セットおよびアクセススコープを作成する必要があります。
手順
-
RHACS ポータルで、Platform Configuration
Access Control に移動します。 - Roles を選択します。
- Create role をクリックします。
- 新しいロールの Name および Description を入力します。
- ロールの 権限セット を選択します。
- ロールの アクセススコープ を選択します。
- Save をクリックします。
18.1.1.3. ユーザーまたはグループへのロールの割り当て
RHACS ポータルを使用して、ユーザーまたはグループにロールを割り当てることができます。
手順
-
RHACS ポータルで、Platform Configuration
Access Control に移動します。 - 認証プロバイダーのリストから、認証プロバイダーを選択します。
- Edit minimum role and rules をクリックします。
- Rules セクションで、Add new rule をクリックします。
-
Key で、
userid
、name
、email
、またはgroup
から 1 つ選択します。 - Value に、選択したキーに基づいたユーザー ID、名前、メールアドレス、またはグループの値を入力します。
- Role ドロップダウンメニューをクリックして、割り当てるロールを選択します。
- Save をクリックします。
ユーザーまたはグループごとにこれらの手順を繰り返し、異なるロールを割り当てることができます。
18.1.2. システム権限セット
Red Hat Advanced Cluster Security for Kubernetes には、ロールに適用できるデフォルトのシステム権限セットがいくつか含まれています。必要に応じて、カスタム権限セットを作成することもできます。
パーミッションセット | 説明 |
---|---|
Admin | すべてのリソースへの読み取りおよび書き込みアクセスを提供します。 |
Analyst | すべてのリソースに読み取り専用アクセスを提供します。 |
Continuous Integration | このアクセス許可セットは、CI (継続的インテグレーション) システムを対象としており、デプロイメントポリシーを適用するのに必要なアクセス許可が含まれています。 |
Network Graph Viewer | ネットワークグラフを表示するための最小限の権限を提供します。 |
None | どのリソースにも読み取りおよび書き込み権限は許可されていません。 |
Sensor Creator | セキュアクラスターに Sensor を作成するのに必要なリソースの権限を提供します。 |
18.1.2.1. システム権限セットの権限の表示
RHACS ポータルで設定されたシステム権限の権限を表示できます。
手順
-
RHACS ポータルで、Platform Configuration
Access control に移動します。 - Permission sets を選択します。
- 権限セットの 1 つをクリックして、その詳細を表示します。詳細ページには、選択した権限セットに対するリソースおよびその権限のリストが表示されます。
システム権限セットの権限を変更することはできません。
18.1.2.2. カスタム権限セットの作成
Access Control ビューから新しいアクセス許可セットを作成できます。
前提条件
-
管理者 ロール、または権限セットを作成、変更、および削除するには、
AuthProvider
リソースおよびRole
リソースの読み取りおよび書き込み権限を持つ権限セットを持つロールが必要です。
手順
-
RHACS ポータルで、Platform Configuration
Access Control に移動します。 - Permission sets を選択します。
- Create permission set をクリックします。
- 新しい権限セットの Name および Description を入力します。
リソースごとに、Access level 列で、
No access
、Read access
、または、Read and Write access
のいずれかのアクセス許可を選択します。警告ユーザーに権限セットを設定する場合は、次のリソースに読み取り専用の権限を付与する必要があります。
-
Alert
-
Cluster
-
Deployment
-
Image
-
NetworkPolicy
-
NetworkGraph
-
WorkflowAdministration
-
Secret
-
- これらの権限は、新しい権限セットを作成するときに事前に選択されています。
- これらの権限を付与しない場合、ユーザーは RHACS ポータルでページを表示する際に問題が発生します。
- Save をクリックします。
18.1.3. システムアクセススコープ
Red Hat Advanced Cluster Security for Kubernetes には、ロールに適用できるデフォルトのシステムアクセススコープがいくつか含まれています。必要に応じて、カスタムアクセススコープを作成することもできます。
アクセススコープ | 説明 |
---|---|
Unrestricted | Red Hat Advanced Cluster Security for Kubernetes が監視するすべてのクラスターと namespace へのアクセスを提供します。 |
Deny All | Kubernetes および OpenShift Container Platform リソースへのアクセスを提供しません。 |
18.1.3.1. システムアクセススコープの詳細の表示
RHACS ポータルで、アクセススコープで許可されているまたは許可されていない Kubernetes および OpenShift Container Platform リソースを表示できます。
手順
-
RHACS ポータルで、Platform Configuration
Access control に移動します。 - Access scopes を選択します。
- アクセススコープの 1 つをクリックして、その詳細を表示します。詳細ページには、クラスターと namespace のリストと、選択したアクセススコープで許可されているクラスターと namespace が表示されます。
システムアクセススコープに許可されているリソースを変更することはできません。
18.1.3.2. カスタムアクセススコープの作成
アクセス制御 ビューから新しいアクセススコープを作成できます。
前提条件
-
管理者 ロール、または権限セットを作成、変更、および削除するには、
AuthProvider
リソースおよびRole
リソースの読み取りおよび書き込み権限を持つ権限セットを持つロールが必要です。
手順
-
RHACS ポータルで、Platform Configuration
Access control に移動します。 - Access scopes を選択します。
- Create access scope をクリックします。
- 新しいアクセススコープの 名前 と 説明 を入力します。
Allowed resources セクションの下で、以下を行います。
- Cluster filter および Namespace filter フィールドを使用して、リストに表示されるクラスターと namespace のリストをフィルタリングします。
- Cluster name を展開して、そのクラスター内の namespace の一覧を表示します。
クラスター内のすべての namespace へのアクセスを許可するには、Manual selection 列のスイッチを切り替えます。
注記特定のクラスターへのアクセスにより、ユーザーはクラスターのスコープ内の次のリソースにアクセスできます。
- OpenShift Container Platform または Kubernetes クラスターのメタデータおよびセキュリティー情報
- 許可されたクラスターのコンプライアンス情報
- ノードのメタデータおよびセキュリティー情報
- 該当するクラスター内のすべての namespace とそれに関連するセキュリティー情報へのアクセス
namespace へのアクセスを許可するには、namespace の Manual selection 列でスイッチを切り替えます。
注記特定の namespace にアクセスすると、namespace のスコープ内で次の情報にアクセスできます。
- デプロイメントに関するアラートおよび違反
- イメージの脆弱性データ
- デプロイメントメタデータおよびセキュリティー情報
- ロールおよびユーザー情報
- デプロイメントのネットワークグラフ、ポリシー、およびベースライン情報
- プロセス情報およびプロセスベースライン設定
- 各デプロイメントの優先リスク情報
- ラベルに基づいてクラスターおよび namespace へのアクセスを許可する場合は、Label selection rules セクションの Add label selector をクリックします。次に、Add rule をクリックして、ラベルセレクターの キー と 値 のペアを指定します。クラスターおよび namespace のラベルを指定できます。
- Save をクリックします。
18.1.4. リソース定義
Red Hat Advanced Cluster Security for Kubernetes には、複数のリソースが含まれています。次の表に、リソースと、ユーザーが read
または write
権限で実行できるアクションを示します。
リソース | 読み取り権限 | 書き込み権限 |
---|---|---|
アクセス | 認証プロバイダーが提供する認証プロバイダーに関するメタデータなど、ユーザーメタデータを Red Hat Advanced Cluster Security for Kubernetes ロールおよび Red Hat Advanced Cluster Security for Kubernetes インスタンスにアクセスしたユーザーと照合する Single Sign-On (SSO) およびロールベースのアクセス制御 (RBAC) ルールの設定を表示します。 | SSO 設定および設定された RBAC ルールを作成、変更、または削除します。 |
管理 | 次の項目を表示します。
| 次の項目を編集します。
|
アラート | 既存のポリシー違反を表示します。 | ポリシー違反を解決または編集します。 |
CVE | 内部でのみ使用 | 内部でのみ使用 |
Cluster | 既存のセキュアクラスターを表示します。 | 新しいセキュアクラスターを追加し、既存のクラスターを変更または削除します。 |
コンプライアンス | コンプライアンスの基準と結果、最近のコンプライアンスの実行と関連する完了ステータスを表示します。 | コンプライアンスの実行をトリガーします。 |
Deployment | セキュアクラスター内のデプロイメント (ワークロード) を表示します。 | 該当なし |
DeploymentExtension | 次の項目を表示します。
| 次の項目を変更します。
|
Detection | イメージまたはデプロイメント YAML のビルド時ポリシーを確認します。 | 該当なし |
イメージ | イメージ、そのコンポーネント、およびそれらの脆弱性を表示します。 | 該当なし |
インテグレーション | 次の項目を表示します。
| 次の項目を変更します。
|
K8sRole | セキュアクラスター内の Kubernetes RBAC のロールを表示します。 | 該当なし |
K8sRoleBinding | セキュアクラスター内の Kubernetes RBAC のロールバインディングを表示します。 | 該当なし |
K8sSubject | セキュアクラスター内の Kubernetes RBAC のユーザーとグループを表示します。 | 該当なし |
Namespace | セキュアクラスター内の既存の Kubernetes namespace を表示します。 | 該当なし |
NetworkGraph | セキュアクラスター内のアクティブで許可されたネットワーク接続を表示します。 | 該当なし |
NetworkPolicy | セキュアクラスター内の既存のネットワークポリシーを表示し、変更をシミュレートします。 | セキュアクラスターにネットワークポリシーの変更を適用します。 |
Node | セキュアクラスター内の既存の Kubernetes ノードを表示します。 | 該当なし |
WorkflowAdministration | すべてのリソースコレクションを表示します。 | リソースコレクションを追加、変更、または削除します。 |
ロール | 既存の Red Hat Advanced Cluster Security for Kubernetes RBAC ロールおよびその権限を表示します。 | ロールおよびその権限を追加、変更、または削除します。 |
Secret | セキュアクラスター内のシークレットに関するメタデータを表示します。 | 該当なし |
ServiceAccount | セキュアクラスター内の Kubernetes サービスアカウントをリスト表示します。 | 該当なし |
18.1.5. 認証および承認リソースの宣言型設定
認証プロバイダー、ロール、パーミッションセット、アクセススコープなどの認証および承認リソースに宣言型設定を使用できます。宣言型設定の使用方法は、「関連情報」の「宣言型設定の使用」を参照してください。
関連情報