
A estratégia gMSA que a Microsoft recomenda para contêineresaquieaquifunciona muito bem. A ideia geral é que o host do Container recupere a senha gMSA de um controlador de domínio do Active Directory e a forneça ao Container. A configuração da identidade é armazenada em um arquivo JSON Credential Spec, que deve permanecer no local C:\\ProgramData\\docker\\CredentialSpecs
do host do contêiner. Este arquivo contém metadados sobre o gMSA e é finalmente passado para o Docker Engine que executa os contêineres. Abaixo está um exemplo de como fazer isso via docker run:
docker run --security-opt "credentialspec=file://myspec.json" --hostname myappname -it myimage powershell
O problema é que se várias equipes usam os mesmos hosts de contêiner, como você pode proteger contra uma equipe de usar a especificação de credencial de outra equipe e, assim, executar seus contêineres com as permissões dessa equipe? Por exemplo, se o host tiver as CredentialSpecs abaixo, a Equipe A poderá usar as da Equipe C.
C:\\ProgramData\\docker\\CredentialSpecs\\TeamA.json
C:\\ProgramData\\docker\\CredentialSpecs\\TeamB.json
C:\\ProgramData\\docker\\CredentialSpecs\\TeamC.json
Responder1
Mesmo que eu não tenha lido nem usado essa tecnologia, sugiro permissões NTFS.
Remova as permissões dos arquivos e aplique permissão de leitura apenas ao grupo ou usuário permitido.
O Docker não consegue ler o arquivo de credenciais e, portanto, não pode ser executado com um usuário diferente/não permitido.
Só funciona se o docker também for executado em diferentes contextos de usuário.