Konfigurera ett molnförtroende mellan lokal AD DS och Microsoft Entra-ID för åtkomst till Azure Files

Många organisationer vill använda identitetsbaserad autentisering för SMB Azure-filresurser i miljöer som sträcker sig över både lokal Active Directory Domain Services (AD DS) och Microsoft Entra ID (tidigare Azure Active Directory), men som inte uppfyller de nödvändiga operativsystemet eller domänkraven.

I sådana scenarier kan kunder aktivera Microsoft Entra Kerberos-autentisering för hybridanvändares identiteter och sedan upprätta ett molnförtroende mellan deras lokala AD DS och Microsoft Entra-ID för att få åtkomst till SMB-filresurser med hjälp av deras lokala autentiseringsuppgifter. Den här artikeln förklarar hur ett molnförtroende fungerar och innehåller instruktioner för konfiguration och validering. Den innehåller också steg för att rotera en Kerberos-nyckel för ditt tjänstkonto i Microsoft Entra-ID och Betrott domänobjekt, samt steg för att ta bort ett betrott domänobjekt och alla Kerberos-inställningar om så önskas.

Den här artikeln fokuserar på att autentisera hybridanvändares identiteter, som är lokala AD DS-identiteter som synkroniseras med Microsoft Entra-ID med microsoft entra connect- eller Microsoft Entra Connect-molnsynkronisering. Molnbaserade identiteter stöds för närvarande inte för Azure Files.

Gäller för

Typ av filresurs SMB NFS
Standardfilresurser (GPv2), LRS/ZRS Ja Inga
Standardfilresurser (GPv2), GRS/GZRS Ja Inga
Premiumfilresurser (FileStorage), LRS/ZRS Ja Nej

Scenarier

Följande är exempel på scenarier där du kanske vill konfigurera ett molnförtroende:

  • Du har en traditionell lokal AD DS, men du kan inte använda den för autentisering eftersom du inte har obehindrat nätverksanslutning till domänkontrollanterna.

  • Du har börjat migrera till molnet men har för närvarande program som fortfarande körs på traditionell lokal AD DS.

  • Vissa eller alla klientdatorer uppfyller inte operativsystemkraven för Microsoft Entra Kerberos-autentisering.

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

Innan du implementerar det inkommande förtroendebaserade autentiseringsflödet kontrollerar du att följande krav uppfylls:

