Policy Controller の概要

Anthos Config Management の Policy Controller を使用すると、完全にプログラム可能なポリシーをクラスタに適用できます。こうしたポリシーは「ガードレール」として機能し、Kubernetes API の構成に対する変更がセキュリティ、運用、コンプライアンスの管理に違反することを防止します。

ポリシーを遵守していない API リクエストを積極的にブロックするように、または単にクラスタ構成を監査し違反を報告するように、ポリシーを設定できます。Policy Controller は、オープンソースの Open Policy Agent Gatekeeper プロジェクトをベースにしています。事前構築されたポリシーの完全なライブラリが付属し、共通のセキュリティ / コンプライアンス制御を実装できます。

Kubernetes 環境をアクティブにコントロールするだけでなく、デプロイ前にコンプライアンスのために構成を分析する方法として、必要に応じて Policy Controller を使用できます。これにより、構成変更の過程で貴重なフィードバックが得られます。また、ポリシーを遵守していない変更を、適用時に拒否される前に早期に発見できます。

制約

Policy Controller は、制約と呼ばれるオブジェクトを使用してクラスタにポリシーを遵守させます。たとえば、次の制約を使用できます。

これらは、Policy Controller のインストールに含まれる制約ライブラリの一部として提供される制約の一部にすぎません。このライブラリには、ベスト プラクティスの実施とリスクの制限に役立つ多数のポリシーが含まれています。

制約は Kubernetes API を使用してクラスタに直接適用することも、Config Sync を使用して中央 Git リポジトリからクラスタのセットに分散することもできます。

詳細については、制約の作成をご覧ください。

制約テンプレート

Policy Controller では、制約テンプレートを作成して独自のカスタム ポリシーを追加することもできます。制約テンプレートは、ポリシー パラメータ、エラー メッセージ、カスタム ロジックを定義します。

これらのテンプレートが作成されると、誰でも制約を使用してポリシーを呼び出すことができます。制約はパラメータを設定し、ポリシーが適用されるリソースと名前空間のスコープを定義します。この分離により、対象分野の専門家がポリシーを一度記述すると、他のユーザーはポリシーコードを記述または管理することなく、さまざまなコンテキストでポリシーを使用できます。

次のステップ