2026年3月3日火曜日

Pod Security Admission

[用途]
ルール対象外のマニフェストをデプロイさせないための
防止策で利用するイメージになる

[検証]
以下のコマンドを投入する
kubectl label ns default pod-security.kubernetes.io/warn=baseline
[各種コマンドの意味]
1. kubectl label ns default

  • 意味: default という名前空間(Namespace)に「付箋(ラベル)」を貼るという指示です。
  • ポイント: 新しい設定ファイルを作るのではなく、既存の「箱(Namespace)」の属性を書き換えるだけで設定が完了するのが、最新の PSA (Pod Security Admission) の特徴です。

2. pod-security.kubernetes.io/
  • 意味: これは「Podセキュリティ機能に対する設定ですよ」という接頭辞(プレフィックス)です。
  • 役割: k8sには多くのラベルがありますが、この名前で始まるラベルを貼ることで、k8sのエンジンが自動的に「セキュリティのチェックを開始しなきゃ!」と判断します。

3. warn (コントロール・モード)
PSAには3つのモードがありますが、今回はその中の 警告モード を選びました。
  • enforce (強制): 基準に合わないPodは起動させない
  • audit (監査): ログに記録するだけ。
  • warn (警告): 今回の結果の通り、Podは起動させるが、実行者に警告を出す

4. baseline (ポリシー・レベル)
セキュリティの「厳しさ」のレベルです。
  • Privileged: 無制限。何でも許容する。
  • Baseline: 今回の設定。 最小限の「危ない設定」を禁止する標準レベル。
  • Restricted: 非常に厳しい。Podを動かすために、細かいセキュリティ設定が必須。


実施結果:








問題があるマニフェストをデプロイしてみる

apiVersion: v1
kind: Pod
metadata:
name: security-test-pod
spec:
hostNetwork: true # ← これが基準違反のポイント
containers:
- name: nginx
image: nginx:alpine



以下の警告表示が出ることが確認できる




0 件のコメント:

コメントを投稿

Pod Security Admission

[用途] ルール対象外のマニフェストをデプロイさせないための 防止策で利用するイメージになる [検証] 以下のコマンドを投入する kubectl label ns default pod-security.kubernetes.io/warn=baseline [各種コマンドの意...