GKE の Pod セキュリティポリシー適用の確認

サポート対象のポリシー機能で危険な Pod 設定を制限し、実際に拒否されることを確認してください。

説明

必要な制限を適用するポリシーがないと、特権実行、過剰な capability、ホストへのアクセスなどが許可される場合があります。PodSecurityPolicy は Kubernetes v1.21 で非推奨となり、v1.25 で削除されました。現在のクラスターでは、Pod Security Admission やポリシーエンジンで必要な制限を適用してください。

想定される影響

  • 過剰な権限を持つ Pod がデプロイされやすくなる場合があります。
  • ホストへのアクセスや権限昇格を制御しにくくなる場合があります。
  • チームごとにワークロードのセキュリティ基準が異なる場合があります。

対処方法

  • 現在のクラスターには Pod Security Admission の enforce モードやサポート対象のポリシーエンジンを設定し、必要な例外だけを許可してください。audit・warn モードではリクエストを拒否しません。
  • レガシー PSP 環境ではポリシーと使用権限を確認し、サポート対象の制御へ移行してください。機能を有効にするだけでは必要な制限が適用されないため、許可と拒否の例をテストしてください。

例

PSP に対応していた過去の GKE と Provider 向けの抜粋です。現在のクラスターにこのブロックを追加せず、サポート対象のポリシー機能を使用してください。

変更前

hcl
resource "google_container_cluster" "cluster" {
  name               = "marcellus-wallace"
  location           = "us-central1-a"
  initial_node_count = 3

  pod_security_policy_config {
    enabled = false
  }

  timeouts {
    create = "30m"
    update = "40m"
  }
}

変更後

hcl
resource "google_container_cluster" "cluster" {
  name               = "marcellus-wallace"
  location           = "us-central1-a"
  initial_node_count = 3

  pod_security_policy_config {
    enabled = true
  }

  timeouts {
    create = "30m"
    update = "40m"
  }
}

補足:

  • 変更前: レガシー PSP 機能を無効にします。他のポリシー制御の適用状況は別途確認が必要です。
  • 変更後: レガシー PSP 機能を有効にします。実際の制限には PSP ポリシーと、それを使用する RBAC 権限も必要です。

参考資料