Beliebt

Docker-Authentifizierung mit Active Directory mit remote verbundenem IIS - Active Directory, Docker

Ich habe einen IIS in einem Container eingerichtet und kann den IIS des Hosts verwenden, um eine Verbindung zu diesem "Server" herzustellen.

N├Ąchster Schritt, ich muss eine Webanwendung im Inneren hosten (ich habe es erfolgreich gemacht, wenn das Web nicht mit AD zusammenh├Ąngt)

Der Fall ist, dass unsere Webanwendungen mithilfe unserer Anzeigenkonten authentifiziert werden m├╝ssen. Wenn ich jetzt das Web im Container starte, obwohl ich das richtige Konto + pw eingebe, erhalte ich es trotzdem

401 - Nicht autorisiert: Der Zugriff wird aufgrund ung├╝ltiger Anmeldeinformationen verweigert.

Also ... wie benutzt man AD in einem Container?

Wie gesagt von https://blogs.msdn.microsoft.com/containerstuff/2017/01/30/create-a-container-with-active-directory-support/

Ich bin auf gMSA gesto├čen

  1. Ich habe mich beim AD-Server angemeldet und Folgendes ausgef├╝hrt:

    New-ADServiceAccount -Name ABC -PrincipalsAllowedToRetrieveManagedPassword ABC-Servers ÔÇôDNSHostName ABC.domain.com
    
  2. Ich bin mit Docker auf den Server gegangen und habe Folgendes ausgef├╝hrt:

    Import-Module ./CredentialSpec.psm1
    New-CredentialSpec -Name ABC -AccountName ABC
    
  3. Starten Sie einen neuen Container mit

    --security-opt
    

und

    ABC.json

Aber am Ende muss ich mich immer noch authentifizieren, und egal, was ich geschrieben habe, alle 401 ...

├ťbrigens, nltest / parentdomain zeigt mir den Anzeigenservernamen

Antworten:

1 f├╝r Antwort Ôäľ 1

Ich habe es gel├Âst Ich habe den Setspn- und -h-Teil verpasst

Ein Teil dieser L├Âsung bezieht sich auf folgende Links: https://blogs.msdn.microsoft.com/containerstuff/2017/07/31/getting-iis-win-auth-to-work-in-a-container/

https://blogs.msdn.microsoft.com/containerstuff/2017/01/30/create-a-container-with-active-directory-support/

Der Hostname des Hostcomputers = abcHost (best├Ątigen Sie durch Ausf├╝hren von hostname in cmd)

Zum einen, wie ich schon sagte: 1. Melden Sie sich beim AD-Server an und f├╝hren Sie Folgendes aus:

New-ADServiceAccount -Name accountABC -PrincipalsAllowedToRetrieveManagedPassword ABC-Servers ÔÇôDNSHostName abcHost.domain.com
  1. Gehen Sie zu dem Server, auf dem Docker installiert ist (Host-Computer), und f├╝hren Sie Folgendes aus: Import-Modul ./CredentialSpec.psm1 New-CredentialSpec -Name accountABC -AccountName accountABC

Also haben wir jetzt ein Dienstkonto: ABC Der n├Ąchste Schritt besteht darin, den Computernamen mit dem Dienstkonto zu verkn├╝pfen. F├╝hren Sie daher setspn auf dem Anzeigenserver aus:

setspn -c -s HTTP/abcHost domianaccountABC

Danach m├╝ssen wir die Option -h in Docker run hinzuf├╝gen, damit der Container mit dem Dienstkonto ausgef├╝hrt wird. zusammen mit dem zuvor erstellten gMSA-Konto lautet der Befehl:

Docker run -it --name accountABC -h accountABC -v <a directory> --security-opt "credentialspec=file://accountABC.json" myImage

W├Ąhlen Sie dann f├╝r IIS-Anwendungen diesen "Server oder Container" im Bereich "Verbindungen"> "Funktionsdelegration" aus und setzen Sie "Authentifizierung - ETWAS" auf "Lesen / Schreiben"

Dann ist es geschafft