16.2. Pod セキュリティーアドミッション同期について
グローバル Pod セキュリティーアドミッションコントロール設定に加えて、コントローラーは、特定の namespace にあるサービスアカウントの SCC アクセス許可に従って、Pod セキュリティーアドミッションコントロールの warn および audit ラベルを namespace に適用します。
コントローラーは ServiceAccount オブジェクトのアクセス許可を確認して、各 namespace で Security Context Constraints を使用します。Security Context Constraints (SCC) は、フィールド値に基づいて Pod セキュリティープロファイルにマップされます。コントローラーはこれらの変換されたプロファイルを使用します。Pod のセキュリティー許可 warn と audit ラベルは、Pod の作成時に警告が表示されたり、監査イベントが記録されたりするのを防ぐために、namespace で最も特権のある Pod セキュリティープロファイルに設定されます。
namespace のラベル付けは、namespace ローカルサービスアカウントの権限を考慮して行われます。
Pod を直接適用すると、Pod を実行するユーザーの SCC 権限が使用される場合があります。ただし、自動ラベル付けではユーザー権限は考慮されません。
16.2.1. Pod のセキュリティーアドミッション同期 namespace の除外 リンクのコピーリンクがクリップボードにコピーされました!
Pod のセキュリティーアドミッション同期は、システムで作成されたほとんどの namespace では永続的に無効になっています。ユーザーが作成した openshift-* 接頭辞が付いた namespace でも、同期は最初は無効になっていますが、後でそれらの同期を有効にすることができます。
Pod セキュリティーアドミッションラベル (pod-security.kubernetes.io/<mode>) が、ラベル同期された namespace で自動的にラベル付けされた値から手動で変更された場合、そのラベルの同期は無効になります。
必要に応じて、次のいずれかの方法を使用して同期を再度有効にできます。
- 変更された Pod セキュリティーアドミッションラベルを namespace から削除することによって
security.openshift.io/scc.podSecurityLabelSyncラベルをtrueに設定することによってこのラベルを追加して同期を強制すると、変更された Pod セキュリティーアドミッションラベルはすべて上書きされます。
16.2.1.1. 永続的に無効化された namespace リンクのコピーリンクがクリップボードにコピーされました!
クラスターペイロードの一部として定義されている namespace では、Pod セキュリティーアドミッションの同期が完全に無効になっています。次の namespace は永続的に無効になります。
-
default -
kube-node-lease -
kube-system -
kube-public -
openshift -
openshift-という接頭辞が付いたシステム作成の namespace すべて (openshift-operatorsを除く)
16.2.1.2. 最初は無効になっている namespace リンクのコピーリンクがクリップボードにコピーされました!
デフォルトでは、openshift- 接頭辞を持つすべての namespace では、最初は Pod セキュリティーアドミッション同期が無効になっています。ユーザーが作成した openshift-* namespace と openshift-operators namespace の同期を有効にできます。
openshift-operators を除き、システムで作成された openshift-* namespace の同期を有効にすることはできません。
ユーザーが作成した openshift-* namespace に Operator がインストールされている場合、namespace にクラスターサービスバージョン (CSV) が作成された後、同期が自動的に有効になります。同期されたラベルは、namespace 内のサービスアカウントのアクセス許可から派生します。