Microsoft가 컨테이너에 권장하는 gMSA 전략여기그리고여기아주 잘 작동합니다. 일반적인 아이디어는 컨테이너 호스트가 Active Directory 도메인 컨트롤러에서 gMSA 비밀번호를 검색하여 컨테이너에 제공한다는 것입니다. ID 구성은 C:\\ProgramData\\docker\\CredentialSpecs
컨테이너 호스트의 위치에 있을 것으로 예상되는 JSON 자격 증명 사양 파일에 저장됩니다. 이 파일에는 gMSA에 대한 메타데이터가 포함되어 있으며 궁극적으로 컨테이너를 실행하는 Docker 엔진으로 전달됩니다. 다음은 docker run을 통해 이 작업을 수행하는 예입니다.
docker run --security-opt "credentialspec=file://myspec.json" --hostname myappname -it myimage powershell
이에 대한 문제는 여러 팀이 동일한 컨테이너 호스트를 사용하는 경우 한 팀이 다른 팀의 자격 증명 사양을 사용하지 못하도록 어떻게 보호하고 해당 팀의 권한으로 컨테이너를 실행할 수 있다는 것입니다. 예를 들어 호스트에 아래 CredentialSpec이 있는 경우 A팀은 C팀을 사용할 수 있습니다.
C:\\ProgramData\\docker\\CredentialSpecs\\TeamA.json
C:\\ProgramData\\docker\\CredentialSpecs\\TeamB.json
C:\\ProgramData\\docker\\CredentialSpecs\\TeamC.json
답변1
해당 기술을 읽거나 사용하지 않았더라도 NTFS 권한을 제안합니다.
파일에 대한 권한을 제거하고 허용된 그룹 또는 사용자에게만 읽기 권한을 적용합니다.
Docker는 자격 증명 파일을 읽을 수 없으므로 다른/허용되지 않은 사용자로 실행할 수 없습니다.
docker가 다른 사용자 컨텍스트에서도 실행되는 경우에만 작동합니다.