Microsoft がコンテナーに推奨する gMSA 戦略ここそしてここ非常にうまく機能します。基本的な考え方は、コンテナ ホストが Active Directory ドメイン コントローラから gMSA パスワードを取得し、それをコンテナに渡すというものです。ID 構成は JSON 資格情報仕様ファイルに保存され、C:\\ProgramData\\docker\\CredentialSpecs
コンテナ ホスト上の場所に存在することが想定されています。このファイルには gMSA に関するメタデータが含まれており、最終的にはコンテナを実行する Docker エンジンに渡されます。以下は、docker run でこれを実行する例です。
docker run --security-opt "credentialspec=file://myspec.json" --hostname myappname -it myimage powershell
これに関する問題は、複数のチームが同じコンテナ ホストを使用する場合、あるチームが別のチームの資格情報仕様を使用して、そのチームの権限でコンテナを実行するのを防ぐにはどうすればよいかということです。たとえば、ホストに以下の資格情報仕様がある場合、チーム A はチーム C の資格情報仕様を使用できます。
C:\\ProgramData\\docker\\CredentialSpecs\\TeamA.json
C:\\ProgramData\\docker\\CredentialSpecs\\TeamB.json
C:\\ProgramData\\docker\\CredentialSpecs\\TeamC.json
答え1
私はその技術を読んだり使用したりしていませんが、NTFS 権限をお勧めします。
ファイルの権限を削除し、許可されたグループまたはユーザーにのみ読み取り権限を適用します。Docker
は資格情報ファイルを読み取ることができないため、別の/許可されていないユーザーでは実行できません。Docker
が異なるユーザー コンテキストでも実行される場合にのみ機能します。