2.9. セキュリティーポリシーの管理
指定したセキュリティー標準、カテゴリー、および制御に基づいてクラスターのコンプライアンスを報告および検証するためのセキュリティーポリシーを作成します。
以下のセクションを参照してください。
2.9.1. セキュリティーポリシーの作成 リンクのコピーリンクがクリップボードにコピーされました!
コマンドラインインターフェイス (CLI) またはコンソールからセキュリティーポリシーを作成できます。
必要なアクセス権: クラスター管理者
重要: * ポリシーを特定のクラスターに適用するには、配置および配置バインディングを定義する必要があります。PlacementBinding
リソースは配置をバインドします。クラスターの Label selector フィールドに有効な値を入力して、Placement
および PlacementBinding
リソースを定義してください。* Placement
リソースを使用するには、ManagedClusterSetBinding
リソースを使用して、ManagedClusterSet
リソースを Placement
リソースの namespace にバインドする必要があります。詳細は、ManagedClusterSetBinding リソースの作成 を参照してください。
2.9.1.1. コマンドラインインターフェイスからのセキュリティーポリシーの作成 リンクのコピーリンクがクリップボードにコピーされました!
コマンドラインインターフェイス (CLI) からポリシーを作成するには、以下の手順を実行します。
以下のコマンドを実行してポリシーを作成します。
oc create -f policy.yaml -n <policy-namespace>
oc create -f policy.yaml -n <policy-namespace>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ポリシーが使用するテンプレートを定義します。YAML ファイルを編集し、
policy-templates
フィールドを追加してテンプレートを定義します。ポリシーは以下の YAML ファイルのようになります。Copy to Clipboard Copied! Toggle word wrap Toggle overflow PlacementBinding
リソースを定義して、ポリシーをPlacement
リソースにバインドします。PlacementBinding
リソースは、次の YAML の例のようになります。Copy to Clipboard Copied! Toggle word wrap Toggle overflow
2.9.1.1.1. CLI からのセキュリティーポリシーの表示 リンクのコピーリンクがクリップボードにコピーされました!
以下の手順を実行して、CLI からセキュリティーポリシーを表示します。
以下のコマンドを実行して、特定のセキュリティーポリシーの詳細を表示します。
oc get policies.policy.open-cluster-management.io <policy-name> -n <policy-namespace> -o yaml
oc get policies.policy.open-cluster-management.io <policy-name> -n <policy-namespace> -o yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下のコマンドを実行して、セキュリティーポリシーの詳細を表示します。
oc describe policies.policy.open-cluster-management.io <policy-name> -n <policy-namespace>
oc describe policies.policy.open-cluster-management.io <policy-name> -n <policy-namespace>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
2.9.1.2. コンソールからのクラスターセキュリティーポリシーの作成 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Advanced Cluster Management にログインしたら、Governance ページに移動し、Create policy をクリックします。コンソールから新規ポリシーを作成すると、YAML エディターで YAML ファイルも作成されます。YAML エディターを表示するには、Create policy フォームの最初にトグルを選択して有効にします。
Create policy フォームに入力し、Submit ボタンを選択します。YAML ファイルは以下のポリシーのようになります。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次の
PlacementBinding
の例を参照してください。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次の
Placement
の例を参照してください。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - オプション: ポリシーの説明を追加します。
- Create Policy をクリックします。コンソールからセキュリティーポリシーが作成されました。
2.9.1.2.1. コンソールからのセキュリティーポリシーの表示 リンクのコピーリンクがクリップボードにコピーされました!
コンソールからセキュリティーポリシーとステータスを表示します。
- Governance ページに移動し、ポリシー表の一覧を表示します。注記: ポリシー表の一覧をフィルタリングするには、Policies タブまたは Cluster violations タブを選択します。
-
詳細を表示するポリシーを 1 つ選択します。Details、Clusters、および Templates タブが表示されます。クラスターまたはポリシーのステータスを判断できない場合は、
No status
メッセージが表示されます。 - または、Policies タブを選択してポリシーのリストを表示します。ポリシーの行をデプロイメントすると、Description、Standards、Controls、および Categories の詳細が表示されます。
2.9.1.3. CLI からのポリシーセットの作成 リンクのコピーリンクがクリップボードにコピーされました!
デフォルトでは、ポリシーまたは配置のないポリシーセットが作成されます。ポリシーセットの配置を作成し、クラスターに存在するポリシーを 1 つ以上設定する必要があります。ポリシーセットを作成する場合は、多くのポリシーを追加できます。
以下のコマンドを実行して CLI からポリシーセットを作成します。
oc apply -f <policyset-filename>
oc apply -f <policyset-filename>
2.9.1.4. コンソールからのポリシーセットの作成 リンクのコピーリンクがクリップボードにコピーされました!
- ナビゲーションメニューから Govern を選択します。
- Policy sets タブを選択します。
- Create policy set ボタンを選択し、フォームを完了します。
- ポリシーセットの詳細を追加し、送信 ボタンを選択します。
ポリシーがポリシーテーブルからリスト表示されます。
2.9.2. セキュリティーポリシーの更新 リンクのコピーリンクがクリップボードにコピーされました!
セキュリティーポリシーを更新する方法を学びます。
2.9.2.1. CLI からのポリシーセットへのポリシーの追加 リンクのコピーリンクがクリップボードにコピーされました!
次のコマンドを実行して、ポリシーセットを編集します。
oc edit policysets <your-policyset-name>
oc edit policysets <your-policyset-name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
ポリシーセットの
policies
セクションのリストにポリシー名を追加します。 - 次のコマンドを使用して、追加したポリシーをポリシーセットの配置セクションに適用します。
oc apply -f <your-added-policy.yaml>
oc apply -f <your-added-policy.yaml>
PlacementBinding
と Placement
の両方が作成されます。
注記: 配置バインディングを削除すると、ポリシーはポリシーセットによって配置されます。
2.9.2.2. コンソールからのポリシーセットへのポリシーの追加 リンクのコピーリンクがクリップボードにコピーされました!
- Policy sets タブを選択して、ポリシーセットにポリシーを追加します。
- Actions アイコンを選択し、Edit を選択します。Edit policy set フォームが表示されます。
- フォームの Policies セクションに移動し、ポリシーセットに追加するポリシーを選択します。
2.9.2.3. セキュリティーポリシーの無効化 リンクのコピーリンクがクリップボードにコピーされました!
デフォルトでは、ポリシーは有効です。コンソールからポリシーを無効にします。
Red Hat Advanced Cluster Management for Kubernetes コンソールにログインしたら、Governance ページに移動し、ポリシー表のリストを表示します。
Actions アイコン > Disable policy の順に選択します。Disable Policy ダイアログボックスが表示されます。
Disable policy をクリックします。ポリシーが無効化されました。
2.9.3. セキュリティーポリシーの削除 リンクのコピーリンクがクリップボードにコピーされました!
CLI またはコンソールからセキュリティーポリシーを削除します。
CLI からセキュリティーポリシーを削除します。
以下のコマンドを実行してセキュリティーポリシーを削除します。
oc delete policies.policy.open-cluster-management.io <policy-name> -n <policy-namespace>
oc delete policies.policy.open-cluster-management.io <policy-name> -n <policy-namespace>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ポリシーを削除すると、ターゲットクラスターから削除されます。
oc get policies.policy.open-cluster-management.io <policy-name> -n <policy-namespace>
コマンドを実行して、ポリシーが削除されたことを確認します。
コンソールからセキュリティーポリシーを削除します。
ナビゲーションメニューから Governance をクリックし、ポリシー表のリストを表示します。ポリシー違反表で、削除するポリシーの Actions アイコンをクリックします。
Remove をクリックします。Remove policy ダイアログボックスから、Remove policy をクリックします。
2.9.3.1. コンソールからのポリシーセットの削除 リンクのコピーリンクがクリップボードにコピーされました!
- Policy sets タブから、ポリシーセットの Actions アイコンを選択します。Delete をクリックすると、Permanently delete Policyset? ダイアログボックスが表示されます。
- Delete ボタンをクリックします。
2.9.4. ポリシーによって作成されたリソースのクリーンアップ リンクのコピーリンクがクリップボードにコピーされました!
ポリシーによって作成されたリソースをクリーンアップするには、設定ポリシーで pruneObjectBehavior
パラメーターを使用します。pruneObjectBehavior
が設定されていると、関連するオブジェクトは、関連する設定ポリシー (または親ポリシー) が削除された後にのみクリーンアップされます。
パラメーターに使用できる値は、次の説明を参照してください。
-
DeleteIfCreated
: ポリシーによって作成されたすべてのリソースをクリーンアップします。 -
DeleteAll
: ポリシーによって管理されるすべてのリソースをクリーンアップします。 -
None
: これはデフォルト値であり、関連するリソースが削除されない以前のリリースと同じ動作を維持します。
コマンドラインからポリシーを作成するときに、YAML ファイルに値を直接設定できます。
コンソールから、Policy templates ステップの Prune Object Behavior セクションで値を選択できます。
注記:
-
Operator をインストールするポリシーに
pruneObjectBehavior
パラメーターが定義されている場合は、Operator のアンインストールを完了するのに追加のクリーンアップが必要です。このクリーンアップの一環として、Operator のClusterServiceVersion
オブジェクトを削除する必要がある場合があります。 -
マネージドクラスターで
config-policy-addon
リソースを無効にすると、pruneObjbectBehavior
は無視されます。ポリシーの関連リソースを自動的にクリーンアップするには、アドオンを無効にする前に、マネージドクラスターからポリシーを削除する必要があります。
2.9.5. 関連情報 リンクのコピーリンクがクリップボードにコピーされました!
- ポリシー YAML ファイルに関する詳細は、ポリシーの概要 を参照してください。
- 有効な式については、Kubernetes ドキュメントの セットベースの要件をサポートするリソース を参照してください。
-
安定した
Policysets
を表示します。これには、デプロイメントにポリシージェネレーターが必要です (PolicySets--Stable)。 - ポリシーに関する他のトピックは、ガバナンス を参照してください。
2.9.6. 設定ポリシーの管理 リンクのコピーリンクがクリップボードにコピーされました!
設定ポリシーの作成、適用、表示、および更新を説明します。
必要なアクセス権限: 管理者およびクラスター管理者
2.9.6.1. 設定ポリシーの作成 リンクのコピーリンクがクリップボードにコピーされました!
設定ポリシーの YAML ファイルは、コマンドラインインターフェイス (CLI) またはコンソールから作成できます。
既存の Kubernetes マニフェストがある場合は、ポリシージェネレーターを使用して、ポリシーにマニフェストを自動的に含めることを検討してください。ポリシージェネレーター ドキュメントを参照してください。設定ポリシーの作成は、以下のセクションを参照してください。
2.9.6.1.1. CLI からの設定ポリシーの作成 リンクのコピーリンクがクリップボードにコピーされました!
CLI から設定ポリシーを作成するには、以下の手順を実行します。
設定ポリシーの YAML ファイルを作成します。以下のコマンドを実行します。
oc create -f configpolicy-1.yaml
oc create -f configpolicy-1.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 設定ポリシーは以下のようになります。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下のコマンドを実行してポリシーを適用します。
oc apply -f <policy-file-name> --namespace=<namespace>
oc apply -f <policy-file-name> --namespace=<namespace>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下のコマンドを実行してポリシーのリストを確認します。
oc get policies.policy.open-cluster-management.io --namespace=<namespace>
oc get policies.policy.open-cluster-management.io --namespace=<namespace>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
設定ポリシーが作成されました。
2.9.6.1.2. CLI からの設定ポリシーの表示 リンクのコピーリンクがクリップボードにコピーされました!
CLI から設定ポリシーを表示するには、以下の手順を実行します。
以下のコマンドを実行して、特定の設定ポリシーの詳細を表示します。
oc get policies.policy.open-cluster-management.io <policy-name> -n <namespace> -o yaml
oc get policies.policy.open-cluster-management.io <policy-name> -n <namespace> -o yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下のコマンドを実行して、設定ポリシーの詳細を表示します。
oc describe policies.policy.open-cluster-management.io <name> -n <namespace>
oc describe policies.policy.open-cluster-management.io <name> -n <namespace>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
2.9.6.1.3. コンソールからの設定ポリシーの作成 リンクのコピーリンクがクリップボードにコピーされました!
コンソールから設定ポリシーを作成すると、YAML エディターで YAML ファイルも作成されます。
- コンソールからクラスターにログインし、ナビゲーションメニューから Governance を選択します。
- Create policy をクリックします。仕様パラメーターの設定ポリシーのいずれかを選択して、作成するポリシーを指定します。
ポリシーフォームを完了して、設定ポリシーの作成を続行します。以下のフィールドに適切な値を入力するか、選択します。
- 名前
- Specifications
- Cluster selector
- Remediation action
- Standards
- Categories
- Controls
- Create をクリックします。設定ポリシーが作成されました。
2.9.6.1.4. コンソールからの設定ポリシーの表示 リンクのコピーリンクがクリップボードにコピーされました!
コンソールから設定ポリシーおよびそのステータスを表示します。
コンソールからクラスターにログインしたら、Governance を選択してポリシー表の一覧を表示します。注記: ポリシー表の一覧をフィルタリングするには、All policies タブまたは Cluster violations タブを選択します。
詳細を表示するポリシーを 1 つ選択します。Details、Clusters、および Templates タブが表示されます。
2.9.6.2. 設定ポリシーの更新 リンクのコピーリンクがクリップボードにコピーされました!
設定ポリシーの更新については、以下のセクションを参照してください。
2.9.6.2.1. 設定ポリシーの無効化 リンクのコピーリンクがクリップボードにコピーされました!
設定ポリシーを無効にします。前述の説明と同様に、ログインして ガバナンス ページに移動し、タスクを完了します。
- 表リストから設定ポリシーの Actions アイコンを選択し、Disable をクリックします。Disable Policy ダイアログボックスが表示されます。
- Disable policy をクリックします。
ポリシーは無効になっていますが、削除されていません。
2.9.6.3. 設定ポリシーの削除 リンクのコピーリンクがクリップボードにコピーされました!
CLI またはコンソールから設定ポリシーを削除します。
次の手順で、CLI から設定ポリシーを削除します。
次のコマンドを実行して、1 つまたは複数のターゲットクラスターからポリシーを削除します。
oc delete policies.policy.open-cluster-management.io <policy-name> -n <namespace>
oc delete policies.policy.open-cluster-management.io <policy-name> -n <namespace>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 以下のコマンドを実行して、ポリシーが削除されていることを確認します。
oc get policies.policy.open-cluster-management.io <policy-name> -n <namespace>
oc get policies.policy.open-cluster-management.io <policy-name> -n <namespace>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次の手順で、コンソールから設定ポリシーを削除します。
- ナビゲーションメニューから Governance をクリックし、ポリシー表のリストを表示します。
- ポリシー違反テーブルで削除するポリシーの Actions アイコンをクリックし、Remove をクリックします。
- Remove policy ダイアログボックスから、Remove policy をクリックします。
ポリシーが削除されました。
2.9.6.4. 関連情報 リンクのコピーリンクがクリップボードにコピーされました!
- CM-Configuration-Management フォルダーから Red Hat Advanced Cluster Management でサポート対象の設定ポリシーのサンプルを参照してください。
- または、サンプル設定ポリシーの表 を参照して、コントローラーによってモニターされる他の設定ポリシーを確認することもできます。他のポリシーの管理は、セキュリティーポリシーの管理 を参照してください。
2.9.7. 非接続環境での Operator ポリシーの管理 リンクのコピーリンクがクリップボードにコピーされました!
インターネットに接続していない (切断状態の) Red Hat OpenShift Container Platform クラスターへの Red Hat Advanced Cluster Management for Kubernetes ポリシーのデプロイが必要になる場合があります。デプロイするポリシーを、Operator Lifecycle Manager Operator をインストールするポリシーのデプロイに使用する場合は、Operator カタログのミラーリング の手順に従う必要があります。
Operator イメージへのアクセスを検証するには、次の手順を実行します。
ポリシーで使用するために必要なパッケージが利用可能であることを検証するには、必要なパッケージが利用可能であることの確認 を参照してください。次のポリシーがデプロイされているマネージドクラスターで使用される各イメージレジストリーの可用性を検証する必要があります。
-
container-security-operator
-
非推奨:
gatekeeper-operator-product
-
compliance-operator
-
ソースが利用可能であることを検証するには、イメージコンテンツソースポリシーの設定 を参照してください。イメージコンテンツソースポリシーは、切断されたマネージドクラスターのそれぞれに存在する必要があり、プロセスを簡素化するためにポリシーを使用してデプロイできます。次のイメージソースの場所の表を参照してください。
Expand ガバナンスポリシーの種類 イメージソースの場所 コンテナーのセキュリティー
registry.redhat.io/quay
コンプライアンス
registry.redhat.io/compliance
ゲートキーパー
registry.redhat.io/rhacm2
2.9.8. ポリシーセットを使用した Red Hat OpenShift Platform Plus のインストール リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Openshift Platform Plus ポリシーセットを適用するためのガイダンスは、引き続きお読みください。Red Hat OpenShift ポリシーセットを適用すると、Red Hat Advanced Cluster Security で保護されたクラスターサービスと Compliance Operator がすべての OpenShift Container Platform マネージドクラスターにデプロイされます。
2.9.8.1. 前提条件 リンクのコピーリンクがクリップボードにコピーされました!
ポリシーセットを適用する前に、次の手順を完了してください。
サブスクリプションをクラスターに適用できるようにするには、
policy-configure-subscription-admin-hub.yaml
ポリシーを適用し、修復アクションをenforce
に設定する必要があります。次の YAML をコピーして、コンソールの YAML エディターに貼り付けます。Copy to Clipboard Copied! Toggle word wrap Toggle overflow コマンドラインインターフェイスから以前の YAML を適用するには、以下のコマンドを実行します。
oc apply -f policy-configure-subscription-admin-hub.yaml
oc apply -f policy-configure-subscription-admin-hub.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Policy Generator kustomize プラグインをインストールします。Kustomize v4.5 以降を使用してください。Operator をインストールするためのポリシーの生成 を参照してください。
ポリシーは
policies
namespace にインストールされます。その namespace をClusterSet
にバインドする必要があります。たとえば、以下のサンプル YAML をコピーして適用し、namespace をデフォルトのClusterSet
にバインドします。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、コマンドラインインターフェイスから
ManagedClusterSetBinding
リソースを適用します。oc apply -f managed-cluster.yaml
oc apply -f managed-cluster.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
前提条件を満たしたら、ポリシーセットを適用できます。
2.9.8.2. Red Hat OpenShift Platform Plus ポリシーセットの適用 リンクのコピーリンクがクリップボードにコピーされました!
-
Red Hat OpenShift Plus の前提条件設定が含まれている
openshift-plus/policyGenerator.yaml
ファイルを使用します。openshift-plus/policyGenerator.yaml
を参照してください。 Kustomize
コマンドを使用して、ポリシーをハブクラスターに適用します。kustomize build --enable-alpha-plugins | oc apply -f -
kustomize build --enable-alpha-plugins | oc apply -f -
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記: インストールしたくない OpenShift Platform Plus のコンポーネントは、
policyGenerator.yaml
ファイルを編集し、それらのコンポーネントのポリシーを削除またはコメントアウトします。
2.9.8.3. 関連情報 リンクのコピーリンクがクリップボードにコピーされました!
- ポリシーセットの概要は、Red Hat OpenShift Platform Plus policy set を参照してください。
- トピックの最初の ポリシーセットを使用した Red Hat OpenShift Platform Plus のインストール に戻ります。
2.9.9. OperatorPolicy リソースを使用して Operator をインストールする リンクのコピーリンクがクリップボードにコピーされました!
マネージドクラスターに Operator Lifecycle Manager (OLM) マネージドオペレーターをインストールするには、Policy
定義で OperatorPolicy
ポリシーテンプレートを使用します。
2.9.9.1. Quay をインストールするための OperatorPolicy リソースの作成 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Operator カタログを使用して stable-3.11
チャネルに最新の Quay Operator をインストールする次の Operator ポリシーサンプルを参照してください。
OperatorPolicy
ポリシーテンプレートを追加すると、コントローラーを使用してクラスター上に operatorGroup
オブジェクトおよび subscription
オブジェクトが作成されます。その結果、インストールの残りの部分は OLM によって完了します。マネージドクラスターの OperatorPolicy
リソースの .status.Conditions
フィールドと .status.relatedObjects
フィールドで、所有リソースの正常性を確認できます。
Operator ポリシーのステータスを確認するには、マネージドクラスターで次のコマンドを実行します。
oc -n <managed cluster namespace> get operatorpolicy install-quay
oc -n <managed cluster namespace> get operatorpolicy install-quay
2.9.9.2. 関連情報 リンクのコピーリンクがクリップボードにコピーされました!
Operator ポリシーコントローラー を参照してください。