Integrare AD FS identità con il Data Center dell'hub Azure StackIntegrate AD FS identity with your Azure Stack Hub datacenter

È possibile distribuire Azure Stack hub usando Azure Active Directory (Azure AD) o Active Directory Federation Services (AD FS) come provider di identità.You can deploy Azure Stack Hub using Azure Active Directory (Azure AD) or Active Directory Federation Services (AD FS) as the identity provider. Prima di distribuire Azure Stack Hub è necessario effettuare la scelta.You must make the choice before you deploy Azure Stack Hub. In uno scenario connesso è possibile scegliere Azure AD o AD FS.In a connected scenario, you can choose Azure AD or AD FS. Per uno scenario disconnesso, è supportato solo AD FS.For a disconnected scenario, only AD FS is supported. Questo articolo illustra come integrare Azure Stack Hub AD FS con il AD FS data center.This article shows how to integrate Azure Stack Hub AD FS with your datacenter AD FS.

Importante

Non è possibile cambiare il provider di identità senza ridistribuire l'intera soluzione hub Azure Stack.You can't switch the identity provider without redeploying the entire Azure Stack Hub solution.

Active Directory Federation Services e GraphActive Directory Federation Services and Graph

La distribuzione con AD FS consente alle identità in una foresta Active Directory esistente di eseguire l'autenticazione con le risorse nell'hub Azure Stack.Deploying with AD FS allows identities in an existing Active Directory forest to authenticate with resources in Azure Stack Hub. Questa foresta Active Directory esistente richiede una distribuzione di AD FS per consentire la creazione di un AD FS trust federativo.This existing Active Directory forest requires a deployment of AD FS to allow the creation of an AD FS federation trust.

L'autenticazione è una parte dell'identità.Authentication is one part of identity. Per gestire il controllo degli accessi in base al ruolo (RBAC) nell'hub Azure Stack, è necessario configurare il componente Graph.To manage role-based access control (RBAC) in Azure Stack Hub, the Graph component must be configured. Quando viene delegato l'accesso a una risorsa, il componente grafico cerca l'account utente nella foresta Active Directory esistente usando il protocollo LDAP.When access to a resource is delegated, the Graph component looks up the user account in the existing Active Directory forest using the LDAP protocol.

Architettura AD FS dell'hub Azure Stack

Il AD FS esistente è il servizio token di sicurezza dell'account (STS) che invia attestazioni al AD FS Hub di Azure Stack (il servizio token di sicurezza della risorsa).The existing AD FS is the account security token service (STS) that sends claims to the Azure Stack Hub AD FS (the resource STS). Nell'hub Azure Stack l'automazione crea il trust del provider di attestazioni con l'endpoint dei metadati per la AD FS esistente.In Azure Stack Hub, automation creates the claims provider trust with the metadata endpoint for the existing AD FS.

Nel AD FS esistente è necessario configurare un trust di relying party.At the existing AD FS, a relying party trust must be configured. Questo passaggio non viene eseguito dall'automazione e deve essere configurato dall'operatore.This step isn't done by the automation, and must be configured by the operator. L'endpoint VIP dell'hub Azure Stack per AD FS può essere creato usando il modello https://adfs.<Region>.<ExternalFQDN>/ .The Azure Stack Hub VIP endpoint for AD FS can be created by using the pattern https://adfs.<Region>.<ExternalFQDN>/.

Per la configurazione dell'attendibilità relying party è inoltre necessario configurare le regole di trasformazione delle attestazioni fornite da Microsoft.The relying party trust configuration also requires you to configure the claim transformation rules that are provided by Microsoft.

Per la configurazione del grafico è necessario specificare un account del servizio che disponga delle autorizzazioni di lettura per la Active Directory esistente.For the Graph configuration, a service account must be provided that has read permission in the existing Active Directory. Questo account è necessario come input per l'automazione per abilitare gli scenari RBAC.This account is required as input for the automation to enable RBAC scenarios.

