AD FS kimliğini Azure Stack Hub veri merkezinizle tümleştirme

Kimlik sağlayıcısı olarak Microsoft Entra kimliği veya Active Directory Federasyon Hizmetleri (AD FS) (AD FS) kullanarak Azure Stack Hub'ı dağıtabilirsiniz. Azure Stack Hub'ı dağıtmadan önce bu seçimin yapılması gerekir. Bağlı bir senaryoda, Microsoft Entra kimliğini veya AD FS'yi seçebilirsiniz. Bağlantısız bir senaryo için yalnızca AD FS desteklenir. Bu makalede Azure Stack Hub AD FS'yi veri merkezi AD FS'nizle tümleştirme işlemi gösterilmektedir.

Önemli

Azure Stack Hub çözümünün tamamını yeniden dağıtmadan kimlik sağlayıcısını değiştiremezsiniz.

Active Directory Federasyon Hizmetleri (AD FS) ve Graph

AD FS ile dağıtım, mevcut bir Active Directory ormanındaki kimliklerin Azure Stack Hub'daki kaynaklarla kimlik doğrulaması yapmasına olanak tanır. Bu mevcut Active Directory ormanı, AD FS federasyon güveni oluşturulmasına izin vermek için AD FS dağıtımı gerektirir.

Kimlik doğrulaması, kimliğin bir parçasıdır. Azure Stack Hub'da rol tabanlı erişim denetimini (RBAC) yönetmek için Graph bileşeninin yapılandırılması gerekir. Bir kaynağa erişim yetkisi verildiğinde, Graph bileşeni LDAP protokolunu kullanarak mevcut Active Directory ormanındaki kullanıcı hesabını arar.

Azure Stack Hub AD FS mimarisi

Mevcut AD FS, Azure Stack Hub AD FS'ye (kaynak STS) talep gönderen hesap güvenlik belirteci hizmetidir (STS). Azure Stack Hub'da otomasyon, mevcut AD FS için meta veri uç noktasıyla talep sağlayıcı güvenini oluşturur.

Mevcut AD FS'de bağlı olan taraf güveni yapılandırılmalıdır. Bu adım otomasyon tarafından yapılmaz ve işleç tarafından yapılandırılması gerekir. AD FS için Azure Stack Hub VIP uç noktası deseni https://adfs.<Region>.<ExternalFQDN>/kullanılarak oluşturulabilir.

Bağlı olan taraf güven yapılandırması, Microsoft tarafından sağlanan talep dönüştürme kurallarını yapılandırmanızı da gerektirir.

Graph yapılandırması için mevcut Active Directory'de "okuma" izni olan bir hizmet hesabı sağlanmalıdır. Bu hesap, RBAC senaryolarını etkinleştirmek için otomasyon için giriş olarak gereklidir.

Son adım için, varsayılan sağlayıcı aboneliği için yeni bir sahip yapılandırılır. Bu hesap, Azure Stack Hub yönetici portalında oturum açtığınızda tüm kaynaklara tam erişime sahiptir.

Gereksinimler:

Bileşen Gereksinim
Graf Microsoft Active Directory 2012/2012 R2/2016 2019
AD FS Windows Server 2012/2012 R2/2016 2019

Graph tümleştirmesi ayarlama

Graph yalnızca tek bir Active Directory ormanıyla tümleştirmeyi destekler. Birden çok orman varsa, kullanıcıları ve grupları getirmek için yalnızca yapılandırmada belirtilen orman kullanılır.

Otomasyon parametreleri için giriş olarak aşağıdaki bilgiler gereklidir:

Parametre Dağıtım Çalışma Sayfası Parametresi Açıklama Örnek
CustomADGlobalCatalog AD FS Ormanı FQDN Tümleştirmek istediğiniz hedef Active Directory ormanının FQDN'sini Contoso.com
CustomADAdminCredentials LDAP Okuma izni olan bir kullanıcı graphservice

Active Directory Sitelerini Yapılandırma

