#docker #active-directory #windows-container
Вопрос:
Я пытаюсь подключиться к SQL Server в контейнере окна docker через Active Directory.
Я обнаружил, что мне нужно создать gMSA (учетную запись групповой управляемой службы): https://docs.microsoft.com/en-us/virtualization/windowscontainers/manage-containers/manage-serviceaccounts
https://www.youtube.com/watch?v=qiV_2mWgjUYamp;ab_channel=JacobAaronson
На рекламном сервере я сделал:
Add-KdsRootKey -EffectiveTime (Get-Date).AddHours(-10)
New-ADGroup -Name "Docker Authorized Hosts" -SamAccountName "docker" -GroupScope DomainLocal
New-ADServiceAccount -Name "docker" -DnsHostName "docker.gptest.local" -ServicePrincipalNames "host/docker", "host/docker.gptest.local" -PrincipalsAllowedToRetrieveManagedPassword "docker"
Add-ADGroupMember -Identity "docker" -Members "ie10win10$"
Домен называется gptest.local, ie10win10-это имя моего тестового компьютера с установленным докером для его тестирования.
На ПК ie10win10 после перезагрузки я проверяю домен, и он работает нормально:
nltest /sc_verify:gptest.local
На следующем шаге я создал спецификацию учетных данных:
New-CredentialSpec -AccountName Docker
который содержит:
{
"CmsPlugins": ["ActiveDirectory"],
"DomainJoinConfig": {
"Sid": "S-1-5-21-592862003-1388571531-1992065655",
"MachineAccountName": "Docker",
"Guid": "c47ec2b1-955c-4fb9-8eb8-c1cdd1f1ac3f",
"DnsTreeName": "gptest.local",
"DnsName": "gptest.local",
"NetBiosName": "GPTEST"
},
"ActiveDirectoryConfig": {
"GroupManagedServiceAccounts": [
{
"Name": "Docker",
"Scope": "gptest.local"
},
{
"Name": "Docker",
"Scope": "GPTEST"
}
]
}
}
and container:
docker run -d -p 1433:1433 --name docker -e sa_password=Qwerty!@#$%^ --security-opt "credentialspec=file://gptest_docker.json" --hostname docker -e ACCEPT_EULA=Y microsoft/mssql-server-windows-developer
Unfortunatelly in the container, the nltest result is:
Я понятия не имею, почему это не работает. Здесь я нашел это, чтобы убедиться, что:
«Контейнерные сети позволяют контейнерам взаимодействовать с контроллерами домена Active Directory для получения билетов gMSA».
Но как я могу это проверить?