Account della directory triggers all'interno di un contenitore di windows (server 2016 TP5)

Quindi ho Windows Server 2016 TP5 e sto giocando in giro con i contenitori. Posso fare i compiti fondamentali del docker bene. Sto cercando di capire come contenere alcune delle nostre applicazioni web ospitate da IIS.

Certamente, di solito utilizziamo l'authentication integrata per il DB e utilizziamo gli account del servizio di dominio per il pool di app. Al momento non ho un test VM (che è in un dominio), quindi non riesco a verificare se funziona all'interno di un contenitore.

Se l'host è unito a un dominio AD, sono i suoi contenitori anche parte del dominio? Posso ancora eseguire processi utilizzando account di dominio?

EDIT: Inoltre, se specifico il "USER" nel file docker, significa che il mio pool di applet verrà eseguito usando tale metodo (anziché l'identity framework; del pool di app)?

Risposta rapida – no, i container non sono supportti come parte di AD in modo da non poter utilizzare account AD per eseguire processi all'interno di un contenitore o autenticare con esso

Questo è stato menzionato nel sito MS Containers, ma il collegamento originale reindirizza ora.

Denominazione originale (CTP 3 o 4?): "I contenitori non possono entrare nei domini di Active Directory e non possono eseguire servizi o applicazioni come utenti di dominio, account di servizio o account di macchine".

Non so se questo cambierà in una versione successiva.

Qualcuno ha cercato di aggirarlo, ma senza gioia.

Ci sono alless alcuni scenari in cui l'AD-integration nel contenitore Docker funziona in realtà:

  1. È necessario accedere alle risorse di networking con le credenziali AD.
    1. Esegui cmdkey / add: <network-resource-uri>[:port] / user: <ad-user> / pass: <pass> sotto identity framework; locale che necessita di questo accesso
    2. Per applicare lo stesso trucco alle applicazioni IIS senza modificare AppPoolIdentity, è necessario un wrapper più semplice .ashx attorno a cmdkey (Nota: dovrai call questo wrapper in esecuzione, ad esempio: durante ENTRYPOINT, altrimenti le credenziali di networking verranno mappate identity framework; locale diversa)
  2. È necessario eseguire il codice sotto l'utente di AD
    1. Impersonare utilizzando la function ADVAPI32 LogonUser con LOGON32_LOGON_NEW_CREDENTIALS e LOGON32_PROVIDER_DEFAULT come suggerito
  3. È necessaria la sicurezza di networking del livello di trasporto, come quando si effettuano chiamate RPC (ad esempio: MSDTC) per una risorsa basata su AD.
    1. Impostare gMSA utilizzando qualsiasi guida che ti soddisfa meglio. Notare tuttavia che gMSA richiede che l' host Docker sia nel dominio.

Non è ansible associare i contenitori a un dominio, ma se l'applicazione deve autenticarsi, è ansible utilizzare gli account di servizio gestiti. Ti salva il fastidio di wherer affrontare le password di imballaggio.

https://msdn.microsoft.com/en-us/virtualization/windowscontainers/management/manage_serviceaccounts