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.
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.
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.
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)
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.
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.
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
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"
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.
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
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.
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
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
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:
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);
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.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.
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.
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
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.
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
Ardından aşağıdaki cmdlet'i çalıştırın:
Get-AzureStackLog -OutputPath \\myworkstation\AzureStackLogs -FilterByRole ECE