Birden çok siteye sahip Active Directory dağıtımları için Azure Stack Hub dağıtımınıza en yakın Active Directory Sitesini yapılandırın. Yapılandırma, Azure Stack Hub Graph hizmetinin uzak bir siteden Genel Katalog Sunucusu kullanarak sorguları çözümlemesini önler.

Azure Stack Hub Genel VIP ağ alt ağını Azure Stack Hub'a en yakın Active Directory Sitesine ekleyin. Örneğin, Active Directory'nizin iki sitesi olduğunu varsayalım: Seattle ve Redmond. Azure Stack Hub Seattle sitesinde dağıtılırsa, Azure Stack Hub Genel VIP ağ alt ağını Seattle için Active Directory sitesine eklersiniz.

Active Directory Siteleri hakkında daha fazla bilgi için bkz. Site topolojisini tasarlama.

Not

Active Directory'niz tek bir siteden oluşuyorsa bu adımı atlayabilirsiniz. Yapılandırılmış bir tümünü yakala alt ağınız varsa Azure Stack Hub Genel VIP ağ alt ağının bu alt ağın bir parçası olmadığını doğrulayın.

Mevcut Active Directory'de kullanıcı hesabı oluşturma (isteğe bağlı)

İsteğe bağlı olarak, mevcut Active Directory'de Graph hizmeti için bir hesap oluşturabilirsiniz. Kullanmak istediğiniz bir hesabınız yoksa bu adımı uygulayın.

  1. Mevcut Active Directory'de aşağıdaki kullanıcı hesabını (öneri) oluşturun:

    • Kullanıcı adı: graphservice
    • Parola: Güçlü bir parola kullanın ve parolayı süresi hiç dolmak üzere yapılandırın.

    Özel izin veya üyelik gerekmez.

Grafı yapılandırmak için otomasyonu tetikleme

Bu yordam için, veri merkezi ağınızda Azure Stack Hub'daki ayrıcalıklı uç noktayla iletişim kurabilen bir bilgisayar kullanın.

  1. Yükseltilmiş bir Windows PowerShell oturumu açın (yönetici olarak çalıştırın) ve ayrıcalıklı uç noktanın IP adresine bağlanın. Kimlik doğrulaması için CloudAdmin kimlik bilgilerini kullanın.

    $creds = Get-Credential
    $pep = New-PSSession -ComputerName <IP Address of ERCS> -ConfigurationName PrivilegedEndpoint -Credential $creds -SessionOption (New-PSSessionOption -Culture en-US -UICulture en-US)
    
  2. Artık ayrıcalıklı uç nokta ile bir oturuma sahip olduğunuz için aşağıdaki komutu çalıştırın:

    Azure Stack Hub derlemesi 2008 ve daha yeni sürümleri için aşağıdaki betiği çalıştırın

     $i = @(
            [pscustomobject]@{ 
                      CustomADGlobalCatalog="fabrikam.com"
                      CustomADAdminCredential= Get-Credential -Message "Do not include the domain name of the graphservice account in the username."
                      SkipRootDomainValidation = $false 
                      ValidateParameters = $true
                    }) 
    
     Invoke-Command -Session $pep -ScriptBlock {Register-DirectoryService -customCatalog $using:i} 
    
    
    

    2008'e kadar Azure Stack Hub derlemesi için aşağıdaki betiği çalıştırın

    Invoke-Command -Session $pep -ScriptBlock {Register-DirectoryService -CustomADGlobalCatalog contoso.com} 
    
    
    

    İstendiğinde, Graph hizmeti için kullanmak istediğiniz kullanıcı hesabının (graphservice gibi) kimlik bilgilerini belirtin. Register-DirectoryService cmdlet'i için giriş, ormandaki diğer etki alanları yerine ormandaki orman adı / kök etki alanı olmalıdır.

    Önemli

    Kimlik bilgileri açılır penceresini bekleyin (Get-Credential ayrıcalıklı uç noktada desteklenmez) ve Graph Hizmet Hesabı kimlik bilgilerini girin.

  3. Register-DirectoryService cmdlet'i, mevcut Active Directory doğrulamasının başarısız olduğu bazı senaryolarda kullanabileceğiniz isteğe bağlı parametrelere sahiptir. Bu cmdlet yürütürken, sağlanan etki alanının kök etki alanı olduğunu, bir genel katalog sunucusuna ulaşılabildiğini ve sağlanan hesaba okuma erişimi verildiğini doğrular.

    Parametre Açıklama
    SkipRootDomainValidation Önerilen kök etki alanı yerine bir alt etki alanının kullanılması gerektiğini belirtir.
    ValidateParameters Tüm doğrulama denetimlerini atlar.

