GKE control plane authority について


このページでは、マネージド コントロール プレーンのセキュリティの可視性と制御を強化するために Google Kubernetes Engine(GKE)で提供されているオプションについて説明します。これらのオプションの総称が GKE control plane authority です。このページは、情報セキュリティ リーダー、コンプライアンス管理者、アナリストを対象としており、機密データの取り扱いに関する厳格なプライバシーとセキュリティのニーズを満たす必要がある場合にご利用いただけます。

GKE control plane authority 機能について

GKE では、コントロール プレーンのセキュリティ構成の管理はすべて Google Cloud によって行われます。これに含まれるものとしては、保存中のストレージの暗号化や、クラスタ内の認証情報を署名して検証する鍵と認証局(CA)の構成があります。GKE クラスタのコントロール プレーン ノードは、Google Cloud が管理するプロジェクトの中に存在します。Google Cloud が行う処理の詳細については、GKE の共有責任をご覧ください。

GKE control plane authority は、オプションとして提供される可視性と制御のための機能の集合であり、これを利用するとフルマネージド コントロール プレーンのノードの特定の面について検証して管理することができます。これらの機能は、次のような要件がある場合に最適です。

  • 厳しい規制が課せられる業種(金融、医療、行政機関など)であり、特定のコンプライアンス要件がある
  • 機密データを扱っており、セキュリティと暗号化についての厳格な要件がある
  • 重要なワークロードの実行時の信頼性を高めるために、GKE に対する可視性を強化する必要がある
  • コンプライアンスまたは監査のために、データの暗号化、ソフトウェアの完全性、またはロギングに関連する特定の要件を満たす必要がある
  • 重要なデータを処理する機密性の高いワークロードがあり、そのデータの暗号化とアクセスを可視化する必要がある
  • 組織または規制の特定の要件を満たすカスタム セキュリティ ポリシーを適用する必要がある
  • GKE 環境の透明性と可視性をレベルアップしたい(特に、Google Cloud によってコントロール プレーン内で行われるアクションに関して)

GKE control plane authority のメリット

GKE control plane authority の機能は、厳しい規制が課せられる環境で厳格なセキュリティ ポリシーや厳格な監査要件がある場合に最適です。これらの機能には、次のようなメリットがあります。

  • 可視性と制御の強化: GKE コントロール プレーンに対して追加の可視性、制御、暗号化機能を使用できます。
  • リスク軽減: 包括的なログを使用して、マネージド コントロール プレーンに対する潜在的な脅威を事前に検出して対応できます。
  • 標準化された CA と鍵管理: GKE クラスタ CA の管理に Certificate Authority Service を使用すると、証明書管理を特定のチームに委任するとともに、CA ポリシーを包括的に適用することができます。さらに、コントロール プレーンのディスク暗号鍵の管理に Cloud KMS を使用すると、同様の管理委任が可能です。

鍵と認証情報の管理

デフォルトでは、GKE クラスタ内の鍵と CA の管理は Google Cloud によって行われます。必要に応じて、お客様が Cloud KMSCA Service を使用して独自の鍵と CA を設定して、これらを新しいクラスタの作成時に使用することができます。

これらの鍵と CA は、Google Cloud のデフォルトの代わりにクラスタ内の ID の発行と検証に、およびコントロール プレーン VM 内のデータの暗号化に使用されます。お客様が ID 発行とデータ暗号化の鍵に対する制御を維持しているときは、次のことができるようになります。

  • データ主権とプライバシーに関する規制で鍵に対する排他的制御が義務付けられている場合にこれを遵守する
  • 独自の暗号鍵を管理することによって、Kubernetes 内の重要な機密データの暗号化を制御する
  • データ暗号化戦略を組織のポリシーと要件に基づいて(たとえばハードウェア格納型キーの使用についての要件)カスタマイズする。

セルフマネージド CA とサービス アカウント キー

お客様によって管理される Cloud KMS 鍵と CA Service CA を使用するように GKE コントロール プレーンを構成できます。GKE はこれらのリソースを使用して、クラスタ内の ID を発行して検証します。たとえば、GKE は CA と鍵を使用して Kubernetes クライアント証明書Kubernetes サービス アカウント署名なしトークンを発行します。

