Sdílet prostřednictvím


Integrace identity služby AD FS s datacentrem služby Azure Stack Hub

Azure Stack Hub můžete nasadit pomocí Microsoft Entra ID 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 zvolit 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 jenom služba AD FS. Tento článek ukazuje, jak integrovat službu AD FS služby Azure Stack Hub se službou AD FS vašeho datacentra.

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í pomocí služby AD FS umožňuje ověřování identit ve stávající doménové struktuře služby Active Directory pomocí prostředků ve službě Azure Stack Hub. Tato existují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 komponenta Graph nakonfigurovaná. Při delegovaném 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.

Architektura služby AD FS služby Azure Stack Hub

Stávající služba AD FS je služba tokenů zabezpečení účtu (STS), která odesílá deklarace identity do služby Azure Stack Hub AD FS (token zabezpečení 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 VIRTUÁLNÍ IP adresy 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.

V případě konfigurace graphu musí být účet služby zadaný s oprávněním ke čtení ve stávají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á úplný přístup ke všem prostředkům při přihlášení k portálu pro správu služby Azure Stack Hub.

Požadavky:

Komponenta Požadavek
Graf 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 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 pro parametry 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í PROTOKOLU LDAP graphservice

Konfigurace lokalit služby Active Directory

U nasazení služby Active Directory, která mají více lokalit, nakonfigurujte nejbližší lokalitu Active Directory k nasazení služby Azure Stack Hub. Konfigurace zabraňuje 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 služby Active Directory, která je nejblíže ke službě Azure Stack Hub. Řekněme například, že vaše služba Active Directory má dvě lokality: Seattle a Redmond. Pokud je služba Azure Stack Hub nasazená v lokalitě Seattlu, přidáte 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 naleznete 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 podsíť veřejné virtuální IP adresy služby Azure Stack Hub není součástí této podsítě.

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.

  1. V existují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 heslo tak, aby nikdy nevyprší platnost.

    Nevyžaduje 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 datacentra, který může komunikovat s privilegovaným koncovým bodem ve službě Azure Stack Hub.

  1. Otevřete relaci Windows PowerShellu se zvýšenými oprávněními (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 pro 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)
    
  2. Teď, když máte relaci s privilegovaným koncovým bodem, spusťte následující příkaz:

    Spusťte následující skript pro build Azure Stack Hub 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} 
    
    
    

    Spusťte následující skript pro sestavení služby Azure Stack Hub před verzí 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). Vstup pro rutinu 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 se nepodporuje Get-Credential) a zadejte přihlašovací údaje účtu služby Graph.

  3. Rutina Register-DirectoryService má volitelné parametry, které můžete použít v určitých scénářích, kdy stávající ověřování služby Active Directory selže. Při spuštění této rutiny ověří, že zadanou doménou je kořenová doména, je možné dosáhnout serveru globálního katalogu a že poskytnutý účet má udělený přístup pro čtení.

    Parametr Popis
    SkipRootDomainValidation Určuje, že se musí používat podřízená doména místo doporučené kořenové domény.
    ValidateParameters Obchází všechny kontroly ověření.

Protokoly a porty grafů

Služba Graph ve službě Azure Stack Hub používá následující protokoly a porty ke komunikaci se zapisovatelným serverem globálního katalogu (GC) a centrem distribuce klíčů (KDC), které můžou 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 3 268 TCP
LDAP GC SSL 3269 TCP

Nastavení integrace služby AD FS stažením federačních metadat

Jako vstup pro parametry automatizace se vyžadují následující informace:

Parametr Parametr listu nasazení Popis Příklad
CustomAdfsName Název zprostředkovatele služby AD FS Název zprostředkovatele deklarací identity
Vypadá to 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. Nic

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 služba Azure Stack Hub důvěřuje certifikátu používanému účtem STS AD FS .

  1. Otevřete relaci Windows PowerShellu 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
    
  2. Teď, když jste připojení k privilegovanému koncovému bodu, spusťte následující příkaz s použitím parametrů vhodných pro vaše prostředí:

    Register-CustomAdfs -CustomAdfsName Contoso -CustomADFSFederationMetadataEndpointUri "https://ad01.contoso.com/federationmetadata/2007-06/federationmetadata.xml"
    
  3. Spuštěním následujícího příkazu aktualizujte vlastníka výchozího předplatného poskytovatele pomocí parametrů vhodných pro vaše prostředí:

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

