Dela via


Konfigurera 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 Trusted Domain Object, 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 konfigurationen av 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.

Kommentar

Microsoft Entra-ID är det nya namnet för Azure Active Directory (Azure AD). Vi uppdaterar dokumentationen just nu.

Behörigheter

För att slutföra de steg som beskrivs i den här artikeln behöver du:

  • Ett användarnamn och lösenord för lokal Active Directory administratör.
  • Användarnamn och lösenord för Microsoft Entra Global Administrator-konto.

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 Description
Klienten måste köra Windows 10, Windows Server 2012 eller en senare version av Windows.
Klienter måste vara anslutna till AD. Domänen måste ha Windows Server 2012-funktionsnivån eller senare. Du kan ta reda på om klienten är ansluten till AD genom att köra kommandot dsregcmd: dsregcmd.exe /status
Modul för Azure AD-hybridautentiseringshantering. Den här PowerShell-modulen innehåller hanteringsfunktioner för lokal installation.
Azure-klientorganisation.
Azure-prenumeration under samma Microsoft Entra-klientorganisation som du planerar att använda för autentisering.
Microsoft Entra Anslut 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 kommer att:

    • Aktiverar TLS 1.2 för kommunikation.
    • Installerar NuGet-paketprovidern.
    • 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 | ? {$_.Name -eq "PSGallery"}).Count -eq 0){
    Register-PSRepository -DefaultSet-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 skriptet nedan innan du kör det.

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

    Kommentar

    Om du vill använda ditt aktuella Windows-inloggningskonto för din lokal 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 inkludera parametern -DomainCredential i PowerShell-kommandona efter det här steget.

    $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. Kontrollera den aktuella Kerberos-domänen Inställningar.

    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 ä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 PowerShell-cmdleten Set-AzureAdKerberosServer för att lägga till det betrodda domänobjektet. Se till att inkludera -SetupCloudTrust parametern. 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
    

    Kommentar

    I en skog med flera domäner undviker du felet LsaCreateTrustedDomainEx 0x549 när kommandot körs på en underordnad domän:

    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 den uppdaterade Kerberos-Inställningar med hjälp av PowerShell-cmdletenGet-AzureAdKerberosServer, som du ser i föregående steg. Om cmdleten Set-AzureAdKerberosServer har körts med parametern -SetupCloudTrustCloudTrustDisplay bör fältet 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
    

    Kommentar

    Nationella Azure-moln kräver att egenskapen TopLevelNames anges som windows.net standard. Azures nationella molndistributioner av SQL Managed Instance använder ett annat domännamn på den översta nivån, 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 grupprincipobjektet (GPO)

  1. Identifiera ditt Klient-ID för Microsoft Entra.

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

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

    2. Välj Aktiverad.

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

      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. Definiera inställningarna för KDC-proxyservrar med hjälp av mappningar enligt följande. Ersätt platshållaren med ditt Microsoft Entra-klient-ID your_Azure_AD_tenant_id . Observera utrymmet efter https och före stängningen / i värdemappningen.

      Värdenamn Värde
      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. 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-AzureADKerberosTrustedDomainObject -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

Nästa steg

Läs mer om att implementera Windows-autentisering för Microsoft Entra-huvudnamn på Azure SQL Managed Instance: