Dela via


Så här konfigurerar du Windows-autentisering för Microsoft Entra-ID med det inkommande förtroendebaserade flödet

Den här artikeln beskriver hur du implementerar det inkommande förtroendebaserade autentiseringsflödet så att Active Directory-anslutna klienter (AD) som kör Windows 10, Windows Server 2012 eller senare versioner av Windows kan autentiseras till en Hanterad Azure SQL-instans med Windows-autentisering.

Den här artikeln innehåller även steg för att rotera en Kerberos-nyckel för ditt tjänstkonto i Microsoft Entra-ID (tidigare Azure Active Directory-) och Betrott domänobjekt, samt steg för att ta bort ett betrott domänobjekt och alla Kerberos-inställningar om så önskas.

Att aktivera det inkommande förtroendebaserade autentiseringsflödet är ett steg i konfigurera Windows-autentisering för Azure SQL Managed Instance med hjälp av Microsoft Entra ID och Kerberos. Det moderna interaktiva flödet är tillgängligt för upplysta klienter som kör Windows 10 20H1, Windows Server 2022 eller en högre version av Windows.

Note

Microsoft Entra ID tidigare kallades Azure Active Directory (Azure AD).

Behörigheter

Ha de autentiseringsuppgifter som krävs för att slutföra stegen i scenariot:

  • En Active Directory-användare som är medlem i gruppen Domänadministratörer för en domän och medlem i gruppen Företagsadministratörer för en skog.
  • En användare av Microsoft Entra med rollen Hybrididentitetsadministratör.

Förutsättningar

Om du vill implementera det inkommande förtroendebaserade autentiseringsflödet kontrollerar du först att följande krav har uppfyllts:

Förutsättning Beskrivning
Klienten måste köra Windows 10, Windows Server 2012 eller en högre version av Windows.
Klienter måste vara anslutna till AD. Domänen måste ha en funktionsnivå för Windows Server 2012 eller senare. Du kan avgöra om klienten är ansluten till AD genom att köra kommandot dsregcmd: dsregcmd.exe /status
Azure AD Hybrid Autentiseringshanteringsmodul. Den här PowerShell-modulen innehåller hanteringsfunktioner för lokal installation.
Azure-klient
Azure-prenumeration under samma Microsoft Entra-klientorganisation som du planerar att använda för autentisering.
Microsoft Entra Connect installerat. Hybridmiljöer där identiteter finns både i Microsoft Entra-ID och AD.

Skapa och konfigurera Microsoft Entra Kerberos Trusted Domain Object

Om du vill skapa och konfigurera Microsoft Entra Kerberos Trusted Domain Object installerar du PowerShell-modulen Azure AD Hybrid Authentication Management.

Sedan använder du PowerShell-modulen Azure AD Hybrid Authentication Management för att konfigurera ett betrott domänobjekt i den lokala AD-domänen och registrera förtroendeinformation med Microsoft Entra-ID. Detta skapar en inbunden förtroenderelation i den lokala AD,som gör det möjligt för Microsoft Entra-ID att lita på lokal AD.

Konfigurera det betrodda domänobjektet

Om du vill konfigurera det betrodda domänobjektet installerar du först PowerShell-modulen Azure AD Hybrid Authentication Management.

Installera PowerShell-modulen för Azure AD Hybrid Authentication Management

  1. Starta en Windows PowerShell-session med alternativet Kör som administratör.

  2. Installera PowerShell-modulen azure AD Hybrid Authentication Management med hjälp av följande skript. Skriptet:

    • Aktiverar TLS 1.2 för kommunikation.
    • Installerar NuGet paketleverantören.
    • Registrerar PSGallery-lagringsplatsen.
    • Installerar PowerShellGet-modulen.
    • Installerar PowerShell-modulen Azure AD Hybrid Authentication Management.
      • Azure AD Hybrid Authentication Management PowerShell använder Modulen AzureADPreview, som tillhandahåller avancerad Microsoft Entra-hanteringsfunktion.
      • För att skydda mot onödiga installationskonflikter med Azure AD PowerShell-modulen innehåller det här kommandot alternativflaggan –AllowClobber.
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12

Install-PackageProvider -Name NuGet -Force

if (@(Get-PSRepository | Where-Object { $_.Name -eq "PSGallery" }).Count -eq -1) {
    Register-PSRepository -Default
    Set-PSRepository -Name "PSGallery" -InstallationPolicy Trusted
}

Install-Module -Name PowerShellGet -Force

Install-Module -Name AzureADHybridAuthenticationManagement -AllowClobber

Skapa det betrodda domänobjektet

  1. Starta en Windows PowerShell-session med alternativet Kör som administratör.

  2. Ange de gemensamma parametrarna. Anpassa följande skript innan du kör det.

    • Ange parametern $domain till ditt lokala Active Directory-domännamn.
    • När du uppmanas av Get-Credentialanger du ett lokalt användarnamn och lösenord för Active Directory-administratören.
    • Ange parametern $cloudUserName till användarnamnet för ett konto med privilegierad global administratör för Microsoft Entra-molnåtkomst.

    Obs

    Om du vill använda ditt aktuella Windows-inloggningskonto för din lokala Active Directory-åtkomst kan du hoppa över steget där autentiseringsuppgifter tilldelas till parametern $domainCred. Om du använder den här metoden ska du inte ta med parametern -DomainCredential i PowerShell-kommandona efter det här steget.

    $domain = "your on-premises domain name, for example contoso.com"
    
    $domainCred = Get-Credential
    
    $cloudUserName = "Azure AD user principal name, for example admin@contoso.onmicrosoft.com"
    
  3. Kontrollera de aktuella Kerberos-domäninställningarna.

    Kör följande kommando för att kontrollera domänens aktuella Kerberos-inställningar:

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

    Om det är första gången du anropar något Microsoft Entra Kerberos-kommando uppmanas du att använda Microsoft Entra-molnet.

    • Ange lösenordet för ditt globala Microsoft Entra-administratörskonto.
    • Om din organisation använder andra moderna autentiseringsmetoder som Microsoft Entra multifaktorautentisering eller smartkort följer du anvisningarna som begärts för inloggning.

    Om det här är första gången du konfigurerar Microsoft Entra Kerberos-inställningar visar cmdleten Get-AzureAdKerberosServer tom information, som i följande exempelutdata:

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

    Om din domän redan stöder FIDO-autentisering visar cmdleten Get-AzureAdKerberosServer Microsoft Entra-tjänstkontoinformation, som i följande exempelutdata. Fältet CloudTrustDisplay returnerar ett tomt värde.

    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. Lägg till det betrodda domänobjektet.

    Kör Set-AzureAdKerberosServer PowerShell-cmdleten för att lägga till det betrodda domänobjektet. Se till att inkludera -SetupCloudTrust parameter. Om det inte finns något Microsoft Entra-tjänstkonto skapar det här kommandot ett nytt Microsoft Entra-tjänstkonto. Det här kommandot skapar bara det begärda objektet Betrodd domän om det finns ett Microsoft Entra-tjänstkonto.

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

    Not

    För att undvika felet LsaCreateTrustedDomainEx 0x549 när du kör kommandot på en underordnad domän i en flerdomänskog:

    1. Kör kommandot på rotdomänen (inkludera -SetupCloudTrust parameter).
    2. Kör samma kommando på den underordnade domänen utan parametern -SetupCloudTrust.

    När du har skapat det betrodda domänobjektet kan du kontrollera de uppdaterade Kerberos-inställningarna med hjälp av cmdleten Get-AzureAdKerberosServer PowerShell, enligt föregående steg. Om Set-AzureAdKerberosServer-cmdleten kördes med parametern -SetupCloudTrust bör fältet CloudTrustDisplay nu returnera Microsoft.AzureAD.Kdc.Service.TrustDisplay, som i följande exempelutdata:

    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
    

    Obs

    Nationella Azure-moln kräver att du anger egenskapen TopLevelNames, som är inställd på windows.net som standard. Azures nationella molndistributioner av SQL Managed Instance använder ett annat domännamn på toppnivå, till exempel usgovcloudapi.net för Azure US Government. Ange det betrodda domänobjektet till det översta domännamnet med hjälp av följande PowerShell-kommando: Set-AzureADKerberosServer -Domain $domain -DomainCredential $domainCred -CloudCredential $cloudCred -SetupCloudTrust -TopLevelNames "usgovcloudapi.net,windows.net". Du kan verifiera inställningen med följande PowerShell-kommando: Get-AzureAdKerberosServer -Domain $domain -DomainCredential $domainCred -UserPrincipalName $cloudUserName | Select-Object -ExpandProperty CloudTrustDisplay.

Konfigurera gruppolicyobjektet (GPO)

  1. Identifiera ditt Microsoft Entra-klient-ID.

  2. Distribuera följande grupprincipinställning till klientdatorer med hjälp av det inkommande förtroendebaserade flödet:

    1. Redigera Administrativa mallar\System\Kerberos\Ange KDC-proxyservrar för Kerberos-klienter policyinställning.

    2. Välj Aktiverad.

    3. Under Alternativväljer du Visa.... Då öppnas dialogrutan Visa innehåll.

      Skärmbild av dialogrutan för att aktivera

    4. Definiera inställningarna för KDC-proxyservrar med hjälp av mappningar enligt följande. Ersätt ditt Microsoft Entra-klient-ID med platshållaren your_Azure_AD_tenant_id. Observera utrymmet efter https och före den avslutande / i värdemappningen.

      Värdenamn Värde
      KERBEROS.MICROSOFTONLINE.COM <https login.microsoftonline.com:443:your_Azure_AD_tenant_id/kerberos/>

      Skärmbild av dialogrutan Definiera KDC-proxyserverinställningar. En tabell tillåter indata för flera rader. Varje rad består av ett värdenamn och ett värde.

    5. Välj OK för att stänga dialogrutan Visa innehåll.

    6. Välj Använd i dialogrutan Ange KDC-proxyservrar för Kerberos-klienter.

Rotera Kerberos-nyckeln

Du kan regelbundet rotera Kerberos-nyckeln för det skapade Microsoft Entra-tjänstkontot och det betrodda domänobjektet i hanteringssyfte.

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

När nyckeln har roterats tar det flera timmar att sprida den ändrade nyckeln mellan Kerberos KDC-servrarna. På grund av den här tidsinställningen för nyckeldistribution kan du rotera nyckeln en gång inom 24 timmar. Om du behöver rotera nyckeln igen inom 24 timmar av någon anledning, till exempel strax efter att du har skapat det betrodda domänobjektet, kan du lägga till parametern -Force:

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

Ta bort det betrodda domänobjektet

Du kan ta bort det tillagda betrodda domänobjektet med följande kommando:

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

Det här kommandot tar bara bort det betrodda domänobjektet. Om din domän stöder FIDO-autentisering kan du ta bort det betrodda domänobjektet samtidigt som du behåller det Microsoft Entra-tjänstkonto som krävs för FIDO-autentiseringstjänsten.

Ta bort alla Kerberos-inställningar

Du kan ta bort både Microsoft Entra-tjänstkontot och det betrodda domänobjektet med hjälp av följande kommando:

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