Come configurare l'autenticazione Windows per ID Microsoft Entra con il flusso basato sull'attendibilità in ingresso

Questo articolo descrive come implementare il flusso di autenticazione basata su attendibilità in ingresso per consentire ai client aggiunti ad Active Directory (AD) che eseguono Windows 10, Windows Server 2012 o versioni successive di Windows di eseguire l'autenticazione a un Istanza gestita di SQL di Azure tramite l'autenticazione di Windows.

Questo articolo include anche i passaggi per ruotare una chiave Kerberos per l'account del servizio in Microsoft Entra ID (in precedenza Azure Active Directory) e un oggetto dominio attendibile e i passaggi per rimuovere un oggetto dominio attendibile e tutte le impostazioni Kerberos, se necessario.

L'abilitazione del flusso di autenticazione basata sull'attendibilità in ingresso è un passaggio nella configurazione dell'autenticazione di Windows per Istanza gestita di SQL di Azure tramite Microsoft Entra ID e Kerberos. Il flusso interattivo moderno è disponibile per i client con riconoscimento dei dati che eseguono Windows 10 20H1, Windows Server 2022 o una versione successiva di Windows.

Nota

Microsoft Entra ID era precedentemente noto come Azure Active Directory (Azure AD).

Autorizzazioni

Per completare i passaggi descritti in questo articolo, è necessario:

  • Nome utente e password dell'amministratore Active Directory locale.
  • Nome utente e password dell'account Microsoft Entra Global Amministrazione istrator.

Prerequisiti

Per implementare il flusso di autenticazione basata sull'attendibilità in ingresso, verificare prima di tutto che siano stati soddisfatti i prerequisiti seguenti:

Prerequisito Descrizione
I client devono eseguire Windows 10, Windows Server 2012 o una versione successiva di Windows.
I client devono avere un join ad AD. Il dominio deve avere un livello funzionale di Windows Server 2012 o successivo. È possibile determinare se il client ha un join ad AD eseguendo il comando dsregcmd: dsregcmd.exe /status
Modulo di gestione dell'autenticazione ibrida di Azure AD. Questo modulo di PowerShell offre funzionalità di gestione per la configurazione locale.
Tenant di Azure.
Sottoscrizione di Azure nello stesso tenant di Microsoft Entra che si prevede di usare per l'autenticazione.
Microsoft Entra Connessione installato. Ambienti ibridi in cui esistono identità sia in ID che in AD Microsoft Entra.

Creare e configurare l'oggetto dominio attendibile Kerberos di Microsoft Entra

Per creare e configurare l'oggetto dominio attendibile Microsoft Entra Kerberos, installare il modulo PowerShell di Gestione autenticazione ibrida di Azure AD.

Si userà quindi il modulo Azure AD Hybrid Authentication Management PowerShell per configurare un oggetto dominio attendibile nel dominio DI AD locale e registrare le informazioni di attendibilità con Microsoft Entra ID. In questo modo viene creata una relazione di trust associata in AD locale, che consente a Microsoft Entra ID di considerare attendibile AD locale.

Configurare l'oggetto dominio attendibile

Per configurare l'oggetto dominio attendibile, installare prima di tutto il modulo PowerShell azure AD Hybrid Authentication Management.

Installare il modulo PowerShell di Gestione autenticazione ibrida di Azure AD

  1. Avviare una sessione di Windows PowerShell con l'opzione Esegui come amministratore .

  2. Installare il modulo PowerShell di Gestione autenticazione ibrida di Azure AD usando lo script seguente. Lo script:

    • Abilita TLS 1.2 per la comunicazione.
    • Installa il provider di pacchetti NuGet.
    • Registra il repository PSGallery.
    • Installa il modulo PowerShellGet.
    • Installa il modulo PowerShell per la gestione dell'autenticazione ibrida di Azure AD.
      • Azure AD Hybrid Authentication Management PowerShell usa il modulo AzureADPreview, che fornisce funzionalità avanzate di gestione di Microsoft Entra.
      • Per proteggersi da conflitti di installazione non necessari con il modulo Azure AD PowerShell, questo comando include il flag di opzione –AllowClobber.
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12

Install-PackageProvider -Name NuGet -Force

if (@(Get-PSRepository | ? {$_.Name -eq "PSGallery"}).Count -eq 0){
    Register-PSRepository -DefaultSet-PSRepository -Name "PSGallery" -InstallationPolicy Trusted
}

Install-Module -Name PowerShellGet -Force

Install-Module -Name AzureADHybridAuthenticationManagement -AllowClobber

