よくある質問: Amazon EKS ポッドのポッドセキュリティ基準とポッドセキュリティアドミッション

所要時間2分
0

Amazon Elastic Kubernetes Service (Amazon EKS) ポッドのポッドセキュリティ基準とポッドセキュリティアドミッションについて、質問があります。

**Q:**Amazon EKS クラスターの Pod Security Standards と Pod Security Admission を有効または無効にする方法を教えてください。

Kubernetes バージョン 1.23 以降ではデフォルトで、特権付き Pod Security Standards プロファイルのすべての Pod Security Admission モードは、クラスターレベルで有効になっています。Pod Security Admission では、特権付きの Pod Security Standards プロファイルを持つポッドをすべての名前空間にデプロイできます。

Q: 特定の Pod Security Admission モードと Pod Security Standards プロファイルを、Kubernetes 名前空間レベルで適用する方法を教えてください。

Kubernetes 名前空間レベルで特定の Pod Security Admission モードと Pod Security Standards プロファイルを適用するには、名前空間ラベルを適切に設定します。

例:

次のコマンドを実行して、ベースラインの Pod Security Standards の強制モードを単一の名前空間に適用します。

$ kubectl label --overwrite ns test-namespace pod-security.kubernetes.io/enforce=baseline

以下のコマンドを実行して、ベースラインの Pod Security Standards の強制モードを使用可能なすべての名前空間に適用します。

$ kubectl label --overwrite ns --all pod-security.kubernetes.io/enforce=baseline

注: 上記のコマンドで、test-namespace はお使いの名前空間の名前に置き換えてください。目的のものでそれぞれ、enforce を Pod Security Admission モードに、baseline を Pod Security Standards ポリシープロファイルに置き換えてください。詳細については、Kubernetes のウェブサイトで「名前空間用の Pod Security Admission ラベル」と「 Pod Security Standards 」を参照してください。

Q: より制限の厳しい Pod Security Standards プロファイルを使用するように名前空間を変更すると、名前空間内の既存のポッドの機能に影響しますか?

いいえ。既存のポッドで名前空間を変更して監査モードまたは警告モードを使用すると、それに応じてターミナルに警告が表示されます。警告メッセージは、Pod YAML 出力の status.message セクションでも確認できます。強制モードを使用するように名前空間を変更しても、Kubernetes から名前空間内の既存のポッドは削除されません。ただし、次のような警告メッセージが表示されます。

Warning: existing pods in namespace "policy-test" violate the new PodSecurity enforce level "restricted:latest"
Warning: test-688f68dc87-htm8x: allowPrivilegeEscalation != false, unrestricted capabilities, runAsNonRoot != true, seccompProfilenamespace/policy-test configured

Pod YAML 出力の警告メッセージの例:

lastTransitionTime: "2022-11-24T05:10:49Z"
lastUpdateTime: "2022-11-24T05:10:49Z"
message: 'pods "test-67d5fc995b-8r9t2" is forbidden: violates PodSecurity "baseline:latest": privileged (container "assets" must not set securityContext.privileged=true)'
reason: FailedCreate
status: "True"
type: ReplicaFailure

ポッドが名前空間の Pod Security Standards プロファイルポリシーまたは Pod Security Admission モードに違反している場合は、対応するデプロイマニフェストを適切な値で更新します。

Q: Pod Security Admission コントローラーが名前空間レベルで適用したポッドセキュリティポリシーをカスタマイズする方法を教えてください。

Kubernetes は、Pod Security Admission コントローラーが適用したポッドセキュリティポリシーのカスタマイズをサポートしていません。ただし、アドミッションポリシーの検証を使用してカスタムルールを実装したり、適用したりすることはできます。または、外部コードで Webhook アドミッションコントロールを使用することもできます。

Q: 複数の Pod Security Admission モードと Pod Security Standards プロファイルを単一の Kubernetes 名前空間に適用できますか。

いいえ。ただし、ラベルを使用すると、任意の名前空間で複数の Pod Security Standards チェックを設定できます。

たとえば次のコマンドは、ベースラインの Pod Security Standardsに強制モードを適用します。ただし、最新バージョンでは、制限付き Pod Security Standards に警告モードと監査モードも適用されます。

$ kubectl label --overwrite ns test \\
  pod-security.kubernetes.io/enforce=baseline \\
  pod-security.kubernetes.io/enforce-version=latest \\
  pod-security.kubernetes.io/warn=restricted \\
  pod-security.kubernetes.io/warn-version=latest \\
  pod-security.kubernetes.io/audit=restricted \\
  pod-security.kubernetes.io/audit-version=latest

Q: 私が管理する Kubernetes クラスターのクラスタースコープで、Pod Security Admission モードと Pod Security Standards プロファイルを適用できますか?

いいえ。 Pod Security Admission モードと Pod Security Standards プロファイルは、マネージドクラスターの名前空間レベルでのみ適用できます。

AWS公式
AWS公式更新しました 7ヶ月前
コメントはありません

関連するコンテンツ