ポッドセキュリティ標準(PSS)とセキュリティコンテキスト制約(SCC)
Kubernetes ポッド セキュリティ標準 (PSS) とポッド セキュリティ ポリシー (PSP) は、権限レベルを定義し、ポッドの動作を制限します。 OpenShift セキュリティ コンテキスト制約 (SCC) も同様に、OpenShift Kubernetes Engine に固有のポッド制限を定義します。このカスタマイズを提供するために、 Trident はインストール中に特定の権限を有効にします。次のセクションでは、 Tridentによって設定される権限について詳しく説明します。
|
|
PSS は Pod Security Policies (PSP) に代わるものです。 PSP は Kubernetes v1.21 で非推奨となり、v1.25 で削除されます。詳細については、以下を参照してください。"Kubernetes: セキュリティ" 。 |
必要な Kubernetes セキュリティコンテキストと関連フィールド
| 許可 | 説明 |
|---|---|
特権階級 |
CSI ではマウント ポイントが双方向である必要があるため、 Tridentノード ポッドは特権コンテナを実行する必要があります。詳細については、"Kubernetes: マウント伝播" 。 |
ホストネットワーク |
iSCSI デーモンに必要です。 |
ホスト IPC |
NFS は、プロセス間通信 (IPC) を使用して NFSD と通信します。 |
ホスト PID |
開始に必要 |
機能 |
その |
セコンプ |
Seccomp プロファイルは特権コンテナでは常に「Unconfined」であるため、 Tridentでは有効にできません。 |
SELinux |
OpenShiftでは、特権コンテナは |
DAC |
特権コンテナは root として実行する必要があります。非特権コンテナは、CSI に必要な Unix ソケットにアクセスするために root として実行されます。 |
ポッドセキュリティ標準(PSS)
| ラベル | 説明 | デフォルト |
|---|---|---|
|
Tridentコントローラーとノードがインストール名前空間に受け入れられることを許可します。名前空間ラベルを変更しないでください。 |
|
|
|
名前空間ラベルを変更すると、ポッドがスケジュールされず、「作成エラー: …」または「警告: trident-csi-…」が表示される場合があります。このような場合は、 `privileged`変更されました。もしそうなら、 Trident を再インストールしてください。 |
ポッドセキュリティポリシー(PSP)
| フィールド | 説明 | デフォルト |
|---|---|---|
|
特権コンテナは特権の昇格を許可する必要があります。 |
|
|
Trident はインライン CSI 一時ボリュームを使用しません。 |
空の |
|
非特権Tridentコンテナにはデフォルト セット以上の機能は必要なく、特権コンテナには可能なすべての機能が付与されます。 |
空の |
|
Tridentは、"FlexVolume ドライバー"したがって、許可されるボリュームのリストには含まれません。 |
空の |
|
Tridentノード ポッドはノードのルート ファイル システムをマウントするため、このリストを設定しても利点はありません。 |
空の |
|
Tridentは |
空の |
|
Tridentは危険なものを必要としません |
空の |
|
特権コンテナに機能を追加する必要はありません。 |
空の |
|
権限昇格の許可は各Tridentポッドで処理されます。 |
|
|
いいえ `sysctls`許可されます。 |
空の |
|
Tridentコンテナは root として実行されます。 |
|
|
NFSボリュームをマウントするには、ホストIPCと通信する必要があります。 |
|
|
iscsiadm では、iSCSI デーモンと通信するためにホスト ネットワークが必要です。 |
|
|
ホストPIDは、次の場合に必要です。 `rpc-statd`ノード上で実行されています。 |
|
|
Trident はホスト ポートを使用しません。 |
空の |
|
Tridentノード ポッドは、ボリュームをマウントするために特権コンテナを実行する必要があります。 |
|
|
Tridentノード ポッドはノード ファイル システムに書き込む必要があります。 |
|
|
Tridentノード ポッドは特権コンテナを実行するため、機能を削除することはできません。 |
|
|
Tridentコンテナは root として実行されます。 |
|
|
Tridentコンテナは root として実行されます。 |
|
|
Tridentは使用しない |
空の |
|
Tridentは設定されない `seLinuxOptions`現在、コンテナ ランタイムと Kubernetes ディストリビューションが SELinux を処理する方法に違いがあるためです。 |
空の |
|
Tridentコンテナは root として実行されます。 |
|
|
Tridentポッドにはこれらのボリューム プラグインが必要です。 |
|
セキュリティコンテキスト制約(SCC)
| ラベル | 説明 | デフォルト |
|---|---|---|
|
Tridentノード ポッドはノードのルート ファイル システムをマウントします。 |
|
|
NFSボリュームをマウントするには、ホストIPCと通信する必要があります。 |
|
|
iscsiadm では、iSCSI デーモンと通信するためにホスト ネットワークが必要です。 |
|
|
ホストPIDは、次の場合に必要です。 `rpc-statd`ノード上で実行されています。 |
|
|
Trident はホスト ポートを使用しません。 |
|
|
特権コンテナは特権の昇格を許可する必要があります。 |
|
|
Tridentノード ポッドは、ボリュームをマウントするために特権コンテナを実行する必要があります。 |
|
|
Tridentは危険なものを必要としません |
|
|
非特権Tridentコンテナにはデフォルト セット以上の機能は必要なく、特権コンテナには可能なすべての機能が付与されます。 |
空の |
|
特権コンテナに機能を追加する必要はありません。 |
空の |
|
Tridentコンテナは root として実行されます。 |
|
|
この SCC はTridentに固有であり、そのユーザーにバインドされます。 |
空の |
|
Tridentノード ポッドはノード ファイル システムに書き込む必要があります。 |
|
|
Tridentノード ポッドは特権コンテナを実行するため、機能を削除することはできません。 |
|
|
Tridentコンテナは root として実行されます。 |
|
|
Tridentは設定されない `seLinuxOptions`現在、コンテナ ランタイムと Kubernetes ディストリビューションが SELinux を処理する方法に違いがあるためです。 |
空の |
|
特権コンテナは常に「制限なしで」実行されます。 |
空の |
|
Tridentコンテナは root として実行されます。 |
|
|
この SCC をTrident名前空間内のTridentユーザーにバインドするためのエントリが 1 つ提供されます。 |
N/A |
|
Tridentポッドにはこれらのボリューム プラグインが必要です。 |
|