Creare l'oggetto Dominio attendibile

  1. Avviare una sessione di Windows PowerShell con l'opzione Esegui come amministratore .

  2. Impostare i parametri comuni. Personalizzare lo script seguente prima di eseguirlo.

    • Impostare il $domain parametro sul nome di dominio Active Directory locale.
    • Quando richiesto da Get-Credential, immettere un nome utente e una password Active Directory locale amministratore.
    • Impostare il $cloudUserName parametro sul nome utente di un account con privilegi di Amministrazione istrator globale per l'accesso al cloud Microsoft Entra.

    Nota

    Se si vuole usare l'account di accesso di Windows corrente per l'accesso Active Directory locale, è possibile ignorare il passaggio in cui vengono assegnate le credenziali al $domainCred parametro . Se si usa questo approccio, non includere il -DomainCredential parametro nei comandi di PowerShell che seguono questo passaggio.

    $domain = "your on-premesis domain name, for example contoso.com"
    
    $domainCred = Get-Credential
    
    $cloudUserName = "Azure AD user principal name, for example admin@contoso.onmicrosoft.com"
    
  3. Controllare il Impostazioni di dominio Kerberos corrente.

    Eseguire il comando seguente per controllare le impostazioni Kerberos correnti del dominio:

    Get-AzureAdKerberosServer -Domain $domain `
        -DomainCredential $domainCred `
        -UserPrincipalName $cloudUserName
    

    Se questa è la prima volta che si chiama un comando Kerberos di Microsoft Entra, viene richiesto l'accesso al cloud Microsoft Entra.

    • Immettere la password per l'account microsoft Entra Global Amministrazione istrator.
    • Se l'organizzazione usa altri metodi di autenticazione moderni, ad esempio l'autenticazione a più fattori Microsoft Entra o smart card, seguire le istruzioni richieste per l'accesso.

    Se questa è la prima volta che si configurano le impostazioni Kerberos di Microsoft Entra, il cmdlet Get-AzureAdKerberosServer visualizza informazioni vuote, come nell'output di esempio seguente:

    ID                  :
    UserAccount         :
    ComputerAccount     :
    DisplayName         :
    DomainDnsName       :
    KeyVersion          :
    KeyUpdatedOn        :
    KeyUpdatedFrom      :
    CloudDisplayName    :
    CloudDomainDnsName  :
    CloudId             :
    CloudKeyVersion     :
    CloudKeyUpdatedOn   :
    CloudTrustDisplay   :
    

    Se il dominio supporta già l'autenticazione FIDO, il Get-AzureAdKerberosServer cmdlet visualizza le informazioni sull'account del servizio Microsoft Entra, come nell'output di esempio seguente. Il CloudTrustDisplay campo restituisce un valore vuoto.

    ID                  : 25614
    UserAccount         : CN=krbtgt-AzureAD, CN=Users, DC=aadsqlmi, DC=net
    ComputerAccount     : CN=AzureADKerberos, OU=Domain Controllers, DC=aadsqlmi, DC=net
    DisplayName         : krbtgt_25614
    DomainDnsName       : aadsqlmi.net
    KeyVersion          : 53325
    KeyUpdatedOn        : 2/24/2022 9:03:15 AM
    KeyUpdatedFrom      : ds-aad-auth-dem.aadsqlmi.net
    CloudDisplayName    : krbtgt_25614
    CloudDomainDnsName  : aadsqlmi.net
    CloudId             : 25614
    CloudKeyVersion     : 53325
    CloudKeyUpdatedOn   : 2/24/2022 9:03:15 AM
    CloudTrustDisplay   :
    
  4. Aggiungere l'oggetto dominio attendibile.

    Eseguire il cmdlet Di PowerShell Set-AzureAdKerberosServer per aggiungere l'oggetto dominio attendibile. Assicurarsi di includere -SetupCloudTrust il parametro . Se non è presente alcun account del servizio Microsoft Entra, questo comando crea un nuovo account del servizio Microsoft Entra. Questo comando creerà l'oggetto Dominio attendibile richiesto solo se è presente un account del servizio Microsoft Entra.

    Set-AzureADKerberosServer -Domain $domain -UserPrincipalName $cloudUserName -DomainCredential $domainCred -SetupCloudTrust
    

    Nota

    In una foresta a più domini, per evitare l'errore LsaCreateTrustedDomainEx 0x549 quando si esegue il comando in un dominio figlio:

    1. Eseguire il comando nel dominio radice (parametro include -SetupCloudTrust ).
    2. Eseguire lo stesso comando nel dominio figlio senza il -SetupCloudTrust parametro .

    Dopo aver creato l'oggetto dominio attendibile, è possibile controllare il Impostazioni Kerberos aggiornato usando il Get-AzureAdKerberosServer cmdlet di PowerShell, come illustrato nel passaggio precedente. Se il Set-AzureAdKerberosServer cmdlet è stato eseguito correttamente con il -SetupCloudTrust parametro , il CloudTrustDisplay campo dovrebbe ora restituire Microsoft.AzureAD.Kdc.Service.TrustDisplay, come nell'output di esempio seguente:

    ID                  : 25614
    UserAccount         : CN=krbtgt-AzureAD, CN=Users, DC=aadsqlmi, DC=net
    ComputerAccount     : CN=AzureADKerberos, OU=Domain Controllers, DC=aadsqlmi, DC=net
    DisplayName         : krbtgt_25614
    DomainDnsName       : aadsqlmi.net
    KeyVersion          : 53325
    KeyUpdatedOn        : 2/24/2022 9:03:15 AM
    KeyUpdatedFrom      : ds-aad-auth-dem.aadsqlmi.net
    CloudDisplayName    : krbtgt_25614
    CloudDomainDnsName  : aadsqlmi.net
    CloudId             : 25614
    CloudKeyVersion     : 53325
    CloudKeyUpdatedOn   : 2/24/2022 9:03:15 AM
    CloudTrustDisplay   : Microsoft.AzureAD.Kdc.Service.TrustDisplay
    

    Nota

    I cloud sovrani di Azure richiedono l'impostazione della TopLevelNames proprietà , che è impostata su windows.net per impostazione predefinita. Le distribuzioni di cloud sovrani di Azure di Istanza gestita di SQL usano un nome di dominio di primo livello diverso, ad esempio usgovcloudapi.net per Azure US Government. Impostare l'oggetto dominio attendibile su tale nome di dominio di primo livello usando il comando di PowerShell seguente: Set-AzureADKerberosServer -Domain $domain -DomainCredential $domainCred -CloudCredential $cloudCred -SetupCloudTrust -TopLevelNames "usgovcloudapi.net,windows.net". È possibile verificare l'impostazione con il comando di PowerShell seguente: Get-AzureAdKerberosServer -Domain $domain -DomainCredential $domainCred -UserPrincipalName $cloudUserName | Select-Object -ExpandProperty CloudTrustDisplay.