Nastavení integrace služby AD FS poskytnutím souboru metadat federace

Od verze 1807 použijte tuto metodu, pokud platí některé z následujících podmínek:

  • Řetěz certifikátů se pro službu AD FS liší ve srovnání se všemi ostatními koncovými body ve službě Azure Stack Hub.
  • Z instance SLUŽBY AD FS služby Azure Stack Hub neexistuje žádné síťové připojení k existujícímu serveru AD FS.

Jako vstup pro parametry automatizace se vyžadují následující informace:

Parametr Popis Příklad
CustomAdfsName Název zprostředkovatele deklarací identity Vypadá to 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, což se stane službou STS účtu. Musí být také nainstalovány potřebné certifikáty.

  1. Otevřete relaci Windows PowerShellu se zvýšenými oprávněními a spusťte následující příkaz s použitím parametrů vhodných 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
    
  2. Zkopírujte soubor metadat do počítače, který může komunikovat s privilegovaným koncovým bodem.

Aktivace automatizace konfigurace 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.

  1. Otevřete relaci Windows PowerShellu 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
    
  2. Teď, když jste připojení k privilegovanému koncovému bodu, spusťte následující příkaz s použitím parametrů vhodných pro vaše prostředí:

    Register-CustomAdfs -CustomAdfsName Contoso -CustomADFSFederationMetadataFileContent $using:federationMetadataFileContent
    
  3. Spuštěním následujícího příkazu aktualizujte vlastníka výchozího předplatného poskytovatele. 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 (účet STS) musíte znovu nastavit integraci služby AD FS. Integraci musíte nastavit i v případě, že je koncový bod metadat dostupný nebo je nakonfigurovaný poskytnutím souboru metadat.

Konfigurace předávající strany pro stávající nasazení služby AD FS (účet STS)

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 nástrojů služby Azure Stack Hub na GitHubu.

Pokud se rozhodnete příkazy spustit ručně, postupujte takto:

  1. 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 člena farmy vašeho datacentra:

    @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. Ověřte, že je povolené ověřování model Windows Forms pro extranet a intranet. 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:

    Řetězce podporovaného uživatelského agenta 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ů podporovaných uživatelských agentů WIA najdete v článku Konfigurace ověřování pomocí intranetových formulářů pro zařízení, která nepodporují WIA.

    Postup povolení zásad ověřování pomocí formulářů najdete v tématu Konfigurace zásad ověřování.

  3. 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 PowerShellu. Nezapomeňte aktualizovat koncový bod služby AD FS a odkazovat 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ší se na koncovém bodu ADFS služby Azure Stack Hub vynucuje protokol TLS 1.2. Proto musí být na serverech ADFS zákazníka povolen také protokol TLS 1.2. Jinak při spuštění Add-ADFSRelyingPartyTrust na hostiteli nebo farmě ADFS zákazníka dojde 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 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é

    Modul snap-in konzoly MMC služby AD FS musíte použít ke konfiguraci pravidel autorizace vystavování při použití windows Serveru 2012 nebo 2012 R2 AD FS.

  4. 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 pokusy o přihlášení selžou. 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žití služby AD FS systému 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é k ověřování vyžadují použití hlavního názvu služby (SPN). 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.

Řešení problému

Vrácení konfigurace zpět

Pokud dojde k chybě, která opustí prostředí ve stavu, ve kterém už nemůžete provést ověření, je k dispozici možnost vrácení zpět.

  1. Otevřete relaci Windows PowerShellu 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
    
  2. 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. Je možné jenom ověřování s integrovaným uživatelem 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é rutiny selžou, můžete pomocí této Get-Azurestacklogs rutiny shromáždit další protokoly.

  1. Otevřete relaci Windows PowerShellu 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
    
  2. Pak spusťte následující rutinu:

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

Další kroky

Integrace externích řešení monitorování