Krav Beskrivning
Klienten måste köra Windows 10, Windows Server 2012 eller en senare version av Windows.
Klienter måste vara anslutna till Active Directory (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
En Microsoft Entra-klientorganisation. En Microsoft Entra-klientorganisation är en identitetssäkerhetsgräns som kontrolleras av din organisations IT-avdelning. Det är en instans av Microsoft Entra-ID där information om en enskild organisation finns.
En Azure-prenumeration under samma Microsoft Entra-klientorganisation som du planerar att använda för autentisering.
Ett Azure Storage-konto i Azure-prenumerationen. Ett Azure Storage-konto är en resurs som fungerar som en container för att gruppera alla datatjänster från Azure Storage, inklusive filer.
Microsoft Entra Connect - eller Microsoft Entra Connect-molnsynkronisering måste vara installerat. Dessa lösningar används i hybridmiljöer där identiteter finns både i Microsoft Entra-ID och lokal AD DS.

Aktivera Microsoft Entra Kerberos-autentisering

Om du redan har aktiverat Microsoft Entra Kerberos-autentisering på ditt lagringskonto kan du hoppa över det här steget och fortsätta till Skapa och konfigurera Microsoft Entra Kerberos Trusted Domain Object.

Du kan aktivera Microsoft Entra Kerberos-autentisering på Azure Files för hybridanvändarkonton med hjälp av Azure Portal, PowerShell eller Azure CLI.

Följ dessa steg om du vill aktivera Microsoft Entra Kerberos-autentisering med hjälp av Azure Portal.

  1. Logga in på Azure Portal och välj det lagringskonto som du vill aktivera Microsoft Entra Kerberos-autentisering för.

  2. Under Datalagring väljer du Filresurser.

  3. Bredvid Active Directory väljer du konfigurationsstatus (till exempel Inte konfigurerad).

    Skärmbild av Azure Portal som visar filresursinställningar för ett lagringskonto. Active Directory-konfigurationsinställningar har valts.

  4. Under Microsoft Entra Kerberos väljer du Konfigurera.

  5. Markera kryssrutan Microsoft Entra Kerberos .

    Skärmbild av Azure Portal som visar Active Directory-konfigurationsinställningar för ett lagringskonto. Microsoft Entra Kerberos har valts.

  6. Valfritt: Om du vill konfigurera behörigheter på katalog- och filnivå via Windows Utforskaren måste du ange domännamnet och domän-GUID:t för din lokala AD. Du kan hämta den här informationen från domänadministratören eller genom att köra följande Active Directory PowerShell-cmdlet från en lokal AD-ansluten klient: Get-ADDomain. Domännamnet bör anges i utdata under DNSRoot och domänens GUID bör anges under ObjectGUID. Om du föredrar att konfigurera katalog- och filnivåbehörigheter med icacls kan du hoppa över det här steget. Men om du vill använda icacls behöver klienten en obehindrad nätverksanslutning till den lokala AD:n.

  7. Välj Spara.

Varning

Om du tidigare har aktiverat Microsoft Entra Kerberos-autentisering via manuella begränsade förhandsversionssteg för att lagra FSLogix-profiler på Azure Files för Microsoft Entra-anslutna virtuella datorer kommer lösenordet för lagringskontots tjänsthuvudnamn att upphöra att gälla var sjätte månad. När lösenordet upphör att gälla kan användarna inte hämta Kerberos-biljetter till filresursen. Information om hur du åtgärdar detta finns i "Fel – lösenordet för tjänstens huvudnamn har upphört att gälla i Microsoft Entra-ID" under Potentiella fel när du aktiverar Microsoft Entra Kerberos-autentisering för hybridanvändare.

När du har aktiverat Microsoft Entra Kerberos-autentisering måste du uttryckligen bevilja administratörsmedgivande till det nya Microsoft Entra-programmet som är registrerat i din Microsoft Entra-klientorganisation. Tjänstens huvudnamn genereras automatiskt och används inte för auktorisering till filresursen, så gör inga ändringar i tjänstens huvudnamn förutom de som dokumenteras här. Om du gör det kan du få ett fel.

Du kan konfigurera API-behörigheterna från Azure Portal genom att följa dessa steg:

  1. Öppna Microsoft Entra ID.
  2. Välj Appregistreringar under Hanteratjänstmenyn.
  3. Välj Alla program.
  4. Välj programmet med namnet som matchar [Lagringskonto] <your-storage-account-name>.file.core.windows.net.
  5. I tjänstmenyn går du till Hantera och väljer API-behörigheter.
  6. Välj Bevilja administratörsmedgivande för [Katalognamn] för att bevilja medgivande för de tre begärda API-behörigheterna (openid, profil och User.Read) för alla konton i katalogen.
  7. Välj Ja för att bekräfta.

Viktigt!

Om du ansluter till ett lagringskonto via en privat slutpunkt/privat länk med Microsoft Entra Kerberos-autentisering måste du också lägga till det privata länk-FQDN i lagringskontots Microsoft Entra-program. Anvisningar finns i posten i vår felsökningsguide.

Inaktivera multifaktorautentisering på lagringskontot

Microsoft Entra Kerberos stöder inte användning av MFA för åtkomst till Azure-filresurser som konfigurerats med Microsoft Entra Kerberos. Du måste undanta Microsoft Entra-appen som representerar ditt lagringskonto från dina principer för villkorsstyrd MFA-åtkomst om de gäller för alla appar.

Lagringskontoappen bör ha samma namn som lagringskontot i listan över undantag för villkorlig åtkomst. När du söker efter lagringskontoappen i listan över undantag för villkorlig åtkomst söker du efter: [Lagringskonto] <your-storage-account-name>.file.core.windows.net

Kom ihåg att ersätta <your-storage-account-name> med rätt värde.

Viktigt!

Om du inte utesluter MFA-principer från lagringskontoappen kan du inte komma åt filresursen. Om du försöker mappa filresursen med net use kommer det att resultera i ett felmeddelande som säger "Systemfel 1327: Kontobegränsningar hindrar den här användaren från att logga in. Till exempel: tomma lösenord tillåts inte, inloggningstiderna är begränsade eller så har en principbegränsning tillämpats."

Information om hur du inaktiverar MFA finns i följande:

Tilldela behörigheter på resursnivå

När du aktiverar identitetsbaserad åtkomst måste du för varje resurs tilldela vilka användare och grupper som har åtkomst till den specifika resursen. När en användare eller grupp har fått åtkomst till en resurs tar Windows ACL:er (även kallade NTFS-behörigheter) över för enskilda filer och kataloger. Detta ger detaljerad kontroll över behörigheter som liknar en SMB-resurs på en Windows-server.

Om du vill ange behörigheter på resursnivå följer du anvisningarna i Tilldela behörigheter på resursnivå till en identitet.

Konfigurera behörigheter på katalog- och filnivå

När behörigheter på resursnivå har införts kan du tilldela behörigheter på katalog-/filnivå till användaren eller gruppen. Detta kräver att du använder en enhet med obehindrat nätverksanslutning till en lokal AD.

Om du vill konfigurera katalog- och filnivåbehörigheter följer du anvisningarna i Konfigurera katalog- och filnivåbehörigheter över SMB.

Skapa och konfigurera Microsoft Entra Kerberos Trusted Domain Object

Om du vill skapa och konfigurera Microsoft Entra Kerberos Trusted Domain Object använder du PowerShell-modulen Azure AD Hybrid Authentication Management . Den här modulen gör det möjligt för hybrididentitetsorganisationer att använda moderna autentiseringsuppgifter för sina program och gör det möjligt för Microsoft Entra-ID att bli den betrodda källan för både molnbaserad och lokal autentisering.

Konfigurera det betrodda domänobjektet

Du använder 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.

Du behöver bara konfigurera det betrodda domänobjektet en gång per domän. Om du redan har gjort detta för din domän kan du hoppa över det här avsnittet och gå vidare till Konfigurera klienterna för att hämta Kerberos-biljetter.

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 avancerade Microsoft Entra-hanteringsfunktioner.
      • 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 ta med 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 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 ä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                  : XXXXX
    UserAccount         : CN=krbtgt-AzureAD, CN=Users, DC=contoso, DC=com
    ComputerAccount     : CN=AzureADKerberos, OU=Domain Controllers, DC=contoso, DC=com
    DisplayName         : XXXXXX_XXXXX
    DomainDnsName       : contoso.com
    KeyVersion          : 53325
    KeyUpdatedOn        : 2/24/2024 9:03:15 AM
    KeyUpdatedFrom      : ds-aad-auth-dem.contoso.com
    CloudDisplayName    : XXXXXX_XXXXX
    CloudDomainDnsName  : contoso.com
    CloudId             : XXXXX
    CloudKeyVersion     : 53325
    CloudKeyUpdatedOn   : 2/24/2024 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 de uppdaterade Kerberos-inställningarna med hjälp av PowerShell-cmdleten Get-AzureAdKerberosServer , som du ser i föregående steg. Om cmdleten Set-AzureAdKerberosServer har körts med parametern -SetupCloudTrust CloudTrustDisplay bör fältet nu returnera Microsoft.AzureAD.Kdc.Service.TrustDisplay, som i följande exempelutdata:

    ID                  : XXXXX
    UserAccount         : CN=krbtgt-AzureAD, CN=Users, DC=contoso, DC=com
    ComputerAccount     : CN=AzureADKerberos, OU=Domain Controllers, DC=contoso, DC=com
    DisplayName         : XXXXXX_XXXXX
    DomainDnsName       : contoso.com
    KeyVersion          : 53325
    KeyUpdatedOn        : 2/24/2024 9:03:15 AM
    KeyUpdatedFrom      : ds-aad-auth-dem.contoso.com
    CloudDisplayName    : XXXXXX_XXXXX
    CloudDomainDnsName  : contoso.com
    CloudId             : XXXXX
    CloudKeyVersion     : 53325
    CloudKeyUpdatedOn   : 2/24/2024 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 klienterna för att hämta Kerberos-biljetter

Identifiera ditt Klient-ID för Microsoft Entra och använd grupprincip för att konfigurera de klientdatorer som du vill montera/använda Azure-filresurser från. Du måste göra detta på varje klient som Azure Files ska användas på.

Konfigurera den här grupprincipen på klienterna till "Aktiverad": Administrative Templates\System\Kerberos\Allow retrieving the Azure AD Kerberos Ticket Granting Ticket during logon

  1. Distribuera följande grupprincip instä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.

      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 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 />

      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

Gå vidare