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 | ||
Standardfilresurser (GPv2), GRS/GZRS | ||
Premiumfilresurser (FileStorage), LRS/ZRS |
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.
Logga in på Azure Portal och välj det lagringskonto som du vill aktivera Microsoft Entra Kerberos-autentisering för.
Under Datalagring väljer du Filresurser.
Bredvid Active Directory väljer du konfigurationsstatus (till exempel Inte konfigurerad).
Under Microsoft Entra Kerberos väljer du Konfigurera.
Markera kryssrutan Microsoft Entra Kerberos .
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 underDNSRoot
och domänens GUID bör anges underObjectGUID
. 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.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.
Bevilja administratörsmedgivande till det nya tjänstens huvudnamn
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:
- Öppna Microsoft Entra ID.
- Välj Appregistreringar under Hantera på tjänstmenyn.
- Välj Alla program.
- Välj programmet med namnet som matchar [Lagringskonto]
<your-storage-account-name>
.file.core.windows.net. - I tjänstmenyn går du till Hantera och väljer API-behörigheter.
- 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.
- 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:
- Lägga till undantag för tjänstens huvudnamn för Azure-resurser
- Skapa en princip för villkorlig åtkomst
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
Starta en Windows PowerShell-session med alternativet Kör som administratör .
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
Starta en Windows PowerShell-session med alternativet Kör som administratör .
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-Credential
anger 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"
- Ange parametern
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ältetCloudTrustDisplay
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 :
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:
- Kör kommandot på rotdomänen (inkludera
-SetupCloudTrust
parameter). - 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 cmdletenSet-AzureAdKerberosServer
har körts med parametern-SetupCloudTrust
CloudTrustDisplay
bör fältet nu returneraMicrosoft.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 somwindows.net
standard. Azures nationella molndistributioner av SQL Managed Instance använder ett annat domännamn på den översta nivån, till exempelusgovcloudapi.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
.- Kör kommandot på rotdomänen (inkludera
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
Distribuera följande grupprincip inställning till klientdatorer med hjälp av det inkommande förtroendebaserade flödet:
Redigera principinställningen Administrativa mallar\System\Kerberos\Ange KDC-proxyservrar för Kerberos-klienter .
Välj Aktiverad.
Under Alternativ väljer du Visa.... Då öppnas dialogrutan Visa innehåll.
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 efterhttps
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 />Välj OK för att stänga dialogrutan Visa innehåll.
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