Windowsノードのセキュリティ
このページでは、Windowsオペレーティングシステムに特有のセキュリティ上の考慮事項とベストプラクティスについて説明します。
Windowsでは、Secretデータがノードのローカルストレージに平文で書き込まれます(Linuxのtmpfs、インメモリファイルシステムとは異なります)。 クラスターオペレーターは、次の両方の追加対策を講じる必要があります:
- ファイルACLを使用して、Secretのファイル配置場所を保護する。
- BitLockerを使用して、ボリュームレベルの暗号化を適用する。
コンテナユーザー
RunAsUsernameは、WindowsのPodまたはコンテナに対して、特定のユーザーとしてコンテナプロセスを実行するために指定できます。 これは、おおよそRunAsUserと同等です。
Windowsコンテナには、ContainerUserとContainerAdministratorという2つのデフォルトのユーザーアカウントが用意されています。 これら2つのユーザーアカウントの違いについては、Microsoftの Secure Windows containers ドキュメント内のContainerAdminとContainerUserのユーザーアカウントを使うタイミングに記載されています。
ローカルユーザーは、コンテナのビルドプロセス中にコンテナイメージに追加できます。
備考:
- Nano Serverベースのイメージは、デフォルトで
ContainerUserとして実行されます - Server Coreベースのイメージは、デフォルトで
ContainerAdministratorとして実行されます
Windowsコンテナは、グループ管理サービスアカウントを利用することで、Active DirectoryのIDとして実行することもできます
Podレベルのセキュリティ分離
Linux固有のPodセキュリティコンテキスト機構(SELinux、AppArmor、Seccomp、カスタムPOSIXケーパビリティなど)は、Windowsノードではサポートされていません。 特権コンテナは、Windowsではサポートされていません。 代わりに、WindowsではHostProcessコンテナを使用することで、Linuxの特権コンテナが実行する多くのタスクを実行できます。