第16章 Pod セキュリティーアドミッションの理解と管理
Pod セキュリティーアドミッションは、Kubernetes Pod セキュリティー標準 の実装です。Pod のセキュリティーアドミッションを使用して、Pod の動作を制限します。
16.1. Pod セキュリティーアドミッションについて
OpenShift Container Platform には、Kubernetes Pod のセキュリティーアドミッション が含まれます。グローバルまたは namespace レベルで定義された Pod のセキュリティーアドミッションに準拠していない Pod は、クラスターへの参加が許可されず、実行できません。
グローバルに、privileged
プロファイルが適用され、restricted
プロファイルが警告と監査に使用されます。
Pod のセキュリティーアドミッション設定を namespace レベルで設定することもできます。
デフォルトプロジェクトでワークロードを実行したり、デフォルトプロジェクトへのアクセスを共有したりしないでください。デフォルトのプロジェクトは、コアクラスターコンポーネントを実行するために予約されています。
デフォルトプロジェクトである default
、kube-public
、kube-system
、openshift
、openshift-infra
、openshift-node
、および openshift.io/run-level
ラベルが 0
または 1
に設定されているその他のシステム作成プロジェクトは、高い特権があるとみなされます。Pod セキュリティーアドミッション、Security Context Constraints、クラスターリソースクォータ、イメージ参照解決などのアドミッションプラグインに依存する機能は、高い特権を持つプロジェクトでは機能しません。
16.1.1. Pod のセキュリティーアドミッションモード
namespace に対して次の Pod セキュリティーアドミッションモードを設定できます。
Mode | ラベル | 説明 |
---|---|---|
|
| 設定されたプロファイルに準拠していない Pod の受け入れを拒否します。 |
|
| Pod が設定されたプロファイルに準拠していないと、監査イベントをログに記録します。 |
|
| Pod が設定されたプロファイルに準拠していないと警告を表示します。 |
16.1.2. Pod のセキュリティーアドミッションプロファイル
各 Pod セキュリティーアドミッションモードを次のプロファイルのいずれかに設定できます。
プロファイル | 説明 |
---|---|
| 最も制限の少ないポリシー。既知の権限昇格が可能になります。 |
| 最小限の制限ポリシー。既知の権限昇格を防止します。 |
| 最も制限的なポリシー。現在の Pod 強化のベストプラクティスに従います。 |
16.1.3. 特権付きの namespace
次のシステム namespace は、常に privileged
Pod セキュリティーアドミッションプロファイルに設定されます。
-
default
-
kube-public
-
kube-system
これらの特権付き namespace の Pod セキュリティープロファイルを変更することはできません。
16.1.4. Pod セキュリティーアドミッションおよび Security Context Constraints
Pod セキュリティーアドミッションの標準と Security Context Constraints は、2 つの独立したコントローラーによって調整され、適用されます。2 つのコントローラーは独立して機能し、以下のプロセスを使用してセキュリティーポリシーを適用します。
-
Security Context Constraints コントローラーは、Pod に割り当てられた SCC (セキュリティーコンテキスト制約) ごとに、一部のセキュリティーコンテキストフィールドを変更する可能性があります。たとえば seccomp プロファイルが空、または設定されていない場合で、Pod に割り当てられた SCC が
seccompProfiles
フィールドをruntime/default
に強制する場合、コントローラーはデフォルト型をRuntimeDefault
に設定します。 - Security Context Constraints のコントローラーは、一致する SCC に対して Pod のセキュリティーコンテキストを検証します。
- Pod セキュリティーアドミッションのコントローラーは、namespace に割り当てられた Pod セキュリティー標準に対して Pod のセキュリティーコンテキストを検証します。