PODセキュリティ標準(PSS)およびセキュリティコンテキストの制約(SCC)
Kubernetesポッドのセキュリティ標準(PSS)とポッドのセキュリティポリシー(PSP)によって、権限レベルが定義され、ポッドの動作が制限されます。また、OpenShift Security Context Constraints(SCC)でも、OpenShift Kubernetes Engine固有のポッド制限を定義します。このカスタマイズを行うために、Astra Tridentはインストール時に特定の権限を有効にします。次のセクションでは、Astra Tridentによって設定された権限の詳細を説明します。
PSSは、Podセキュリティポリシー(PSP)に代わるものです。PSPはKubernetes v1.21で廃止され、v1.25で削除されます。詳細については、を参照してください"Kubernetes:セキュリティ"。 |
必須のKubernetes Security Contextと関連フィールド
権限 | 説明 |
---|---|
権限があります |
CSIでは、マウントポイントが双方向である必要があります。つまり、Tridentノードポッドで特権コンテナを実行する必要があります。詳細については、を参照してください "Kubernetes:マウントの伝播"。 |
ホストネットワーク |
iSCSIデーモンに必要です。 `iscsiadm`iSCSIマウントを管理し、ホストネットワークを使用してiSCSIデーモンと通信します。 |
ホストIPC |
NFSは'IPC(プロセス間通信)を使用して'nfsdと通信します |
ホストPID |
NFSで開始する必要があり `rpc-statd`ます。Astra Tridentは、ホストプロセスを照会して、NFSボリュームをマウントする前にが実行されているかどうかを確認し `rpc-statd`ます。 |
機能 |
この |
Seccom |
Seccompプロファイルは、権限のあるコンテナでは常に「制限なし」なので、Astra Tridentでは有効にできません。 |
SELinux |
OpenShiftでは、特権コンテナは(「Super Privileged Container」)ドメインで実行され、非特権コンテナはドメインで実行さ |
DAC |
特権コンテナは、ルートとして実行する必要があります。CSIに必要なUNIXソケットにアクセスするために、非特権コンテナはrootとして実行されます。 |
PODセキュリティ標準(PSS)
ラベル | 説明 | デフォルト |
---|---|---|
|
Tridentコントローラとノードをインストールネームスペースに登録できるようにします。ネームスペースラベルは変更しないでください。 |
|
名前空間ラベルを変更すると、ポッドがスケジュールされず、「Error creating:…」または「Warning:trident-csi-…」が表示される場合があります。この場合は、のネームスペースラベルが変更されていないかどうかを確認してください privileged 。その場合は、Tridentを再インストールします。
|
PoDセキュリティポリシー(PSP)
フィールド | 説明 | デフォルト |
---|---|---|
|
特権コンテナは、特権昇格を許可する必要があります。 |
|
|
TridentはインラインCSIエフェメラルボリュームを使用しません。 |
空 |
|
権限のないTridentコンテナにはデフォルトよりも多くの機能が必要ないため、特権コンテナには可能なすべての機能が付与されます。 |
空 |
|
Tridentではを使用できない"FlexVolドライバ"ため、これらのボリュームは許可されるボリュームのリストに含まれていません。 |
空 |
|
Tridentノードポッドでノードのルートファイルシステムがマウントされるため、このリストを設定してもメリットはありません。 |
空 |
|
Tridentはいずれも使用しません |
空 |
|
Tridentには安全でないものは必要あり `sysctls`ません。 |
空 |
|
特権コンテナに追加する機能は必要ありません。 |
空 |
|
権限の昇格は、各Tridentポッドで処理されます。 |
|
|
いいえは `sysctls`許可されません。 |
空 |
|
Tridentコンテナはrootとして実行されます。 |
|
|
NFSボリュームをマウントするにはホストIPCが通信する必要があります |
|
|
iscsiadmには、iSCSIデーモンと通信するためのホストネットワークが必要です。 |
|
|
ホストPIDは、がノードで実行されているかどうかを確認するために必要 `rpc-statd`です。 |
|
|
Tridentはホストポートを使用しません。 |
空 |
|
Tridentノードのポッドでは、ボリュームをマウントするために特権コンテナを実行する必要があります。 |
|
|
Tridentノードのポッドは、ノードのファイルシステムに書き込む必要があります。 |
|
|
Tridentノードのポッドは特権コンテナを実行するため、機能をドロップすることはできません。 |
|
|
Tridentコンテナはrootとして実行されます。 |
|
|
Tridentコンテナはrootとして実行されます。 |
|
|
Tridentはを使用しません |
空 |
|
現在、コンテナランタイムとKubernetesディストリビューションでSELinuxを処理する方法が異なるため、Tridentは設定されて `seLinuxOptions`いません。 |
空 |
|
Tridentコンテナはrootとして実行されます。 |
|
|
Tridentポッドには、このボリュームプラグインが必要です。 |
|
セキュリティコンテキストの制約(SCC)
ラベル | 説明 | デフォルト |
---|---|---|
|
Tridentノードのポッドは、ノードのルートファイルシステムをマウントします。 |
|
|
NFSボリュームをマウントするには、ホストIPCと通信する必要があり `nfsd`ます。 |
|
|
iscsiadmには、iSCSIデーモンと通信するためのホストネットワークが必要です。 |
|
|
ホストPIDは、がノードで実行されているかどうかを確認するために必要 `rpc-statd`です。 |
|
|
Tridentはホストポートを使用しません。 |
|
|
特権コンテナは、特権昇格を許可する必要があります。 |
|
|
Tridentノードのポッドでは、ボリュームをマウントするために特権コンテナを実行する必要があります。 |
|
|
Tridentには安全でないものは必要あり `sysctls`ません。 |
|
|
権限のないTridentコンテナにはデフォルトよりも多くの機能が必要ないため、特権コンテナには可能なすべての機能が付与されます。 |
空 |
|
特権コンテナに追加する機能は必要ありません。 |
空 |
|
Tridentコンテナはrootとして実行されます。 |
|
|
このSCCはTridentに固有で、ユーザにバインドされています。 |
空 |
|
Tridentノードのポッドは、ノードのファイルシステムに書き込む必要があります。 |
|
|
Tridentノードのポッドは特権コンテナを実行するため、機能をドロップすることはできません。 |
|
|
Tridentコンテナはrootとして実行されます。 |
|
|
現在、コンテナランタイムとKubernetesディストリビューションでSELinuxを処理する方法が異なるため、Tridentは設定されて `seLinuxOptions`いません。 |
空 |
|
特権のあるコンテナは常に「閉鎖的」な状態で実行されます。 |
空 |
|
Tridentコンテナはrootとして実行されます。 |
|
|
このSCCをTridentネームスペースのTridentユーザにバインドするエントリが1つあります。 |
N/A |
|
Tridentポッドには、このボリュームプラグインが必要です。 |
|