Graf protokolleri ve bağlantı noktaları

Azure Stack Hub'daki Graph hizmeti, hedef Active Directory ormanında oturum açma isteklerini işleyebilen yazılabilir bir Genel Katalog Sunucusu (GC) ve Anahtar Dağıtım Merkezi (KDC) ile iletişim kurmak için aşağıdaki protokolleri ve bağlantı noktalarını kullanır.

Azure Stack Hub'daki Graph hizmeti, hedef Active Directory ile iletişim kurmak için aşağıdaki protokolleri ve bağlantı noktalarını kullanır:

Tür Bağlantı noktası Protokol
LDAP 389 TCP & UDP
LDAP SSL 636 TCP
LDAP GC 3268 TCP
LDAP GC SSL 3269 TCP

Federasyon meta verilerini indirerek AD FS tümleştirmesini ayarlama

Otomasyon parametreleri için giriş olarak aşağıdaki bilgiler gereklidir:

Parametre Dağıtım Çalışma Sayfası Parametresi Açıklama Örnek
CustomAdfsName AD FS Sağlayıcı Adı Talep sağlayıcısının adı.
AD FS giriş sayfasında bu şekilde görünür.
Contoso
CustomAD
FSFederationMetadataEndpointUri
AD FS Meta Veri URI'si Federasyon meta verileri bağlantısı. https://ad01.contoso.com/federationmetadata/2007-06/federationmetadata.xml
SigningCertificateRevocationCheck NA CRL denetimini atlamak için isteğe bağlı Parametre. Hiçbiri

Azure Stack Hub'da talep sağlayıcı güvenini yapılandırmak için otomasyon tetikleme (federasyon meta verilerini indirerek)

Bu yordam için Azure Stack Hub'daki ayrıcalıklı uç noktayla iletişim kurabilen bir bilgisayar kullanın. STS AD FS hesabı tarafından kullanılan sertifikanın Azure Stack Hub tarafından güvenilir olması beklenir.

  1. Yükseltilmiş bir Windows PowerShell oturumu açın ve ayrıcalıklı uç noktaya bağlanın.

    $creds = Get-Credential
    Enter-PSSession -ComputerName <IP Address of ERCS> -ConfigurationName PrivilegedEndpoint -Credential $creds
    
  2. Ayrıcalıklı uç noktaya bağlandığınıza göre, ortamınıza uygun parametreleri kullanarak aşağıdaki komutu çalıştırın:

    Register-CustomAdfs -CustomAdfsName Contoso -CustomADFSFederationMetadataEndpointUri "https://ad01.contoso.com/federationmetadata/2007-06/federationmetadata.xml"
    
  3. Ortamınıza uygun parametreleri kullanarak varsayılan sağlayıcı aboneliğinin sahibini güncelleştirmek için aşağıdaki komutu çalıştırın:

    Set-ServiceAdminOwner -ServiceAdminOwnerUpn "administrator@contoso.com"
    

Federasyon meta veri dosyası sağlayarak AD FS tümleştirmesini ayarlama

1807 sürümünden başlayarak, aşağıdaki koşullardan biri doğruysa bu yöntemi kullanın:

  • Ad FS için sertifika zinciri, Azure Stack Hub'daki diğer tüm uç noktalara kıyasla farklıdır.
  • Azure Stack Hub'ın AD FS örneğinden mevcut AD FS sunucusuna ağ bağlantısı yoktur.