次のリソースを作成しておき、GKE による ID の発行時にこれらを使用します。

  1. サービス アカウント署名鍵: クラスタ内のサービス アカウントのための Kubernetes ServiceAccount 署名なしトークンに署名します。この署名なしトークンは JSON Web Token(JWT)であり、これで Pod と Kubernetes API サーバーとの通信が可能になります。
  2. サービス アカウントの検証鍵: Kubernetes サービス アカウントの JWT を検証します。この鍵は通常は署名鍵と同じですが、鍵をより安全にローテーションできるように、別々に構成されます。
  3. クラスタ CA: 証明書署名リクエスト(CSR)や kubelet 通信などの目的で署名付き証明書を発行します。
  4. etcd ピア CA: クラスタ内の etcd インスタンス間の通信用に署名付き証明書を発行します。
  5. etcd API CA: etcd API サーバーとの通信用に署名付き証明書を発行します。
  6. 集約 CA: Kubernetes API サーバーと拡張機能サーバーとの間の通信を可能にするための署名付き証明書を発行します。

GKE によってクラスタ内で ID が発行されると、対応する監査ログが Cloud Logging で作成されるので、発行された ID をその存続期間全体にわたってこのログを使用して追跡できます。

詳細については、GKE で独自の認証局と署名鍵を実行するをご覧ください。

コントロール プレーンのブートディスクと etcd の暗号化

デフォルトでは、GKE によってコントロール プレーン VM のブートディスク、etcd のデータを保存するディスク、および etcd の Google Cloud 内部運用バックアップが暗号化され、これには Google Cloud が管理する暗号鍵が使用されます。このデフォルトの暗号化の詳細については、デフォルトの保存データの暗号化をご覧ください。

必要に応じて、お客様が Cloud KMS を使用して管理する独自の暗号鍵を、次のリソースの暗号化に使用できます。

  • コントロール プレーンのブートディスク: 各コントロール プレーン VM の起動に使用される Compute Engine ディスク。
  • etcd ディスク: 各コントロール プレーン VM にアタッチされ、クラスタ内の etcd インスタンスのデータを保存する Compute Engine ディスク。
  • etcd 内部オペレーション バックアップ: 障害復旧などのオペレーション上の目的で使用される etcd の内部 Google Cloud バックアップ。

    このバックアップは、Google Cloud 内部の緊急時対策として作成されます。お客様のクラスタのバックアップと復元を行うには、代わりに Backup for GKE を使用します。

手順については、etcd とコントロール プレーンのブートディスクを暗号化するをご覧ください。

この追加で行われるオプションの暗号化が適しているのは、クラスタ コントロール プレーンでの暗号化手段の制御に関連する、規制またはコンプライアンスの特定の要件を満たす必要がある場合です。これとは別に、お客様独自の鍵を使用してクラスタ内のワーカーノードのブートディスクとストレージ ディスクを暗号化できます。詳細については、顧客管理の暗号鍵(CMEK)を使用するをご覧ください。

GKE control plane authority を使用してコントロール プレーンのブートディスクを暗号化すると、GKE コントロール プレーン VM では自動的に、Hyperdisk Balanced の情報保護モードがブートディスクで使用されます。この構成では、ワーカーノードのデフォルトのブートディスクは変更されません。

コントロール プレーンのセキュリティに関するその他のリソース

このセクションでは、コントロール プレーンのセキュリティの信頼性を高めるために使用できるその他の方法について説明します。次のリソースは、GKE control plane authority を使用しなくても使用できます。

  • コントロール プレーンの VM イメージの完全性: GKE によってノード VM の作成と起動のイベントに関する詳細なログが Cloud Logging に追加されます。また、コントロール プレーンとワーカーノードのマシンイメージに対応する SLSA VSA が GitHub で公開されています。お客様は、VM で使用されている OS イメージに対応する VSA があることを確認するとともに、各コントロール プレーン VM の起動完全性を確認できます。

    VM 完全性確認を行うには、GKE コントロール プレーンの VM の完全性を確認するをご覧ください。

  • 組み込みのコントロール プレーン セキュリティ対策: GKE によってさまざまなセキュリティ強化対策がマネージド コントロール プレーンに対して実行されます。詳細については、コントロール プレーンのセキュリティをご覧ください。

次のステップ