カスタム組織ポリシーと Policy Controller のコンビで強力な Kubernetes セキュリティを実現
Poonam Lamba
Product Manager, Google
Akshay Datar
Product Manager, Google Cloud
※この投稿は米国時間 2024 年 8 月 10 日に、Google Cloud blog に投稿されたものの抄訳です。
Google Cloud は、お客様による多層防御戦略の導入を支援するため、何千ものプロジェクト、API、デベロッパーへの Google Cloud の導入を安全にスケーリングできるよう、複数層の一元管理されたリソース ガバナンス管理機能を提供しています。これらの管理機能により、管理者は開発プロセスに新たなオーバーヘッドを発生させることなく、組織全体のセキュリティを強化し、コンプライアンスをサポートできます。
Google Cloud のカスタム組織ポリシーと Policy Controller は、Google が Google Kubernetes Engine(GKE)専用に提供している 2 つの効果的かつ補完的な管理機能です。これらの管理機能を組み合わせることで包括的なガバナンスとコンプライアンスを大規模に実現し、GKE クラスタを保護できます。ガードレールを追加することで、製品化までの時間を短縮し、運用効率を高めることも可能になります。
カスタム組織ポリシー
カスタム組織ポリシーは、リソース構成に対する柔軟性の高い Google Cloud ガードレールで、大規模にセキュリティとコンプライアンスを確保するのに役立ちます。カスタム組織ポリシーを使用すると、管理を一元化して階層的に適用し、コンプライアンスに準拠したリソースしか組織で使用できないようにすることが可能です。また、ポリシーのガードレールを実装することで、オーバーヘッドを増やすことなく開発チームが作業できる有効な境界線を設定し、インシデントのリスクを最小限に抑えて効率を向上させるプロアクティブな対策を簡単に導入できます。
カスタム組織ポリシーは、GKE クラスタやノードプール リソース タイプなど、急速に増加している Google Cloud のリソースをサポートします。管理者は Common Expression Language(CEL)を使用してユースケースに合わせた GKE リソースのカスタム制約をすばやく作成し、組織、フォルダ、プロジェクトなど、リソース階層の任意のレベルに適用できます。
ポリシー変更を展開する際の混乱を最小限に抑えるため、カスタム組織ポリシーは、Policy Simulator(リソース違反をプレビューする)やドライラン(ランタイム違反を特定する)などの安全な展開ツールもサポートしています。
gcloud、コンソール、Terraform を使用することで、階層型リソース構成のガードレールを安全に作成、テスト、デプロイできます。
使い始めるのに役立つ、GKE に対するカスタム組織ポリシーの制約を 4 つご紹介します。
-
Binary Authorization を適用し、信頼できる認証されたイメージだけを使用して新しい GKE クラスタをスピンアップできるようにする。
-
新しいノードプールのノード自動アップグレードの無効化を禁止する。
-
新しいクラスタの Workload Identity を有効にする。
-
既存クラスタの Cloud Logging の無効化を禁止する。
また、すぐに使用できる制約の拡張ライブラリもこちらで確認できます。
Policy Controller
Policy Controller は、GKE クラスタに対して完全にプログラム可能なポリシーを適用します。これらのポリシーはガードレールとしても機能し、セキュリティ、コンプライアンス、ガバナンスの管理に違反するあらゆる変更を防止します。Policy Controller を使用すると、承認時のポリシー適用、実行時の監査、CI / CD パイプラインからポリシーに対するコードの早期フィードバック取得などが可能です。Policy Controller は、オープンソースの Open Policy Agent Gatekeeper をベースとしています。
Policy Controller には統合ダッシュボードが備わっているため、クラスタに適用されているポリシーを一目で確認できます。適用ステータス(ドライラン、警告、適用)や違反だけでなく、Google Cloud 上の GKE、オンプレミスの Anthos、AWS および Azure 上の Anthos、接続クラスタなど、すべての Kubernetes 環境における違反への対処に役立つ高度な修復フローも確認できます。
Policy Controller はポリシー バンドルも提供しています。ポリシー バンドルは、Google が作成、管理している、すぐに使える制約のセットで、コードを一行も記述することなくそのまま利用できます。また、Policy Controller には、組織のカスタム ポリシーの使用を支援する、Kubernetes リソース用の 80 以上のテンプレートのライブラリと例も用意されています。
Policy Controller(すべてのポリシー ライブラリとポリシー バンドル)の一般的なユースケースには、以下のようなものがあります。
-
RBAC アクセスを制限する(クラスタ管理者になることへの未承認の原則を許可しないなど)。
-
特定のコンテナ イメージを pull できるリポジトリを制限する。
-
クラスタ フリートのワークロードが Center for Internet Security(CIS)GKE ベンチマークと Pod Security Standards に準拠するようにする。
-
セキュリティまたはガバナンスの目的で、すべてのワークロードに必要なラベルが存在していることを確認する。
カスタム組織ポリシーと Policy Controller の併用を推奨
カスタム組織ポリシーと Policy Controller を併用することで、組織は GKE リソースに対して多層防御を実装できます。
-
カスタム組織ポリシーにより、組織の管理者はリソースをプロビジョニングまたは変更する際、クラスタとノードプールの構成を一元的に適用できます。これにより、リソース階層を通じて GKE リソースに継承される管理の外側のレイヤが形成されます。
- Policy Controller により、プラットフォーム管理者は個々の GKE クラスタ内に動的なガードレールを設定できます。これにより、セキュリティ、運用、ガバナンスの要件を満たすクラスタ上の Kubernetes 管理を可能にする、詳細な内側のレイヤが形成されます。
組織ポリシーと Policy Controller を使用して階層化したガードレール
組織ポリシーと Policy Controller を併用することで、GKE を大規模に実行するために必要なガードレールが手に入ります。
組織ポリシーと Policy Controller の組み込みのインテグレーション
さらに、Security Command Center をご利用のお客様には、組織ポリシーと Policy Controller に関連するデータが自動的にコンソールに送信され、組織のリスク管理体制を包括的に把握できるよう支援します。
組織ポリシーと Policy Controller は、Cloud Operations のログや指標とも統合されています。
使ってみる
Policy Controller の使用を開始する際は、Policy Controller をインストールし、PCI DSS 3.2.1、CIS Kubernetes Benchmark 1.5.1、PSS Baseline、PSS Restricted、PSP、Policy Essentials、Anthos Service Mesh セキュリティなどの基準に照らしてクラスタ フリートを監査するためにポリシー バンドルを適用することが最も簡単です。
カスタム組織ポリシーを実装するには、カスタム ポリシーを定義、テスト、デプロイ、管理する方法について説明したガイドをご確認ください。最近ご紹介したカスタム組織ポリシーのデモもご覧いただけます。
セキュリティ アーキテクトであれ、コンプライアンス担当者であれ、デベロッパーであれ、カスタム組織ポリシーを使えばクラウド リソースを管理できるようになります。Google Cloud コンソールを今すぐご利用ください。
ー Google、プロダクト マネージャー Poonam Lamba
ー Google Cloud、プロダクト マネージャー Akshay Datar