Uzak bağlanmış IIS ile Active Directory ile liman işçisi yetkilendirme


2

Bir kap içinde bir IIS kurdum ve o "sunucuya" bağlanmak için ana bilgisayarın IIS'sini kullanabilirim.

Sonraki adım, içinde bir web uygulamasını barındırmam gerekiyor (web AD ile ilgili değilse, başarılı bir şekilde yaptım)

Durum şu ki, web uygulamalarımızın reklam hesaplarımızı kullanarak onaylanması gerekiyor ve şimdi, web'i kabın içinde başlatsam bile, doğru hesabı + pw yazsam bile, hala bana veriyor

401 - İzinsiz: Geçersiz kimlik bilgileri nedeniyle erişim reddedildi.

Peki ... AD bir kap içinde nasıl kullanılır?

Https://blogs.msdn.microsoft.com/containerstuff/2017/01/30/create-a-container-with-active-directory-support/ tarafından söylendiği gibi

GMSA ile karşılaştım

  1. AD sunucusuna giriş yaptım ve çalıştırdım:

    New-ADServiceAccount -Name ABC -PrincipalsAllowedToRetrieveManagedPassword ABC-Servers –DNSHostName ABC.domain.com
    
  2. Docker yüklü sunucuya gittim ve çalıştırın:

    Import-Module ./CredentialSpec.psm1
    New-CredentialSpec -Name ABC -AccountName ABC
    
  3. ile yeni bir konteyner başlatmak

    --security-opt 
    

ve

    ABC.json

Ama nihayetinde hala kendimi doğrulamamı istiyor ve ne yazsam da yazayım, hepsi 401 ...

btw, nltest / parentdomain bana reklam sunucusu adını gösterir.

Yanıtlar:


1

Çözdüm. Setspn ve -h bölümünü özledim

Bu çözümün bir kısmı bu bağlantılarla ilgilidir: 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/

Ana makinenin ana bilgisayar adı = abcHost (ana bilgisayar adını cmd olarak çalıştırarak onaylayın)

Bunu yapmak için, öncelikle dediğim gibi: 1. AD sunucusuna giriş yapın ve şunları çalıştırın:

New-ADServiceAccount -Name accountABC -PrincipalsAllowedToRetrieveManagedPassword ABC-Servers –DNSHostName abcHost.domain.com
  1. Docker'ın kurulu olduğu (ana makine) sunucuya gidin ve çalıştırın: Import-Module ./CredentialSpec.psm1 Yeni-CredentialSpec -Name hesabıABC -AkrediAdı hesabıABC

Bu nedenle, şimdi bir hizmet hesabımız var: ABC Bir sonraki adım, makine adını hizmet hesabıyla bağlamak, bu nedenle reklam sunucusunda setspn komutunu çalıştırmak:

setspn -c -s HTTP/abcHost domian\accountABC

Bundan sonra, kabın hizmet hesabıyla çalışmasını sağlamak için Docker çalıştırmasında -h seçeneğini eklememiz gerekir. Daha önce oluşturulan gMSA hesabı ile birlikte, komut şöyle olacaktır:

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

Ardından, IIS uygulaması için, "Bağlantılar" Panel> Özellik Temsil Etme> seçeneğindeki "sunucu veya kapsayıcı" yı seçen tüm "Kimlik Doğrulama - BİRLEŞTİRME" 'yi Okuma / Yazma olarak ayarlayın.

Sonra yapılır

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.