Configurare l'oggetto Criteri di gruppo

  1. Identificare l'ID tenant di Microsoft Entra.

  2. Distribuire l'impostazione di Criteri di gruppo seguente nei computer client usando il flusso basato sull'attendibilità in ingresso:

    1. Modificare l'impostazione dei criteri Amministrazione istrative Templates\System\Kerberos\Specify KDC proxy servers for Kerberos clients.Edit the Amministrazione istrative Templates\System\Kerberos\Specify KDC proxy servers for Kerberos clients policy setting.

    2. Selezionare Enabled.

    3. In Opzioni selezionare Mostra.... Verrà visualizzata la finestra di dialogo Mostra contenuto.

      Screenshot of dialog box to enable 'Specify KDC proxy servers for Kerberos clients'. The 'Show Contents' dialog allows input of a value name and the related value.

    4. Definire le impostazioni dei server proxy KDC usando i mapping come indicato di seguito. Sostituire l'ID tenant di Microsoft Entra per il your_Azure_AD_tenant_id segnaposto. Si noti lo spazio seguente https e prima della chiusura / nel mapping dei valori.

      Nome valore Valore
      KERBEROS.MICROSOFTONLINE.COM <https login.microsoftonline.com:443:your_Azure_AD_tenant_id/kerberos/>

      Screenshot of the 'Define KDC proxy server settings' dialog box. A table allows input of multiple rows. Each row consists of a value name and a value.

    5. Selezionare OK per chiudere la finestra di dialogo "Mostra contenuto".

    6. Selezionare Applica nella finestra di dialogo "Specificare i server proxy KDC per i client Kerberos".

Ruotare la chiave Kerberos

È possibile ruotare periodicamente la chiave Kerberos per l'account del servizio Microsoft Entra creato e l'oggetto dominio attendibile a scopo di gestione.

Set-AzureAdKerberosServer -Domain $domain `
   -DomainCredential $domainCred `
   -UserPrincipalName $cloudUserName -SetupCloudTrust `
   -RotateServerKey

Una volta ruotata la chiave, sono necessarie diverse ore per propagare la chiave modificata tra i server KDC Kerberos. A causa di questo intervallo di distribuzione delle chiavi, è possibile ruotare la chiave una volta entro 24 ore. Se è necessario ruotare nuovamente la chiave entro 24 ore per qualsiasi motivo, ad esempio, subito dopo aver creato l'oggetto dominio attendibile, è possibile aggiungere il -Force parametro :

Set-AzureAdKerberosServer -Domain $domain `
   -DomainCredential $domainCred `
   -UserPrincipalName $cloudUserName -SetupCloudTrust `
   -RotateServerKey -Force

Rimuovere l'oggetto dominio attendibile

È possibile rimuovere l'oggetto dominio attendibile aggiunto usando il comando seguente:

Remove-AzureADKerberosTrustedDomainObject -Domain $domain `
   -DomainCredential $domainCred `
   -UserPrincipalName $cloudUserName

Questo comando rimuoverà solo l'oggetto dominio attendibile. Se il dominio supporta l'autenticazione FIDO, è possibile rimuovere l'oggetto dominio attendibile mantenendo l'account del servizio Microsoft Entra necessario per il servizio di autenticazione FIDO.

Rimuovere tutti i Impostazioni Kerberos

È possibile rimuovere sia l'account del servizio Microsoft Entra che l'oggetto dominio attendibile usando il comando seguente:

Remove-AzureAdKerberosServer -Domain $domain `
   -DomainCredential $domainCred `
   -UserPrincipalName $cloudUserName

Passaggi successivi

Altre informazioni sull'implementazione dell'autenticazione di Windows per le entità di accesso Microsoft in Istanza gestita di SQL di Azure: