Integrace identity SLUŽBY AD FS s datacentrem služby Azure Stack Hub
Službu Azure Stack Hub můžete nasadit pomocí id Microsoft Entra nebo Active Directory Federation Services (AD FS) (AD FS) jako zprostředkovatele identity. Před nasazením služby Azure Stack Hub je potřeba provést tuto volbu. V připojeném scénáři můžete zvolit Microsoft Entra ID nebo AD FS. V případě odpojeného scénáře se podporuje pouze SLUŽBA AD FS. V tomto článku se dozvíte, jak integrovat službu AD FS služby Azure Stack Hub se službou AD FS datového centra.
Důležité
Zprostředkovatele identity nemůžete přepnout bez opětovného nasazení celého řešení Služby Azure Stack Hub.
Active Directory Federation Services (AD FS) a Graph
Nasazení se službou AD FS umožňuje ověřování identit v existující doménové struktuře Služby Active Directory pomocí prostředků ve službě Azure Stack Hub. Tato stávající doménová struktura Služby Active Directory vyžaduje nasazení služby AD FS, aby bylo možné vytvořit vztah důvěryhodnosti federace služby AD FS.
Ověřování je jednou z částí identity. Pokud chcete spravovat řízení přístupu na základě role (RBAC) ve službě Azure Stack Hub, musí být nakonfigurovaná komponenta Graph. Při delegování přístupu k prostředku vyhledá komponenta Graph uživatelský účet v existující doménové struktuře služby Active Directory pomocí protokolu LDAP.
Stávající služba AD FS je služba tokenů zabezpečení účtu (STS), která odesílá deklarace identity do služby AD FS služby Azure Stack Hub (STS prostředku). Ve službě Azure Stack Hub vytvoří automatizace vztah důvěryhodnosti zprostředkovatele deklarací identity s koncovým bodem metadat pro existující službu AD FS.
V existující službě AD FS musí být nakonfigurovaný vztah důvěryhodnosti předávající strany. Tento krok není proveden automatizací a musí ho nakonfigurovat operátor. Koncový bod VIP služby Azure Stack Hub pro SLUŽBU AD FS je možné vytvořit pomocí vzoru https://adfs.<Region>.<ExternalFQDN>/
.
Konfigurace vztahu důvěryhodnosti předávající strany také vyžaduje, abyste nakonfigurovali pravidla transformace deklarací identity, která poskytuje Microsoft.
Pro konfiguraci Graphu musí být zadaný účet služby, který má oprávnění ke čtení v existující službě Active Directory. Tento účet se vyžaduje jako vstup pro automatizaci, aby bylo možné povolit scénáře RBAC.
V posledním kroku je pro výchozí předplatné poskytovatele nakonfigurovaný nový vlastník. Tento účet má po přihlášení k portálu pro správu Služby Azure Stack Hub úplný přístup ke všem prostředkům.
Požadavky:
Součást | Požadavek |
---|---|
Graph | Microsoft Active Directory 2012/2012 R2/2016 2019 |
AD FS | Windows Server 2012/2012 R2/2016 2019 |
Nastavení integrace Graphu
Graph podporuje pouze integraci s jednou doménovou strukturou služby Active Directory. Pokud existuje více doménových struktur, použije se k načtení uživatelů a skupin pouze doménová struktura zadaná v konfiguraci.
Jako vstupy parametrů automatizace se vyžadují následující informace:
Parametr | Parametr listu nasazení | Popis | Příklad |
---|---|---|---|
CustomADGlobalCatalog |
Plně kvalifikovaný název domény doménové struktury služby AD FS | Plně kvalifikovaný název domény cílové doménové struktury Služby Active Directory, se kterou chcete integrovat | Contoso.com |
CustomADAdminCredentials |
Uživatel s oprávněním ke čtení LDAP | graphservice |
Konfigurace lokalit služby Active Directory
V případě nasazení služby Active Directory s více lokalitami nakonfigurujte lokalitu služby Active Directory, která je nejblíže vašemu nasazení služby Azure Stack Hub. Konfigurace zabrání tomu, aby služba Azure Stack Hub Graph přeložil dotazy pomocí serveru globálního katalogu ze vzdálené lokality.
Přidejte podsíť veřejné virtuální ip adresy služby Azure Stack Hub do lokality Active Directory, která je nejblíže ke službě Azure Stack Hub. Řekněme například, že vaše služba Active Directory má dva weby: Seattle a Redmond. Pokud je služba Azure Stack Hub nasazená v lokalitě Seattle, přidali byste podsíť veřejné virtuální ip adresy služby Azure Stack Hub do lokality Active Directory pro Seattle.
Další informace o lokalitách služby Active Directory najdete v tématu Návrh topologie lokality.
Poznámka
Pokud se služba Active Directory skládá z jedné lokality, můžete tento krok přeskočit. Pokud máte nakonfigurovanou podsíť catch-all, ověřte, že není její součástí podsíť veřejné virtuální ip adresy služby Azure Stack Hub.
Vytvoření uživatelského účtu v existující službě Active Directory (volitelné)
Volitelně můžete vytvořit účet pro službu Graph v existující službě Active Directory. Tento krok proveďte, pokud ještě nemáte účet, který chcete použít.
Ve stávající službě Active Directory vytvořte následující uživatelský účet (doporučení):
- Uživatelské jméno: graphservice
- Heslo: Použijte silné heslo a nakonfigurujte ho tak, aby nikdy nevyprší platnost hesla.
Nevyžadují se žádná zvláštní oprávnění ani členství.
Aktivace automatizace pro konfiguraci grafu
Pro účely tohoto postupu použijte počítač v síti datového centra, který může komunikovat s privilegovaným koncovým bodem ve službě Azure Stack Hub.
Otevřete relaci se zvýšenými oprávněními Windows PowerShell (spusťte jako správce) a připojte se k IP adrese privilegovaného koncového bodu. K ověření použijte přihlašovací údaje správce CloudAdmin .
$creds = Get-Credential $pep = New-PSSession -ComputerName <IP Address of ERCS> -ConfigurationName PrivilegedEndpoint -Credential $creds -SessionOption (New-PSSessionOption -Culture en-US -UICulture en-US)
Teď, když máte relaci s privilegovaným koncovým bodem, spusťte následující příkaz:
Spuštění následujícího skriptu pro Azure Stack Hub build 2008 a novější
$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}
Spuštění následujícího skriptu pro sestavení služby Azure Stack Hub před 2008
Invoke-Command -Session $pep -ScriptBlock {Register-DirectoryService -CustomADGlobalCatalog contoso.com}
Po zobrazení výzvy zadejte přihlašovací údaje pro uživatelský účet, který chcete použít pro službu Graph (například graphservice). Vstupem rutiny Register-DirectoryService musí být název doménové struktury nebo kořenová doména v doménové struktuře, nikoli jakákoli jiná doména v doménové struktuře.
Důležité
Počkejte na automaticky otevírané okno s přihlašovacími údaji (v privilegovaném koncovém bodu není podporovaná funkce Get-Credential) a zadejte přihlašovací údaje účtu služby Graph Service.
Rutina Register-DirectoryService má volitelné parametry, které můžete použít v určitých scénářích, kdy se nezdaří ověření stávající služby Active Directory. Při spuštění této rutiny se ověří, že zadanou doménou je kořenová doména, je dostupný server globálního katalogu a že zadaný účet má udělený přístup ke čtení.
Parametr Popis SkipRootDomainValidation
Určuje, že se musí místo doporučené kořenové domény použít podřízená doména. ValidateParameters
Obchází všechny ověřovací kontroly.
Protokoly a porty graphu
Služba Graph ve službě Azure Stack Hub používá následující protokoly a porty ke komunikaci s zapisovatelným serverem globálního katalogu (GC) a centrem distribuce klíčů (KDC), které mohou zpracovávat žádosti o přihlášení v cílové doménové struktuře služby Active Directory.
Služba Graph ve službě Azure Stack Hub používá ke komunikaci s cílovou službou Active Directory následující protokoly a porty:
Typ | Port | Protokol |
---|---|---|
LDAP | 389 | TCP & UDP |
LDAP SSL | 636 | TCP |
LDAP GC | 3268 | TCP |
LDAP GC SSL | 3269 | TCP |
Nastavení integrace služby AD FS stažením federačních metadat
Jako vstup parametrů automatizace se vyžadují následující informace:
Parametr | Parametr listu nasazení | Popis | Příklad |
---|---|---|---|
Vlastní název_ad_služby | Název zprostředkovatele služby AD FS | Název zprostředkovatele deklarací identity. Zobrazí se tak na cílové stránce služby AD FS. |
Contoso |
CustomAD FSFederationMetadataEndpointUri |
Identifikátor URI metadat služby AD FS | Odkaz na federační metadata. | https://ad01.contoso.com/federationmetadata/2007-06/federationmetadata.xml |
SigningCertificateRevocationCheck | NA | Volitelný parametr pro přeskočení kontroly seznamu CRL | Žádné |
Aktivace automatizace pro konfiguraci vztahu důvěryhodnosti zprostředkovatele deklarací identity ve službě Azure Stack Hub (stažením federačních metadat)
Pro účely tohoto postupu použijte počítač, který může komunikovat s privilegovaným koncovým bodem ve službě Azure Stack Hub. Očekává se, že certifikát používaný službou STS AD FS účtu je pro službu Azure Stack Hub důvěryhodný.
Otevřete relaci Windows PowerShell se zvýšenými oprávněními a připojte se k privilegovanému koncovému bodu.
$creds = Get-Credential Enter-PSSession -ComputerName <IP Address of ERCS> -ConfigurationName PrivilegedEndpoint -Credential $creds
Teď, když jste připojení k privilegovanému koncovému bodu, spusťte následující příkaz s parametry vhodnými pro vaše prostředí:
Register-CustomAdfs -CustomAdfsName Contoso -CustomADFSFederationMetadataEndpointUri "https://ad01.contoso.com/federationmetadata/2007-06/federationmetadata.xml"
Spuštěním následujícího příkazu aktualizujte vlastníka výchozího předplatného zprostředkovatele pomocí parametrů vhodných pro vaše prostředí:
Set-ServiceAdminOwner -ServiceAdminOwnerUpn "administrator@contoso.com"
Nastavení integrace služby AD FS poskytnutím souboru federačních metadat
Počínaje verzí 1807 použijte tuto metodu, pokud platí některé z následujících podmínek:
- Řetěz certifikátů se ve službě AD FS liší od všech ostatních koncových bodů ve službě Azure Stack Hub.
- Z instance AD FS služby Azure Stack Hub není k dispozici síťové připojení k existujícímu serveru AD FS.
Jako vstup parametrů automatizace se vyžadují následující informace:
Parametr | Popis | Příklad |
---|---|---|
Vlastní název_ad_služby | Název zprostředkovatele deklarací identity. Zobrazí se tak na cílové stránce služby AD FS. | Contoso |
CustomADFSFederationMetadataFileContent | Obsah metadat. | $using:federationMetadataFileContent |
Vytvoření souboru federačních metadat
Pro následující postup musíte použít počítač, který má síťové připojení k existujícímu nasazení služby AD FS, které se stane účtem sts. Musí být nainstalovány také potřebné certifikáty.
Otevřete relaci Windows PowerShell se zvýšenými oprávněními a spusťte následující příkaz s parametry vhodnými pro vaše prostředí:
$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
Zkopírujte soubor metadat do počítače, který může komunikovat s privilegovaným koncovým bodem.
Aktivace automatizace pro konfiguraci vztahu důvěryhodnosti zprostředkovatele deklarací identity ve službě Azure Stack Hub (pomocí souboru federačních metadat)
Pro účely tohoto postupu použijte počítač, který může komunikovat s privilegovaným koncovým bodem ve službě Azure Stack Hub a má přístup k souboru metadat, který jste vytvořili v předchozím kroku.
Otevřete relaci Windows PowerShell se zvýšenými oprávněními a připojte se k privilegovanému koncovému bodu.
$federationMetadataFileContent = get-content c:\metadata.xml $creds=Get-Credential Enter-PSSession -ComputerName <IP Address of ERCS> -ConfigurationName PrivilegedEndpoint -Credential $creds
Teď, když jste připojení k privilegovanému koncovému bodu, spusťte následující příkaz s parametry vhodnými pro vaše prostředí:
Register-CustomAdfs -CustomAdfsName Contoso -CustomADFSFederationMetadataFileContent $using:federationMetadataFileContent
Spuštěním následujícího příkazu aktualizujte vlastníka výchozího předplatného zprostředkovatele. Použijte parametry vhodné pro vaše prostředí.
Set-ServiceAdminOwner -ServiceAdminOwnerUpn "administrator@contoso.com"
Poznámka
Při obměně certifikátu ve stávající službě AD FS (sts účtu) musíte znovu nastavit integraci služby AD FS. Integraci musíte nastavit i v případě, že je koncový bod metadat dostupný nebo byl nakonfigurován poskytnutím souboru metadat.
Konfigurace předávající strany v existujícím nasazení služby AD FS (služby STS účtu)
Microsoft poskytuje skript, který konfiguruje vztah důvěryhodnosti předávající strany, včetně pravidel transformace deklarací identity. Použití skriptu je volitelné, protože příkazy můžete spouštět ručně.
Pomocný skript si můžete stáhnout z webu Azure Stack Hub Tools na GitHubu.
Pokud se rozhodnete spustit příkazy ručně, postupujte takto:
Zkopírujte následující obsah do souboru .txt (například uloženého jako c:\ClaimIssuanceRules.txt) v instanci služby AD FS nebo členovi farmy vašeho datového centra:
@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);
Ověřte, že je pro extranet a intranet povolené ověřování na základě model Windows Forms. Spuštěním následující rutiny můžete zkontrolovat, jestli už je povolená:
Get-AdfsAuthenticationProvider | where-object { $_.name -eq "FormsAuthentication" } | select Name, AllowedForPrimaryExtranet, AllowedForPrimaryIntranet
Poznámka
Podporované řetězce uživatelského agenta integrovaného ověřování windows (WIA) můžou být pro vaše nasazení služby AD FS zastaralé a můžou vyžadovat aktualizaci pro podporu nejnovějších klientů. Další informace o aktualizaci řetězců uživatelských agentů podporovaných wia najdete v článku Konfigurace intranetového ověřování pomocí formulářů pro zařízení, která wia nepodporují.
Postup povolení zásad ověřování na základě formulářů najdete v tématu Konfigurace zásad ověřování.Pokud chcete přidat vztah důvěryhodnosti předávající strany, spusťte v instanci služby AD FS nebo členovi farmy následující příkaz Windows PowerShell. Nezapomeňte aktualizovat koncový bod služby AD FS a nasměrovat na soubor vytvořený v kroku 1.
Důležité
Pro zákazníky se službou Azure Stack Hub verze 2002 a novějšími se vynucuje protokol TLS 1.2 v koncovém bodu služby Azure Stack Hub ADFS. Proto musí být protokol TLS 1.2 povolený také na serverech AD FS zákazníka. V opačném případě dojde při spuštění
Add-ADFSRelyingPartyTrust
na hostiteli nebo farmě AD FS vlastněné zákazníkem k následující chybě:Add-ADFSRelyingPartyTrust : The underlying connection was closed: An unexpected error occurred on a send.
Pro SLUŽBU AD FS 2016/2019
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
Pro SLUŽBU AD FS 2012/2012 R2
Add-ADFSRelyingPartyTrust -Name AzureStack -MetadataUrl "https://YourAzureStackADFSEndpoint/FederationMetadata/2007-06/FederationMetadata.xml" -IssuanceTransformRulesFile "C:\ClaimIssuanceRules.txt" -AutoUpdateEnabled:$true -MonitoringEnabled:$true -enabled:$true -TokenLifeTime 1440
Důležité
Pokud používáte službu WINDOWS SERVER 2012 nebo 2012 R2 AD FS, musíte použít modul snap-in konzoly MMC služby AD FS ke konfiguraci autorizačních pravidel vystavování.
Pokud pro přístup ke službě Azure Stack Hub používáte Internet Explorer nebo prohlížeč Microsoft Edge, musíte ignorovat vazby tokenů. Jinak se pokusy o přihlášení nezdaří. V instanci služby AD FS nebo členu farmy spusťte následující příkaz:
Poznámka
Tento krok se nedá použít při používání služby AD FS Windows Server 2012 nebo 2012 R2. V takovém případě je bezpečné tento příkaz přeskočit a pokračovat v integraci.
Set-AdfsProperties -IgnoreTokenBinding $true
Vytvoření hlavního názvu služby (SPN)
Existuje mnoho scénářů, které vyžadují použití hlavního názvu služby (SPN) k ověřování. Tady je několik příkladů:
- Využití Azure CLI s nasazením služby Ad FS služby Azure Stack Hub.
- System Center Management Pack pro Azure Stack Hub při nasazení se službou AD FS.
- Poskytovatelé prostředků ve službě Azure Stack Hub při nasazení se službou AD FS
- Různé aplikace.
- Vyžadujete neinteraktivní přihlášení.
Důležité
AD FS podporuje pouze relace interaktivního přihlašování. Pokud pro automatizovaný scénář vyžadujete neinteraktivní přihlášení, musíte použít hlavní název služby (SPN).
Další informace o vytvoření hlavního názvu služby (SPN) najdete v tématu Vytvoření instančního objektu pro službu AD FS.
Poradce při potížích
Vrácení konfigurace zpět
Pokud dojde k chybě, která prostředí opustí ve stavu, ve kterém se už nemůžete ověřit, je k dispozici možnost vrácení zpět.
Otevřete relaci Windows PowerShell se zvýšenými oprávněními a spusťte následující příkazy:
$creds = Get-Credential Enter-PSSession -ComputerName <IP Address of ERCS> -ConfigurationName PrivilegedEndpoint -Credential $creds
Pak spusťte následující rutinu:
Reset-DatacenterIntegrationConfiguration
Po spuštění akce vrácení zpět se všechny změny konfigurace vrátí zpět. Ověřování je možné pouze pomocí integrovaného uživatele CloudAdmin .
Důležité
Musíte nakonfigurovat původního vlastníka výchozího předplatného poskytovatele.
Set-ServiceAdminOwner -ServiceAdminOwnerUpn "azurestackadmin@[Internal Domain]"
Shromažďování dalších protokolů
Pokud některá z rutin selže, můžete pomocí rutiny Get-Azurestacklogs
shromáždit další protokoly.
Otevřete relaci Windows PowerShell se zvýšenými oprávněními a spusťte následující příkazy:
$creds = Get-Credential Enter-pssession -ComputerName <IP Address of ERCS> -ConfigurationName PrivilegedEndpoint -Credential $creds
Pak spusťte následující rutinu:
Get-AzureStackLog -OutputPath \\myworkstation\AzureStackLogs -FilterByRole ECE