第4章 受付コントローラーの適用の使用

Red Hat Advanced Cluster Security for Kubernetes は Kubernetes 受付コントローラー および OpenShift Container Platform 受付プラグイン と連携して、Kubernetes または OpenShift Container Platform がワークロード (例: デプロイメント、デーモンセットまたはジョブ) を作成する前にセキュリティーポリシーを適用することができます。

Red Hat Advanced Cluster Security for Kubernetes 受付コントローラーは、Red Hat Advanced Cluster Security for Kubernetes で設定するポリシーに違反するワークロードを作成できないようにします。Red Hat Advanced Cluster Security for Kubernetes バージョン 3.0.41 以降、受付コントローラーを設定して、ポリシーに違反するワークロードに対する更新を防ぐことができます。

Red Hat Advanced Cluster Security for Kubernetes は ValidatingAdmissionWebhook コントローラーを使用して、プロビジョニングされるリソースが指定のセキュリティーポリシーに準拠していることを確認します。これに対応するために、Red Hat Advanced Cluster Security for Kubernetes により複数の Webhook ルールが含まれる ValidatingWebhookConfiguration が作成されます。

Kubernetes または OpenShift Container Platform API サーバーが Webhook ルールのいずれかに一致する要求を受信する場合には、API サーバーは AdmissionReview 要求を Red Hat Advanced Cluster Security for Kubernetes に送信します。Red Hat Advanced Cluster Security for Kubernetes は、設定されたセキュリティーポリシーに基づいて要求を受諾または拒否します。

注記

OpenShift Container Platform で受付コントローラーの適用を使用するには、Red Hat Advanced Cluster Security for Kubernetes バージョン 3.0.49 以降が必要です。

4.1. 受付コントローラーの適用について

受付コントローラーの適用を使用する予定の場合には、以下を考慮してください。

  • API レイテンシー: 受付コントローラーの適用を使用すると、追加の API 検証要求が必要になるため、Kubernetes または OpenShift Container Platform API のレイテンシーが増加します。fabric8 などの数多くの標準 Kubernetes ライブラリーには、デフォルトで短時間の Kubernetes または OpenShift Container Platform API のタイムアウトが含まれています。また、使用しているカスタム自動化での API タイムアウトも検討してください。
  • イメージのスキャン: クラスター設定パネルで Contact Image Scanners オプションを設定して、受付コントローラーが要求の確認中にイメージをスキャンするかどうかを選択できます。

    • この設定を有効にすると、スキャンまたはイメージ署名の検証結果がまだ利用できない場合には、Red Hat Advanced Cluster Security for Kubernetes がイメージスキャナーに接続し、これにが原因でかなりの遅延が発生します。
    • この設定を無効にすると、キャッシュされたスキャンと署名の検証結果が利用可能な場合にのみ、適用するかどうかの意思決定に、イメージスキャンの基準が考慮されます。
  • 受付コントローラーの適用を使用すると、以下が可能になります。

    • Pod の securityContext のオプション。
    • デプロイメント設定
    • イメージコンポーネントおよび脆弱性。
  • 受付コントローラーの適用は、以下に対して使用することはできません。

    • プロセスなどのランタイム動作。
    • ポートの公開に基づくポリシー。
  • Kubernetes または OpenShift Container Platform API サーバーと Red Hat Advanced Cluster Security for Kubernetes Sensor の間に接続性の問題がある場合には、受付コントローラーが失敗する場合があります。この問題を解決するには、受付コントローラーの適用の無効化セクションで説明されているように ValidatingWebhookConfiguration オブジェクトを削除します。
  • ポリシーに対してデプロイ時の適用を有効にしていて、受付コントローラーを有効にしている場合に、Red Hat Advanced Cluster Security for Kubernetes はポリシーに違反するデプロイをブロックしようとします。タイムアウトなど、コンプライアンス違反のデプロイメントが受付コントローラーによって拒否されない場合でも、Red Hat Advanced Cluster Security for Kubernetes は引き続き、レプリカをゼロにスケーリングするなど、他のデプロイ時の強制メカニズムを適用します。