Per l'ultimo passaggio, viene configurato un nuovo proprietario per la sottoscrizione predefinita del provider.For the last step, a new owner is configured for the default provider subscription. Questo account dispone di accesso completo a tutte le risorse quando è stato eseguito l'accesso al portale di amministrazione dell'hub Azure Stack.This account has full access to all resources when signed in to the Azure Stack Hub administrator portal.

Requisiti:Requirements:

ComponenteComponent RequisitoRequirement
GraficoGraph Microsoft Active Directory 2012/2012 R2/2016 2019Microsoft Active Directory 2012/2012 R2/2016 2019
AD FSAD FS Windows Server 2012/2012 R2/2016 2019Windows Server 2012/2012 R2/2016 2019

Configurazione dell'integrazione del grafoSetting up Graph integration

Il grafo supporta solo l'integrazione con una singola foresta Active Directory.Graph only supports integration with a single Active Directory forest. Se sono presenti più foreste, per recuperare utenti e gruppi verrà utilizzata solo la foresta specificata nella configurazione.If multiple forests exist, only the forest specified in the configuration will be used to fetch users and groups.

Le informazioni seguenti sono obbligatorie come input per i parametri di automazione:The following information is required as inputs for the automation parameters:

ParametroParameter Parametro Worksheet della distribuzioneDeployment Worksheet Parameter DescrizioneDescription EsempioExample
CustomADGlobalCatalog FQDN foresta AD FSAD FS Forest FQDN FQDN della foresta di Active Directory di destinazione che si vuole integrare conFQDN of the target Active Directory forest that you want to integrate with Contoso.comContoso.com
CustomADAdminCredentials Un utente con autorizzazione di lettura LDAPA user with LDAP Read permission YOURDOMAIN\graphserviceYOURDOMAIN\graphservice

Configurare Active Directory sitiConfigure Active Directory Sites

Per Active Directory le distribuzioni con più siti, configurare il sito Active Directory più vicino alla distribuzione dell'hub di Azure Stack.For Active Directory deployments having multiple sites, configure the closest Active Directory Site to your Azure Stack Hub deployment. La configurazione evita che la Azure Stack servizio Graph Hub risolvono le query usando un server di catalogo globale da un sito remoto.The configuration avoids having the Azure Stack Hub Graph service resolve queries using a Global Catalog Server from a remote site.

Aggiungere la subnet di rete VIP pubblico dell'hub Azure stack al sito Active Directory più vicino all'hub Azure stack.Add the Azure Stack Hub Public VIP network subnet to the Active Directory Site closest to Azure Stack Hub. Si immagini, ad esempio, che il Active Directory disponga di due siti: Seattle e Redmond.For example, let's say your Active Directory has two sites: Seattle and Redmond. Se Azure Stack Hub viene distribuito nel sito di Seattle, è necessario aggiungere la subnet della rete VIP pubblica dell'hub Azure Stack al sito di Active Directory per Seattle.If Azure Stack Hub is deployed at the Seattle site, you would add the Azure Stack Hub Public VIP network subnet to the Active Directory site for Seattle.

Per ulteriori informazioni sui siti Active Directory, vedere progettazione della topologia del sito.For more information on Active Directory Sites, see Designing the site topology.

Nota

Se la Active Directory è costituita da un singolo sito, è possibile ignorare questo passaggio.If your Active Directory consist of a single site, you can skip this step. Se è configurata una subnet catch-all, verificare che la subnet della rete VIP pubblica dell'hub Azure Stack non faccia parte di essa.If you have a catch-all subnet configured, validate that the Azure Stack Hub Public VIP network subnet isn't part of it.

Creazione di un account utente nel Active Directory esistente (facoltativo)Create user account in the existing Active Directory (optional)

Facoltativamente, è possibile creare un account per il servizio Graph nel Active Directory esistente.Optionally, you can create an account for the Graph service in the existing Active Directory. Eseguire questo passaggio se non si ha già un account che si vuole usare.Do this step if you don't already have an account that you want to use.

  1. Nella Active Directory esistente creare il seguente account utente (raccomandazione):In the existing Active Directory, create the following user account (recommendation):

    • Nome utente: graphserviceUsername: graphservice
    • Password: usare una password complessa e configurare la password in modo che non scada mai.Password: Use a strong password and configure the password to never expire.

    Non è necessaria alcuna autorizzazione o appartenenza speciale.No special permissions or membership is required.

Attivare l'automazione per configurare il grafoTrigger automation to configure graph

Per questa procedura, usare un computer nella rete del Data Center in grado di comunicare con l'endpoint con privilegi nell'hub Azure Stack.For this procedure, use a computer in your datacenter network that can communicate with the privileged endpoint in Azure Stack Hub.

  1. Aprire una sessione di Windows PowerShell con privilegi elevati (Esegui come amministratore) e connettersi all'indirizzo IP dell'endpoint con privilegi.Open an elevated Windows PowerShell session (run as administrator), and connect to the IP address of the privileged endpoint. Usare le credenziali per CloudAdmin per l'autenticazione.Use the credentials for CloudAdmin to authenticate.

    $creds = Get-Credential
    $pep = New-PSSession -ComputerName <IP Address of ERCS> -ConfigurationName PrivilegedEndpoint -Credential $creds
    
  2. Ora che è disponibile una sessione con l'endpoint con privilegi, eseguire il comando seguente:Now that you have a session with the privileged endpoint, run the following command:

    Eseguire lo script seguente per Azure Stack build dell'hub 2008 e versioni successiveRun the below script for Azure Stack Hub build 2008 and newer

     $i = @(
            [pscustomobject]@{ 
                      CustomADGlobalCatalog="fabrikam.com"
                      CustomADAdminCredential= get-credential
                      SkipRootDomainValidation = $false 
                      ValidateParameters = $true
                    }) 
    
     Invoke-Command -Session $pep -ScriptBlock {Register-DirectoryService -customCatalog $using:i} 
    
    
    

    Eseguire lo script seguente per Azure Stack build dell'hub precedente alla 2008Run the below script for Azure Stack Hub build prior to 2008

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

    Quando richiesto, specificare le credenziali per l'account utente che si desidera utilizzare per il servizio grafo (ad esempio graphservice).When prompted, specify the credential for the user account that you want to use for the Graph service (such as graphservice). L'input per il cmdlet Register-DirectoryService deve essere il nome della foresta o il dominio radice nella foresta anziché qualsiasi altro dominio nella foresta.The input for the Register-DirectoryService cmdlet must be the forest name / root domain in the forest rather than any other domain in the forest.

    Importante

    Attendere il popup delle credenziali (Get-Credential non è supportato nell'endpoint con privilegi) e immettere le credenziali dell'account del servizio Graph.Wait for the credentials pop-up (Get-Credential isn't supported in the privileged endpoint) and enter the Graph Service Account credentials.

  3. Il cmdlet Register-DirectoryService dispone di parametri facoltativi che è possibile usare in determinati scenari in cui la convalida del Active Directory esistente ha esito negativo.The Register-DirectoryService cmdlet has optional parameters that you can use in certain scenarios where the existing Active Directory validation fails. Quando viene eseguito, questo cmdlet verifica che il dominio specificato sia il dominio radice, che sia possibile raggiungere un server di catalogo globale e che all'account fornito sia concesso l'accesso in lettura.When this cmdlet is executed, it validates that the provided domain is the root domain, a global catalog server can be reached, and that the provided account is granted read access.

    ParametroParameter DescrizioneDescription
    SkipRootDomainValidation Specifica che deve essere utilizzato un dominio figlio al posto del dominio radice consigliato.Specifies that a child domain must be used instead of the recommended root domain.
    ValidateParameters Ignora tutti i controlli di convalida.Bypasses all validation checks.

Porte e protocolli del grafoGraph protocols and ports

Il servizio grafo nell'hub Azure Stack usa i protocolli e le porte seguenti per comunicare con un server di catalogo globale (GC) e un Centro distribuzione chiavi (KDC) scrivibile in grado di elaborare le richieste di accesso nella foresta di Active Directory di destinazione.Graph service in Azure Stack Hub uses the following protocols and ports to communicate with a writeable Global Catalog Server (GC) and Key Distribution Center (KDC) that can process login requests in the target Active Directory forest.

Il servizio grafo nell'hub Azure Stack usa i protocolli e le porte seguenti per comunicare con la Active Directory di destinazione:Graph service in Azure Stack Hub uses the following protocols and ports to communicate with the target Active Directory:

TypeType PortaPort ProtocolloProtocol
LDAPLDAP 389389 TCP & UDPTCP & UDP
LDAP SSLLDAP SSL 636636 TCPTCP
GC LDAPLDAP GC 32683268 TCPTCP
SSL GC GCLDAP GC SSL 32693269 TCPTCP

Configurazione dell'integrazione di AD FS tramite download dei metadati federativiSetting up AD FS integration by downloading federation metadata

Le informazioni seguenti sono obbligatorie come input per i parametri di automazione:The following information is required as input for the automation parameters:

ParametroParameter Parametro Worksheet della distribuzioneDeployment Worksheet Parameter DescrizioneDescription EsempioExample
CustomAdfsNameCustomAdfsName Nome provider AD FSAD FS Provider Name Nome del provider di attestazioni.Name of the claims provider.
Viene visualizzato in questo modo nella pagina di destinazione AD FS.It appears that way on the AD FS landing page.
ContosoContoso
CustomADCustomAD
FSFederationMetadataEndpointUriFSFederationMetadataEndpointUri
URI dei metadati AD FSAD FS Metadata URI Collegamento ai metadati federativi.Federation metadata link. https: / /ad01.contoso.com/federationmetadata/2007-06/federationmetadata.xmlhttps://ad01.contoso.com/federationmetadata/2007-06/federationmetadata.xml
SigningCertificateRevocationCheckSigningCertificateRevocationCheck N/DNA Parametro facoltativo per ignorare il controllo CRL.Optional Parameter to skip CRL checking. nessunoNone

Attivare l'automazione per configurare l'attendibilità del provider di attestazioni nell'hub Azure StackTrigger automation to configure claims provider trust in Azure Stack Hub

Per questa procedura, usare un computer in grado di comunicare con l'endpoint con privilegi nell'hub Azure Stack.For this procedure, use a computer that can communicate with the privileged endpoint in Azure Stack Hub. Si prevede che il certificato usato dall'account STS ad FS sia considerato attendibile dall'hub Azure stack.It's expected that the certificate used by the account STS AD FS is trusted by Azure Stack Hub.

  1. Aprire una sessione di Windows PowerShell con privilegi elevati e connettersi all'endpoint con privilegi.Open an elevated Windows PowerShell session and connect to the privileged endpoint.

    $creds = Get-Credential
    Enter-PSSession -ComputerName <IP Address of ERCS> -ConfigurationName PrivilegedEndpoint -Credential $creds
    
  2. Ora che si è connessi all'endpoint con privilegi, eseguire il comando seguente usando i parametri appropriati per l'ambiente:Now that you're connected to the privileged endpoint, run the following command using the parameters appropriate for your environment:

    Register-CustomAdfs -CustomAdfsName Contoso -CustomADFSFederationMetadataEndpointUri https://win-SQOOJN70SGL.contoso.com/federationmetadata/2007-06/federationmetadata.xml
    
  3. Eseguire il comando seguente per aggiornare il proprietario della sottoscrizione del provider predefinita usando i parametri appropriati per l'ambiente:Run the following command to update the owner of the default provider subscription using the parameters appropriate for your environment:

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

Configurazione dell'integrazione di AD FS fornendo un file di metadati della FederazioneSetting up AD FS integration by providing federation metadata file

A partire dalla versione 1807, usare questo metodo se si verifica una delle condizioni seguenti:Beginning with version 1807, use this method if the either of the following conditions are true:

  • La catena di certificati è diversa per AD FS rispetto a tutti gli altri endpoint nell'hub Azure Stack.The certificate chain is different for AD FS compared to all other endpoints in Azure Stack Hub.
  • Non è disponibile connettività di rete al server di AD FS esistente dall'istanza AD FS dell'hub Azure Stack.There's no network connectivity to the existing AD FS server from Azure Stack Hub's AD FS instance.

Le informazioni seguenti sono obbligatorie come input per i parametri di automazione:The following information is required as input for the automation parameters:

ParametroParameter DescrizioneDescription EsempioExample
CustomAdfsNameCustomAdfsName Nome del provider di attestazioni.Name of the claims provider. Viene visualizzato in questo modo nella pagina di destinazione AD FS.It appears that way on the AD FS landing page. ContosoContoso
CustomADFSFederationMetadataFileContentCustomADFSFederationMetadataFileContent Contenuto dei metadati.Metadata content. $using: federationMetadataFileContent$using:federationMetadataFileContent

Crea file di metadati federativiCreate federation metadata file

Per la procedura riportata di seguito, è necessario utilizzare un computer con connettività di rete alla distribuzione AD FS esistente, che diventa il servizio STS dell'account.For the following procedure, you must use a computer that has network connectivity to the existing AD FS deployment, which becomes the account STS. È necessario installare anche i certificati necessari.The necessary certificates must also be installed.

  1. Aprire una sessione di Windows PowerShell con privilegi elevati ed eseguire il comando seguente usando i parametri appropriati per l'ambiente:Open an elevated Windows PowerShell session, and run the following command using the parameters appropriate for your environment:

     $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. Copiare il file di metadati in un computer in grado di comunicare con l'endpoint privilegiato.Copy the metadata file to a computer that can communicate with the privileged endpoint.

Attivare l'automazione per configurare l'attendibilità del provider di attestazioni nell'hub Azure StackTrigger automation to configure claims provider trust in Azure Stack Hub

Per questa procedura, usare un computer in grado di comunicare con l'endpoint con privilegi nell'hub Azure Stack e avere accesso al file di metadati creato in un passaggio precedente.For this procedure, use a computer that can communicate with the privileged endpoint in Azure Stack Hub and has access to the metadata file you created in a previous step.

  1. Aprire una sessione di Windows PowerShell con privilegi elevati e connettersi all'endpoint con privilegi.Open an elevated Windows PowerShell session and connect to the privileged endpoint.

    $federationMetadataFileContent = get-content c:\metadata.xml
    $creds=Get-Credential
    Enter-PSSession -ComputerName <IP Address of ERCS> -ConfigurationName PrivilegedEndpoint -Credential $creds
    
  2. Ora che si è connessi all'endpoint con privilegi, eseguire il comando seguente usando i parametri appropriati per l'ambiente:Now that you're connected to the privileged endpoint, run the following command using the parameters appropriate for your environment:

    Register-CustomAdfs -CustomAdfsName Contoso -CustomADFSFederationMetadataFileContent $using:federationMetadataFileContent
    
  3. Eseguire il comando seguente per aggiornare il proprietario della sottoscrizione del provider predefinito.Run the following command to update the owner of the default provider subscription. Usare i parametri appropriati per l'ambiente.Use the parameters appropriate for your environment.

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

    Nota

    Quando si ruota il certificato nel AD FS esistente (servizio token di servizio), è necessario configurare nuovamente l'integrazione di AD FS.When you rotate the certificate on the existing AD FS (account STS), you must set up the AD FS integration again. È necessario configurare l'integrazione anche se l'endpoint dei metadati è raggiungibile oppure è stato configurato fornendo il file di metadati.You must set up the integration even if the metadata endpoint is reachable or it was configured by providing the metadata file.

Configurare relying party sulla distribuzione di AD FS esistente (STS dell'account)Configure relying party on existing AD FS deployment (account STS)

Microsoft fornisce uno script che configura l'attendibilità relying party, incluse le regole di trasformazione delle attestazioni.Microsoft provides a script that configures the relying party trust, including the claim transformation rules. L'uso dello script è facoltativo, in quanto è possibile eseguire manualmente i comandi.Using the script is optional as you can run the commands manually.

È possibile scaricare lo script Helper dagli strumenti di Azure stack Hub su GitHub.You can download the helper script from Azure Stack Hub Tools on GitHub.

Se si decide di eseguire manualmente i comandi, attenersi alla procedura seguente:If you decide to manually run the commands, follow these steps:

  1. Copiare il contenuto seguente in un file con estensione txt (ad esempio, salvato come c:\ClaimIssuanceRules.txt) nell'istanza AD FS o nel membro della farm del Data Center:Copy the following content into a .txt file (for example, saved as c:\ClaimIssuanceRules.txt) on your datacenter's AD FS instance or farm member:

    @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. Verificare che sia abilitata l'autenticazione basata su Windows Forms per Extranet e Intranet.Validate that Windows Forms-based authentication for extranet and intranet is enabled. È possibile verificare se è già abilitato eseguendo il cmdlet seguente:You can check if its already enabled by running the following cmdlet:

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

    Nota

    Le stringhe agente utente supportate dall'autenticazione integrata di Windows (WIA) potrebbero essere obsolete per la distribuzione di AD FS e potrebbe richiedere un aggiornamento per supportare i client più recenti.The Windows Integrated Authentication (WIA) supported user agent strings may be outdated for your AD FS deployment and may require an update to support the latest clients. Per altre informazioni sull'aggiornamento delle stringhe di agente utente supportate da WIA, vedere l'articolo configurazione dell'autenticazione basata su moduli Intranet per i dispositivi che non supportano WIA.You can read more about updating the WIA supported user agent strings in the article Configuring intranet forms-based authentication for devices that don't support WIA.

    Per i passaggi per abilitare i criteri di autenticazione basati su form, vedere configurare i criteri di autenticazione.For steps to enable Form-based authentication policy, see Configure Authentication Policies.

  3. Per aggiungere l'attendibilità relying party, eseguire il comando di Windows PowerShell seguente nell'istanza di AD FS o in un membro della farm.To add the relying party trust, run the following Windows PowerShell command on your AD FS instance or a farm member. Assicurarsi di aggiornare l'endpoint AD FS e puntare al file creato nel passaggio 1.Make sure to update the AD FS endpoint and point to the file created in Step 1.

    Per AD FS 2016/2019For 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
    

    Per AD FS 2012/2012 R2For 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
    

    Importante

    È necessario utilizzare lo snap-in MMC AD FS per configurare le regole di autorizzazione di rilascio quando si utilizza Windows Server 2012 o 2012 R2 AD FS.You must use the AD FS MMC snap-in to configure the Issuance Authorization Rules when using Windows Server 2012 or 2012 R2 AD FS.

  4. Quando si usa Internet Explorer o il browser Microsoft Edge per accedere a Azure Stack Hub, è necessario ignorare i binding dei token.When you use Internet Explorer or the Microsoft Edge browser to access Azure Stack Hub, you must ignore token bindings. In caso contrario, i tentativi di accesso avranno esito negativo.Otherwise, the sign-in attempts fail. Nell'istanza AD FS o in un membro della farm, eseguire il comando seguente:On your AD FS instance or a farm member, run the following command:

    Nota

    Questo passaggio non è applicabile quando si usa Windows Server 2012 o 2012 R2 AD FS.This step isn't applicable when using Windows Server 2012 or 2012 R2 AD FS. In tal caso, è possibile ignorare questo comando e continuare con l'integrazione.In that case, it's safe to skip this command and continue with the integration.

    Set-AdfsProperties -IgnoreTokenBinding $true
    

    Per AD FS 2002 e versioni successiveFor AD FS 2002 and greater

    Nota

    Quando si esegue Add-ADFSRelyingPartyTrust l'host/farm ADFS di proprietà del cliente, è necessario assicurarsi prima che TLS 1.2 venga applicato nell'host/farm ADFS. in caso contrario, il tentativo comporterà il messaggio di errore seguente:When executing Add-ADFSRelyingPartyTrust on the customer owned ADFS host/farm, you must first ensure that TLS1.2 is enforced on the ADFS host/farm else the attempt will result in the following error message:

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

Creazione SPNSPN creation

Esistono molti scenari che richiedono l'uso di un nome dell'entità servizio (SPN) per l'autenticazione.There are many scenarios that require the use of a service principal name (SPN) for authentication. Di seguito vengono riportati alcuni esempi.The following are some examples:

  • Utilizzo dell'interfaccia della riga di comando con AD FS la distribuzione dell'hub Azure Stack.CLI usage with AD FS deployment of Azure Stack Hub.
  • Management Pack di System Center per Azure Stack Hub quando distribuito con AD FS.System Center Management Pack for Azure Stack Hub when deployed with AD FS.
  • Provider di risorse nell'hub Azure Stack quando distribuito con AD FS.Resource providers in Azure Stack Hub when deployed with AD FS.
  • Varie app.Various apps.
  • È necessario un accesso non interattivo.You require a non-interactive sign-in.

Importante

AD FS supporta solo le sessioni di accesso interattivo.AD FS only supports interactive sign-in sessions. Se è necessario un accesso non interattivo per uno scenario automatizzato, è necessario usare un nome SPN.If you require a non-interactive sign-in for an automated scenario, you must use a SPN.

Per ulteriori informazioni sulla creazione di un nome SPN, vedere creare un'entità servizio per ad FS.For more information on creating an SPN, see Create service principal for AD FS.

Risoluzione dei problemiTroubleshooting

Rollback configurazioneConfiguration Rollback

Se si verifica un errore che lascia l'ambiente in uno stato in cui non è più possibile eseguire l'autenticazione, è disponibile un'opzione rollback.If an error occurs that leaves the environment in a state where you can no longer authenticate, a rollback option is available.

  1. Aprire una sessione di Windows PowerShell con privilegi elevati ed eseguire i comandi seguenti:Open an elevated Windows PowerShell session and run the following commands:

    $creds = Get-Credential
    Enter-PSSession -ComputerName <IP Address of ERCS> -ConfigurationName PrivilegedEndpoint -Credential $creds
    
  2. Eseguire quindi il cmdlet seguente:Then run the following cmdlet:

    Reset-DatacenterIntegrationConfiguration
    

    Dopo l'esecuzione dell'azione di rollback, viene eseguito il rollback di tutte le modifiche alla configurazione.After running the rollback action, all configuration changes are rolled back. È possibile solo l'autenticazione con l'utente CloudAdmin predefinito.Only authentication with the built-in CloudAdmin user is possible.

    Importante

    È necessario configurare il proprietario originale della sottoscrizione del provider predefinito.You must configure the original owner of the default provider subscription.

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

Raccolta di log aggiuntiviCollecting additional logs

Se uno dei cmdlet ha esito negativo, è possibile raccogliere log aggiuntivi usando il Get-Azurestacklogs cmdlet.If any of the cmdlets fail, you can collect additional logs by using the Get-Azurestacklogs cmdlet.

  1. Aprire una sessione di Windows PowerShell con privilegi elevati ed eseguire i comandi seguenti:Open an elevated Windows PowerShell session and run the following commands:

    $creds = Get-Credential
    Enter-pssession -ComputerName <IP Address of ERCS> -ConfigurationName PrivilegedEndpoint -Credential $creds
    
  2. Eseguire quindi il cmdlet seguente:Then run the following cmdlet:

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

Passaggi successiviNext steps

Integra soluzioni di monitoraggio esternoIntegrate external monitoring solutions