подключение к контейнеру оконных докеров через Active Directory

#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 
 

(https://docs.microsoft.com/en-us/virtualization/windowscontainers/manage-containers/gmsa-run-container)

введите описание изображения здесь

На следующем шаге я создал спецификацию учетных данных:

 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».

Но как я могу это проверить?