Otomasyon parametreleri için giriş olarak aşağıdaki bilgiler gereklidir:

Parametre Açıklama Örnek
CustomAdfsName Talep sağlayıcısının adı. AD FS giriş sayfasında bu şekilde görünür. Contoso
CustomADFSFederationMetadataFileContent Meta veri içeriği. $using:federationMetadataFileContent

Federasyon meta veri dosyası oluşturma

Aşağıdaki yordam için, hesap STS'si haline gelen mevcut AD FS dağıtımına ağ bağlantısı olan bir bilgisayar kullanmanız gerekir. Gerekli sertifikaların da yüklenmesi gerekir.

  1. Yükseltilmiş bir Windows PowerShell oturumu açın ve ortamınıza uygun parametreleri kullanarak aşağıdaki komutu çalıştırın:

     $url = "https://win-SQOOJN70SGL.contoso.com/FederationMetadata/2007-06/FederationMetadata.xml"
     $webclient = New-Object System.Net.WebClient
     $webclient.Encoding = [System.Text.Encoding]::UTF8
     $metadataAsString = $webclient.DownloadString($url)
     Set-Content -Path c:\metadata.xml -Encoding UTF8 -Value $metadataAsString
    
  2. Meta veri dosyasını ayrıcalıklı uç noktayla iletişim kurabilen bir bilgisayara kopyalayın.

Azure Stack Hub'da talep sağlayıcı güvenini yapılandırmak için otomasyon tetikleme (federasyon meta veri dosyası kullanılarak)

Bu yordam için, Azure Stack Hub'daki ayrıcalıklı uç noktayla iletişim kurabilen ve önceki adımda oluşturduğunuz meta veri dosyasına erişebilen bir bilgisayar kullanın.

  1. Yükseltilmiş bir Windows PowerShell oturumu açın ve ayrıcalıklı uç noktaya bağlanın.

    $federationMetadataFileContent = get-content c:\metadata.xml
    $creds=Get-Credential
    Enter-PSSession -ComputerName <IP Address of ERCS> -ConfigurationName PrivilegedEndpoint -Credential $creds
    
  2. Ayrıcalıklı uç noktaya bağlandığınıza göre, ortamınıza uygun parametreleri kullanarak aşağıdaki komutu çalıştırın:

    Register-CustomAdfs -CustomAdfsName Contoso -CustomADFSFederationMetadataFileContent $using:federationMetadataFileContent
    
  3. Varsayılan sağlayıcı aboneliğinin sahibini güncelleştirmek için aşağıdaki komutu çalıştırın. Ortamınız için uygun parametreleri kullanın.

    Set-ServiceAdminOwner -ServiceAdminOwnerUpn "administrator@contoso.com"
    

    Not

    Mevcut AD FS'de (hesap STS) sertifikayı döndürdüğünüzde, AD FS tümleştirmesini yeniden ayarlamanız gerekir. Meta veri uç noktasına ulaşılabiliyor olsa veya meta veri dosyası sağlanarak yapılandırılmış olsa bile tümleştirmeyi ayarlamanız gerekir.

Mevcut AD FS dağıtımında bağlı olan tarafı yapılandırma (hesap STS)

Microsoft, talep dönüştürme kuralları dahil olmak üzere bağlı olan taraf güvenini yapılandıran bir betik sağlar. Komutları el ile çalıştırabildiğiniz için betiğin kullanılması isteğe bağlıdır.

GitHub'da Azure Stack Hub Araçları'ndan yardımcı betiği indirebilirsiniz.

