第16章 ユーザーアクセスの管理
16.1. Red Hat Advanced Cluster Security for Kubernetes での RBAC の管理
Red Hat Advanced Cluster Security for Kubernetes (RHACS) には、ロールを設定し、さまざまなユーザーに Red Hat Advanced Cluster Security for Kubernetes へのさまざまなレベルのアクセスを許可するのに使用できるロールベースのアクセス制御 (RBAC) が付属しています。
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 の機能であり、表示 (
読み取り
) および変更 (書き込み
) 権限を設定できます。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 管理者がいつでも作成および変更できるカスタムアクセススコープ。
16.1.1. システムロール
Red Hat Advanced Cluster Security for Kubernetes (RHACS) には、ルールの作成時にユーザーに適用できるデフォルトのシステムロールがいくつか含まれています。必要に応じて、カスタムロールを作成することもできます。
システムロール | 説明 |
---|---|
Admin | このロールは管理者を対象としています。これを使用して、すべてのリソースへの読み取りおよび書き込みアクセスを提供します。 |
Analyst | このロールは、変更を加えることはできないが、すべてを表示できるユーザーを対象としています。これを使用して、すべてのリソースに読み取り専用アクセスを提供します。 |
Continuous Integration | このロールは、CI (継続的インテグレーション) システムを対象としており、デプロイメントポリシーを適用するのに必要なアクセス許可セットが含まれています。 |
なし | このロールには、リソースへの読み取りおよび書き込みアクセス権がありません。このロールを、すべてのユーザーの最小アクセスロールとして設定できます。 |
Sensor Creator | RHACS はこのロールを使用して、新しいクラスターのセットアップを自動化します。これには、セキュアなクラスターに Sensors を作成する権限セットが含まれます。 |
Scope Manager | このロールには、アクセススコープの作成および変更に必要な最小限の権限が含まれます。 |
Vulnerability Management Approver | このロールを使用すると、脆弱性の延期または誤検知リクエストを承認するためのアクセスを提供できます。 |
Vulnerability Management Requester | このロールを使用すると、脆弱性の延期または誤検知を要求するためのアクセスを提供できます。 |
Vulnerability Report Creator | このロールを使用すると、スケジュールされた脆弱性レポートの脆弱性レポート設定を作成および管理できます。 |
16.1.1.1. システムロールの権限セットおよびアクセス範囲の表示
デフォルトのシステムロールの権限セットおよびアクセス範囲を表示できます。
手順
-
RHACS ポータルで、Platform Configuration
Access control に移動します。 - Roles を選択します。
- ロールの 1 つをクリックして、その詳細を表示します。詳細ページには、選択されたロールの権限セットおよびアクセス範囲が表示されます。
デフォルトのシステムロールの権限セットおよびアクセス範囲を変更することはできません。
16.1.1.2. カスタムロールの作成
アクセス制御 ビューから新しいロールを作成できます。
前提条件
-
カスタムロールを作成、変更、および削除するには、Admin ロール、または
AuthProvider
およびRole
リソースの読み取りおよび書き込み権限を持つロールが必要です。 - ロールを作成する前に、カスタムロールの権限セットおよびアクセススコープを作成する必要があります。
手順
-
RHACS ポータルで、Platform Configuration
Access Control に移動します。 - Roles を選択します。
- Create role をクリックします。
- 新しいロールの Name および Description を入力します。
- ロールの 権限セット を選択します。
- ロールの アクセススコープ を選択します。
- Save をクリックします。
16.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 をクリックします。
ユーザーまたはグループごとにこれらの手順を繰り返し、異なるロールを割り当てることができます。
16.1.2. システム権限セット
Red Hat Advanced Cluster Security for Kubernetes には、ロールに適用できるデフォルトのシステム権限セットがいくつか含まれています。必要に応じて、カスタム権限セットを作成することもできます。
パーミッションセット | 説明 |
---|---|
Admin | すべてのリソースへの読み取りおよび書き込みアクセスを提供します。 |
Analyst | すべてのリソースに読み取り専用アクセスを提供します。 |
Continuous Integration | このアクセス許可セットは、CI (継続的インテグレーション) システムを対象としており、デプロイメントポリシーを適用するのに必要なアクセス許可が含まれています。 |
ネットワークグラフビューアー | ネットワークグラフを表示するための最小限の権限を提供します。 |
なし | どのリソースにも読み取りおよび書き込み権限は許可されていません。 |
Sensor Creator | セキュアなクラスターで Sensor の作成に必要なリソースのパーミッションを提供します。 |
16.1.2.1. システム権限セットの権限の表示
RHACS ポータルで設定されたシステム権限の権限を表示できます。
手順
-
RHACS ポータルで、Platform Configuration
Access control に移動します。 - Permission sets を選択します。
- 権限セットの 1 つをクリックして、その詳細を表示します。詳細ページには、選択した権限セットに対するリソースおよびその権限のリストが表示されます。
システム権限セットの権限を変更することはできません。
16.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
-
Policy
-
Secret
-
- これらの権限は、新しい権限セットを作成するときに事前に選択されています。
- これらの権限を付与しない場合、ユーザーは RHACS ポータルでページを表示する際に問題が発生します。
- Save をクリックします。
16.1.3. システムアクセススコープ
Red Hat Advanced Cluster Security for Kubernetes には、ロールに適用できるデフォルトのシステムアクセススコープがいくつか含まれています。必要に応じて、カスタムアクセススコープを作成することもできます。
アクセススコープ | 説明 |
---|---|
Unrestricted | Red Hat Advanced Cluster Security for Kubernetes が監視するすべてのクラスターと namespace へのアクセスを提供します。 |
Deny All | Kubernetes および OpenShift Container Platform リソースへのアクセスを提供しません。 |
16.1.3.1. システムアクセススコープの詳細の表示
RHACS ポータルで、アクセススコープで許可されているまたは許可されていない Kubernetes および OpenShift Container Platform リソースを表示できます。
手順
-
RHACS ポータルで、Platform Configuration
Access control に移動します。 - Access scopes を選択します。
- アクセススコープの 1 つをクリックして、その詳細を表示します。詳細ページには、クラスターおよび名前空間のリスト、および選択したアクセススコープで許可されているものが表示されます。
システムアクセススコープに許可されているリソースを変更することはできません。
16.1.3.2. カスタムアクセススコープの作成
アクセス制御 ビューから新しいアクセススコープを作成できます。
前提条件
-
管理者 ロール、または権限セットを作成、変更、および削除するには、
AuthProvider
リソースおよびRole
リソースの読み取りおよび書き込み権限を持つ権限セットを持つロールが必要です。
手順
-
RHACS ポータルで、Platform Configuration
Access control に移動します。 - Access scopes を選択します。
- Create access scope をクリックします。
- 新しいアクセススコープの 名前 と 説明 を入力します。
Allowed resources セクションの下で、以下を行います。
- Cluster filter および Namespace filter フィールドを使用して、一覧に表示されているクラスターおよび名前空間の一覧をフィルタリングします。
- Cluster name を展開して、そのクラスター内の namespace の一覧を表示します。
クラスター内のすべての namespace へのアクセスを許可するには、Manual selection 列のスイッチを切り替えます。
注記特定のクラスターへのアクセスにより、ユーザーはクラスターのスコープ内の次のリソースにアクセスできます。
- OpenShift Container Platform または Kubernetes クラスターのメタデータおよびセキュリティー情報
- 許可されたクラスターのコンプライアンス情報
- ノードのメタデータおよびセキュリティー情報
- そのクラスター内のすべての名前空間とそれに関連するセキュリティー情報へのアクセス
namespace へのアクセスを許可するには、namespace の Manual selection 列でスイッチを切り替えます。
注記特定の namespace にアクセスすると、namespace のスコープ内で次の情報にアクセスできます。
- デプロイメントに関するアラートおよび違反
- イメージの脆弱性データ
- デプロイメントメタデータおよびセキュリティー情報
- ロールおよびユーザー情報
- デプロイメントのネットワークグラフ、ポリシー、およびベースライン情報
- プロセス情報およびプロセスベースライン設定
- 各デプロイメントの優先リスク情報
- ラベルに基づいてクラスターおよび namespace へのアクセスを許可する場合は、Label selection rules セクションの Add label selector をクリックします。次に、Add rule をクリックして、ラベルセレクターの キー と 値 のペアを指定します。クラスターおよび namespace のラベルを指定できます。
- Save をクリックします。
16.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 のビルド時ポリシーを確認します。 | 該当なし |
Image | イメージ、そのコンポーネント、およびそれらの脆弱性を表示します。 | 該当なし |
インテグレーション | 次の項目を表示します。
| 次の項目を変更します。
|
K8sRole | セキュアなクラスター内の Kubernetes RBAC のロールを表示します。 | 該当なし |
K8sRoleBinding | セキュアなクラスター内の Kubernetes RBAC のロールバインディングを表示します。 | 該当なし |
K8sSubject | セキュアなクラスター内の Kubernetes RBAC のユーザーとグループを表示します。 | 該当なし |
Namespace | セキュアなクラスター内の既存の Kubernetes namespace を表示します。 | 該当なし |
NetworkGraph | セキュアなクラスター内のアクティブで許可されたネットワーク接続を表示します。 | 該当なし |
NetworkPolicy | セキュアなクラスター内の既存のネットワークポリシーを表示し、変更をシミュレートします。 | セキュアなクラスターにネットワークポリシーの変更を適用します。 |
Node | セキュアなクラスター内の既存の Kubernetes ノードを表示します。 | 該当なし |
ポリシー | 既存のシステムポリシーを表示します。 | システムポリシーを作成、変更、または削除します。 |
ロール | 既存の Red Hat Advanced Cluster Security for Kubernetes RBAC ロールおよびその権限を表示します。 | ロールおよびその権限を追加、変更、または削除します。 |
Secret | セキュアなクラスターのシークレットに関するメタデータを表示します。 | 該当なし |
ServiceAccount | セキュアなクラスター内の Kubernetes サービスアカウントを一覧表示します。 | 該当なし |
16.1.5. 認証および承認リソースの宣言型設定
認証プロバイダー、ロール、パーミッションセット、アクセススコープなどの認証および承認リソースに宣言型設定を使用できます。宣言型設定の使用方法は、関連情報セクションの宣言型設定の使用を参照してください。
関連情報