ビルトインのアドミッションコントローラーを設定してPodセキュリティスタンダードを強制する

ビルトインのアドミッションコントローラーを設定してPodセキュリティスタンダードを強制する

KubernetesはPodセキュリティスタンダードを強制できる、ビルトインのアドミッションコントローラーを提供しています。 アドミッションコントローラーを設定して、クラスター全体のデフォルトと例外を設定できます。

始める前に

Podセキュリティアドミッションは、Kubernetes v1.22のアルファリリースに続き、Kubernetes v1.23でベータとしてデフォルトで利用可能になりました。 バージョン1.25以降、Podセキュリティアドミッションは正式リリース(GA)されています。

バージョンを確認するには次のコマンドを実行してください: kubectl version.

Kubernetes 1.37を実行していない場合は、実行しているKubernetesバージョンのドキュメントに切り替えて、このページを参照できます。

アドミッションコントローラーを設定する

備考:

pod-security.admission.config.k8s.io/v1設定はv1.25+が必要です。 v1.23とv1.24は、v1beta1をご利用ください。 v1.22は、v1alpha1をご利用ください。
apiVersion: apiserver.config.k8s.io/v1
kind: AdmissionConfiguration
plugins:
- name: PodSecurity
  configuration:
    apiVersion: pod-security.admission.config.k8s.io/v1 # 互換性に関する備考を参照
    kind: PodSecurityConfiguration
    # モードラベルが設定されていない場合に適用されるデフォルト値。
    #
    # レベルラベルの値は次のいずれかでなければならない:
    # - "privileged"(デフォルト)
    # - "baseline"
    # - "restricted"
    #
    # バージョンラベルの値は次のいずれかでなければならない:
    # - "latest"(デフォルト) 
    # - "v1.37"のような特定のバージョン
    defaults:
      enforce: "privileged"
      enforce-version: "latest"
      audit: "privileged"
      audit-version: "latest"
      warn: "privileged"
      warn-version: "latest"
    exemptions:
      # 適用除外とする認証済みユーザー名の配列。
      usernames: []
      # 適用除外とするランタイムクラス名の配列。
      runtimeClasses: []
      # 適用除外とする名前空間の配列。
      namespaces: []

備考:

上記のマニフェストは、--admission-control-config-fileを使用してkube-apiserverに指定する必要があります。
最終更新 October 29, 2026 at 10:53 AM PST: Apply batched suggestions from code review (f8817d350a)