Komutları el ile çalıştırmaya karar verirseniz şu adımları izleyin:

  1. Aşağıdaki içeriği veri merkezinizin AD FS örneğindeki veya grup üyesindeki bir .txt dosyasına (örneğin, c:\ClaimIssuanceRules.txt olarak kaydedilmiş) kopyalayın:

    @RuleTemplate = "LdapClaims"
    @RuleName = "Name claim"
    c:[Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname", Issuer == "AD AUTHORITY"]
    => issue(store = "Active Directory", types = ("http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name"), query = ";userPrincipalName;{0}", param = c.Value);
    
    @RuleTemplate = "LdapClaims"
    @RuleName = "UPN claim"
    c:[Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname", Issuer == "AD AUTHORITY"]
    => issue(store = "Active Directory", types = ("http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn"), query = ";userPrincipalName;{0}", param = c.Value);
    
    @RuleTemplate = "LdapClaims"
    @RuleName = "ObjectID claim"
    c:[Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/primarysid"]
    => issue(Type = "http://schemas.microsoft.com/identity/claims/objectidentifier", Issuer = c.Issuer, OriginalIssuer = c.OriginalIssuer, Value = c.Value, ValueType = c.ValueType);
    
    @RuleName = "Family Name and Given claim"
    c:[Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname", Issuer == "AD AUTHORITY"]
    => issue(store = "Active Directory", types = ("http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname", "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname"), query = ";sn,givenName;{0}", param = c.Value);
    
    @RuleTemplate = "PassThroughClaims"
    @RuleName = "Pass through all Group SID claims"
    c:[Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/groupsid", Issuer =~ "^(AD AUTHORITY|SELF AUTHORITY|LOCAL AUTHORITY)$"]
    => issue(claim = c);
    
    @RuleTemplate = "PassThroughClaims"
    @RuleName = "Pass through all windows account name claims"
    c:[Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname"]
    => issue(claim = c);
    
  2. Extranet ve intranet için Windows Forms tabanlı kimlik doğrulamasının etkinleştirildiğini doğrulayın. Aşağıdaki cmdlet'i çalıştırarak zaten etkinleştirilip etkinleştirilmediğini de kontrol edebilirsiniz:

    Get-AdfsAuthenticationProvider | where-object { $_.name -eq "FormsAuthentication" } | select Name, AllowedForPrimaryExtranet, AllowedForPrimaryIntranet
    

    Not

    Windows Tümleşik Kimlik Doğrulaması (WIA) tarafından desteklenen kullanıcı aracısı dizeleri AD FS dağıtımınız için güncel olmayabilir ve en son istemcileri desteklemek için bir güncelleştirme gerektirebilir. WIA destekli kullanıcı aracısı dizelerini güncelleştirme hakkında daha fazla bilgi edinmek için WIA'yi desteklemeyen cihazlar için intranet formları tabanlı kimlik doğrulamasını yapılandırma makalesini okuyabilirsiniz.

    Form tabanlı kimlik doğrulama ilkesini etkinleştirme adımları için bkz. Kimlik Doğrulama İlkelerini Yapılandırma.

  3. Bağlı olan taraf güvenini eklemek için AD FS örneğinizde veya bir grup üyesinde aşağıdaki Windows PowerShell komutunu çalıştırın. AD FS uç noktasını güncelleştirip 1. Adımda oluşturulan dosyaya işaret edin.

    Önemli

    Azure Stack Hub 2002 ve sonraki sürümlerini çalıştıran müşteriler için TLS 1.2, Azure Stack Hub ADFS uç noktasında zorunlu kılınmaktadır. Bu nedenle, MÜŞTERI ADFS sunucularında TLS 1.2'nin de etkinleştirilmesi gerekir . Aksi takdirde, müşteriye ait ADFS ana bilgisayarında/grubunda çalıştırılırken Add-ADFSRelyingPartyTrust aşağıdaki hata oluşur:

    Add-ADFSRelyingPartyTrust : The underlying connection was closed: An unexpected error occurred on a send.

    AD FS 2016/2019 için

    Add-ADFSRelyingPartyTrust -Name AzureStack -MetadataUrl "https://YourAzureStackADFSEndpoint/FederationMetadata/2007-06/FederationMetadata.xml" -IssuanceTransformRulesFile "C:\ClaimIssuanceRules.txt" -AutoUpdateEnabled:$true -MonitoringEnabled:$true -enabled:$true -AccessControlPolicyName "Permit everyone" -TokenLifeTime 1440
    

    AD FS 2012/2012 R2 için

    Add-ADFSRelyingPartyTrust -Name AzureStack -MetadataUrl "https://YourAzureStackADFSEndpoint/FederationMetadata/2007-06/FederationMetadata.xml" -IssuanceTransformRulesFile "C:\ClaimIssuanceRules.txt" -AutoUpdateEnabled:$true -MonitoringEnabled:$true -enabled:$true -TokenLifeTime 1440
    

    Önemli

    Windows Server 2012 veya 2012 R2 AD FS kullanırken Verme Yetkilendirme Kurallarını yapılandırmak için AD FS MMC ek bileşenini kullanmanız gerekir.

  4. Azure Stack Hub'a erişmek için Internet Explorer veya Microsoft Edge tarayıcısını kullandığınızda belirteç bağlamalarını yoksaymalısınız. Aksi takdirde oturum açma girişimleri başarısız olur. AD FS örneğinizde veya bir grup üyesinde aşağıdaki komutu çalıştırın:

    Not

    Bu adım, Windows Server 2012 veya 2012 R2 AD FS kullanılırken geçerli değildir. Bu durumda, bu komutu atlayıp tümleştirmeye devam etmek güvenlidir.

    Set-AdfsProperties -IgnoreTokenBinding $true
    

SPN oluşturma

Kimlik doğrulaması için hizmet asıl adı (SPN) kullanılmasını gerektiren birçok senaryo vardır. Aşağıda bazı örnekler verilmiştir:

  • Azure Stack Hub'ın AD FS dağıtımı ile Azure CLI kullanımı.
  • AD FS ile dağıtıldığında Azure Stack Hub için System Center Yönetim Paketi.
  • AD FS ile dağıtıldığında Azure Stack Hub'daki kaynak sağlayıcıları.
  • Çeşitli uygulamalar.
  • Etkileşimli olmayan bir oturum açmanız gerekir.

Önemli

AD FS yalnızca etkileşimli oturum açma oturumlarını destekler. Otomatik bir senaryo için etkileşimli olmayan bir oturum açma gerekiyorsa SPN kullanmanız gerekir.

SPN oluşturma hakkında daha fazla bilgi için bkz. AD FS için hizmet sorumlusu oluşturma.

Sorun giderme

Yapılandırma Geri Alma

Ortamı artık kimlik doğrulamasından çıkamayacağınız bir durumda bırakan bir hata oluşursa, geri alma seçeneği kullanılabilir.

  1. Yükseltilmiş bir Windows PowerShell oturumu açın ve aşağıdaki komutları çalıştırın:

    $creds = Get-Credential
    Enter-PSSession -ComputerName <IP Address of ERCS> -ConfigurationName PrivilegedEndpoint -Credential $creds
    
  2. Ardından aşağıdaki cmdlet'i çalıştırın:

    Reset-DatacenterIntegrationConfiguration
    

    Geri alma eylemi çalıştırıldıktan sonra tüm yapılandırma değişiklikleri geri alınır. Yalnızca yerleşik CloudAdmin kullanıcısıyla kimlik doğrulaması yapılabilir.

    Önemli

    Varsayılan sağlayıcı aboneliğinin özgün sahibini yapılandırmanız gerekir.

    Set-ServiceAdminOwner -ServiceAdminOwnerUpn "azurestackadmin@[Internal Domain]"
    

Ek günlükleri toplama

Cmdlet'lerden herhangi biri başarısız olursa, cmdlet'ini Get-Azurestacklogs kullanarak ek günlükleri toplayabilirsiniz.

  1. Yükseltilmiş bir Windows PowerShell oturumu açın ve aşağıdaki komutları çalıştırın:

    $creds = Get-Credential
    Enter-pssession -ComputerName <IP Address of ERCS> -ConfigurationName PrivilegedEndpoint -Credential $creds
    
  2. Ardından aşağıdaki cmdlet'i çalıştırın:

    Get-AzureStackLog -OutputPath \\myworkstation\AzureStackLogs -FilterByRole ECE
    

Sonraki adımlar

Dış izleme çözümlerini tümleştirme