Проблема с получением учетных данных spe c (gMSA), работающих в docker -compose - PullRequest
0 голосов
/ 29 мая 2020

У меня есть учетные данные gMSA spe c, работающие с docker run, но не с docker -compose. Подробная информация о файле создания и команде запуска docker приведена ниже. Я совершенно не понимаю, что мне не хватает. Я много гуглил, и я не уверен, что происходит. Мои основные мысли: что-то с файлом docker -compose отключено, но я не уверен.

Docker -compose

version: '3.3'

services:
  basic:
    image: mcr.microsoft.com/windows/servercore:ltsc2019
    entrypoint: ping -t localhost
    hostname: server01
    security_opt:
      - credentialspec=file://server01.json
    dns:
      - "192.168.43.2"
    user: "NT AUTHORITY\\NETWORK SERVICE"

networks:
  default:
    external:
      name: "Net"

После запуска docker-compose up

C:\Users\administrator> docker exec -it b9e2a783ab09 powershell
Windows PowerShell
Copyright (C) Microsoft Corporation. All rights reserved.

PS C:\> ipconfig

Windows IP Configuration


Ethernet adapter vEthernet (Ethernet) 10:

   Connection-specific DNS Suffix  . :
   Link-local IPv6 Address . . . . . : fe80::4416:3381:8d1a:122a%43
   Autoconfiguration IPv4 Address. . : 169.254.18.42
   Subnet Mask . . . . . . . . . . . : 255.255.0.0
   Default Gateway . . . . . . . . . :
PS C:\> ipconfig /renew

Windows IP Configuration


Ethernet adapter vEthernet (Ethernet) 10:

   Connection-specific DNS Suffix  . : localdomain
   Link-local IPv6 Address . . . . . : fe80::4416:3381:8d1a:122a%43
   IPv4 Address. . . . . . . . . . . : 192.168.43.198
   Subnet Mask . . . . . . . . . . . : 255.255.255.0
   Default Gateway . . . . . . . . . :
PS C:\> nslookup testdomain.local
Server:  UnKnown
Address:  192.168.43.2

Name:    testdomain.local
Addresses:  192.168.43.2
          192.168.52.133

PS C:\> nltest /sc_verify:testdomain.local
I_NetLogonControl failed: Status = 5 0x5 ERROR_ACCESS_DENIED

docker пробег

docker run -it --security-opt "credentialspec=file://server01.json" --user="nt authority\system" --hostname="server01" --network="Net" --dns="192.168.43.2" mcr.microsoft.com/windows/servercore:ltsc2019 powershell
PS C:\> nslookup testdomain.local
Server:  UnKnown
Address:  192.168.43.2

Name:    testdomain.local
Addresses:  192.168.43.2
          192.168.52.133

PS C:\> nltest /sc_verify:testdomain.local
Flags: b0 HAS_IP  HAS_TIMESERV
Trusted DC Name \\dc01.testdomain.local
Trusted DC Connection Status Status = 0 0x0 NERR_Success
Trust Verification Status = 0 0x0 NERR_Success
The command completed successfully
PS C:\>

1 Ответ

0 голосов
/ 29 мая 2020

Эй, я оставляю это как позор.

Заметили, что я использовал разных пользователей? Оказывается, мне нужно было использовать систему, а не учетную запись сетевой службы. Это исправило его.

...