Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Gäller för: ✔️ SMB-fildelningar
Den här artikeln beskriver hur du aktiverar Doménové služby Active Directory autentisering (AD DS) på ditt lagringskonto så att du kan använda autentiseringsuppgifter för lokálna služba Active Directory (AD) för att autentisera till Azure filresurser.
Viktigt!
Innan du aktiverar AD DS-autentisering läser du artikeln om AD DS-översikt och slutför de nödvändiga förutsättningarna. Om ditt služba Active Directory-miljö omfattar flera skogar kan du läsa Använd Azure Files med flera služba Active Directory-skogar.
Om du vill aktivera AD DS-autentisering via SMB för Azure filresurser registrerar du ditt Azure lagringskonto med din lokala AD DS och anger sedan de nödvändiga domänegenskaperna för lagringskontot. Om du vill registrera ditt lagringskonto med AD DS skapar du ett datorkonto (eller tjänstinloggningskonto) som representerar det i din AD DS. Den här processen liknar att skapa ett konto som representerar en lokal Windows filserver i DIN AD DS. När du aktiverar funktionen på lagringskontot gäller den för alla nya och befintliga filresurser i kontot.
Alternativ ett (rekommenderas): Använd AzFilesHybrid PowerShell-modulen
AzFilesHybrid PowerShell-modulen innehåller cmdletar för domänanslutning av lagringskonton till din lokala AD DS och konfiguration av DNS-servrar. Cmdletarna gör nödvändiga ändringar och aktiverar funktionen. Eftersom vissa delar av cmdletarna interagerar med din lokala AD DS granskar du förklaringen av vad cmdletarna gör. Du kan sedan avgöra om ändringarna överensstämmer med dina efterlevnads- och säkerhetsprinciper och se till att du har rätt behörighet att köra cmdletarna. Om du inte kan använda AzFilesHybrid-modulen kan du aktivera funktionen med hjälp av manuella steg.
Viktigt!
AzFilesHybrid-modulen stöder endast AES-256 Kerberos-kryptering. Om du tidigare har aktiverat funktionen med hjälp av en äldre AzFilesHybrid-version (nedan v0.2.2) som använde RC4 som standardkrypteringsmetod uppdaterar du lagringskontot till AES-256 omedelbart. Mer information om varför du bör uppgradera finns i Troubleshoot Azure Files AD DS-autentiseringsstöd för AES-256 Kerberos-kryptering.
Förutsättningar
- Installera .NET Framework 4.7.2 eller senare om det inte redan är installerat. AzFilesHybrid-modulen kräver det.
- Kontrollera att du har de senaste versionerna av Azure PowerShell (Az-modul) och Az.Storage installerat. Du måste ha Az.Storage 8.1.0 eller senare för att kunna använda AzFilesHybrid.
- Installera modulen služba Active Directory PowerShell.
Ladda ned AzFilesHybrid-modulen
Ladda ned och packa upp den senaste versionen av modulen AzFilesHybrid.
Kör Join-AzStorageAccount
Cmdleten Join-AzStorageAccount utför motsvarande en offlinedomänanslutning för det angivna lagringskontot. Följande skript använder den här cmdleten för att skapa ett datorkonto i din AD-domän. Om du inte kan använda ett datorkonto kan du ändra skriptet för att skapa ett konto för tjänstinloggning i stället. Användning av AES-256-kryptering med tjänstinloggningskonton stöds från och med AzFilesHybrid version 0.2.5.
Viktigt!
Det konto som Join-AzStorageAccount skapas representerar lagringskontot i din AD DS. Oavsett om du registrerar det som ett datorkonto eller tjänstinloggningskonto kontrollerar du lösenordets förfalloprincip på AD-domänen eller organisationsenheten (OU). Lösenord för tjänstinloggningskonto kan upphöra att gälla baserat på en standardålder för förfallotid, medan lösenordsändringar för datorkonton drivs av klientdatorn (som standard var 30:e dag) och upphör inte att gälla i AD. För båda kontotyperna måste du uppdate lösenordet före den maximala lösenordsåldern för att undvika autentiseringsfel vid åtkomst till Azure filresurser. Överväg att skapa en ny AD OU och inaktivera lösenordets giltighetstid på datorkonton eller tjänstinloggningskonton i enlighet med detta. Mer information finns i Vanliga frågor och svar.
Kör följande skript i PowerShell 5.1 på en enhet som är domänansluten till din lokala AD DS. Använd lokala AD DS-autentiseringsuppgifter som har behörighet att skapa ett datorkonto eller tjänstinloggningskonto i mål-AD (till exempel domänadministratör). Om du vill följa principen Least privilege måste de lokala AD DS-autentiseringsuppgifterna ha följande Azure roller:
- Läsare i resursgruppen där mållagringskontot finns.
- Bidragsgivare på lagringskontot som ska anslutas till AD DS.
Om kontot som används för att ansluta till lagringskontot i AD DS är en Owner eller Contributor i Azure-prenumerationen där målresurserna finns, är kontot redan aktiverat för att utföra kopplingen och behöver inte ytterligare tilldelningar.
Ersätt platshållarvärdena med dina egna innan du kör skriptet.
# Change the execution policy to unblock importing AzFilesHybrid.psm1 module
Set-ExecutionPolicy -ExecutionPolicy Unrestricted -Scope CurrentUser
# Navigate to where AzFilesHybrid is unzipped and stored and run to copy the files into your path
.\CopyToPSPath.ps1
# Import AzFilesHybrid module
Import-Module -Name AzFilesHybrid
# Login to Azure using a credential that has either storage account owner or contributor Azure role
# assignment. If you are logging into an Azure environment other than Public (ex. AzureUSGovernment)
# you will need to specify that.
# See https://learn.microsoft.com/azure/azure-government/documentation-government-get-started-connect-with-ps
# for more information.
Connect-AzAccount
# Define parameters
# $StorageAccountName is the name of an existing storage account that you want to join to AD
# $SamAccountName is the name of the to-be-created AD object, which is used by AD as the logon name
# for the object. It must be 20 characters or less and has certain character restrictions.
# Certain NETBIOS restrictions might require a $SamAccountName of 15 characters or less.
# Make sure that you provide the SamAccountName without the trailing '$' sign.
# See https://learn.microsoft.com/windows/win32/adschema/a-samaccountname for more information.
$SubscriptionId = "<your-subscription-id-here>"
$ResourceGroupName = "<resource-group-name-here>"
$StorageAccountName = "<storage-account-name-here>"
$SamAccountName = "<sam-account-name-here without the trailing '$'>"
$DomainAccountType = "<ComputerAccount|ServiceLogonAccount>" # Default is set as ComputerAccount
# If you don't provide the OU name as an input parameter, the AD identity that represents the
# storage account is created under the root directory.
$OuDistinguishedName = "<ou-distinguishedname-here>"
# Encryption method is AES-256 Kerberos.
# Select the target subscription for the current session
Select-AzSubscription -SubscriptionId $SubscriptionId
# Register the target storage account with your Active Directory environment under the target OU
# (for example: specify the OU with Name as "UserAccounts" or DistinguishedName as
# "OU=UserAccounts,DC=CONTOSO,DC=COM"). You can use this PowerShell cmdlet: Get-ADOrganizationalUnit
# to find the Name and DistinguishedName of your target OU. If you are using the OU Name, specify it
# with -OrganizationalUnitName as shown here. If you are using the OU DistinguishedName, you can set it
# with -OrganizationalUnitDistinguishedName. You can choose to provide one of the two names to specify
# the target OU. You can choose to create the identity that represents the storage account as either a
# Service Logon Account or Computer Account (default parameter value), depending on your AD permissions
# and preference. Run Get-Help Join-AzStorageAccountForAuth for more details on this cmdlet.
Join-AzStorageAccount `
-ResourceGroupName $ResourceGroupName `
-StorageAccountName $StorageAccountName `
-SamAccountName $SamAccountName `
-DomainAccountType $DomainAccountType `
-OrganizationalUnitDistinguishedName $OuDistinguishedName
# You can run the Debug-AzStorageAccountAuth cmdlet to conduct a set of basic checks on your AD configuration
# with the logged on AD user. This cmdlet is supported on AzFilesHybrid v0.1.2+ version. For more details on
# the checks performed in this cmdlet, see:
# https://learn.microsoft.com/troubleshoot/azure/azure-storage/files/security/files-troubleshoot-smb-authentication#unable-to-mount-azure-file-shares-with-ad-credentials
Debug-AzStorageAccountAuth -StorageAccountName $StorageAccountName -ResourceGroupName $ResourceGroupName -Verbose
Nu kan du fortsätta med att bekräfta att funktionen är aktiverad.
Alternativ två: Utför aktiveringsåtgärderna manuellt
Om du inte kan använda AzFilesHybrid PowerShell-modulen kan du utföra stegen manuellt med hjälp av služba Active Directory PowerShell.
Viktigt!
Om du redan har kört skriptet Join-AzStorageAccount går du till avsnittet Bekräfta att funktionen är aktiverad . Du behöver inte utföra följande manuella steg.
Kontrollera miljön
Kontrollera först miljöns tillstånd.
- služba Active Directory PowerShell måste installeras och gränssnittet måste köras med administratörsbehörighet.
- Den senaste versionen av Az.Storage-modulen måste vara installerad.
- Kontrollera din AD DS för att se om det finns ett datorkonto (standard) eller ett konto för tjänstinloggning som du skapade med SPN/UPN, till exempel "cifs/your-storage-account-name-here.file.core.windows.net". Om kontot inte finns skapar du ett enligt beskrivningen i följande avsnitt.
Viktigt!
Du måste köra Windows Server služba Active Directory PowerShell-cmdletar i det här avsnittet i PowerShell 5.1. PowerShell 7.x och Azure Cloud Shell fungerar inte i det här scenariot.
Skapa en identitet som representerar lagringskontot i din AD manuellt
Skapa först en ny Kerberos-nyckel för ditt lagringskonto och hämta åtkomstnyckeln med hjälp av följande PowerShell-cmdletar. Använd endast den här nyckeln under installationen. Du kan inte använda den för kontroll- eller dataplansåtgärder mot lagringskontot.
# Create the Kerberos key on the storage account and get the Kerb1 key as the password for the AD identity
# to represent the storage account
$ResourceGroupName = "<resource-group-name-here>"
$StorageAccountName = "<storage-account-name-here>"
New-AzStorageAccountKey -ResourceGroupName $ResourceGroupName -Name $StorageAccountName -KeyName kerb1
Get-AzStorageAccountKey -ResourceGroupName $ResourceGroupName -Name $StorageAccountName -ListKerbKey | where-object{$_.Keyname -contains "kerb1"}
Cmdletarna returnerar nyckelvärdet. När du har kerb1-nyckeln skapar du antingen ett datorkonto eller tjänstkontoi AD under din organisationsenhet och använder nyckeln som lösenord för AD-identiteten.
Ange SPN till cifs/your-storage-account-name-here.file.core. windows.net antingen i služba Active Directory GUI eller genom att köra kommandot
Setspnfrån kommandoraden Windows som administratör. Ersätt exempeltexten med ditt lagringskontonamn och<ADAccountName>med ditt AD-kontonamn.Setspn -S cifs/your-storage-account-name-here.file.core.windows.net <ADAccountName>Om du har ett användarkonto ändrar du UPN så att det matchar SPN för AD-objektet. Du måste ha AD PowerShell-cmdletar installerade och köra cmdletarna i PowerShell 5.1 med förhöjd behörighet.
Set-ADUser -Identity $UserSamAccountName -Server <domain-name> -UserPrincipalName cifs/<StorageAccountName>.file.core.windows.net@<UPN-suffix>Viktigt!
Du måste konfigurera UPN för
Userkontotyper. Om UPN inte matcharcifs/<StorageAccountName>.file.core.windows.netSPN misslyckas Kerberos-autentiseringen med Azure filresurs med felet 1396 "Målkontonamnet är felaktigt" ochKRB_AP_ERR_MODIFIED. Detta är särskilt vanligt när du har aktiverat AES-256 Kerberos-kryptering, vilket kräver att UPN överensstämmer med SPN. AzFilesHybrid-modulen (alternativ ett) anger detta automatiskt, så det är lätt att missa när du utför de manuella stegen.Set-ADUser -Identity $UserSamAccountName -Server <domain-name> -UserPrincipalName cifs/<StorageAccountName>.file.core.windows.net@<UPN-suffix>
Viktigt!
Synkronisera inte användare med ogiltiga UPN-värden (userPrincipalName). UPN får inte innehålla specialtecken som /, blanksteg eller andra symboler som inte stöds.
Försök att synkronisera användare med ogiltiga UPN-nätverk (till exempel att använda / i användarnamnet) resulterar i Microsoft Entra Connect-fel.
Om sådana identiteter finns i din lokala katalog gör du något av följande:
- Uppdatera UPN till ett giltigt format (till exempel
user@domain.com). - Undanta användaren från synkronisering med hjälp av filtreringsregler i Microsoft Entra Connect.
Ange AD-kontolösenordet till värdet för kerb1-nyckeln.
Set-ADAccountPassword -Identity servername$ -Reset -NewPassword (ConvertTo-SecureString -AsPlainText "kerb1_key_value_here" -Force)
Om din organisationsenhet framtvingar att lösenordet upphör att gälla måste du uppdatera lösenordet före den maximala lösenordsåldern för att förhindra autentiseringsfel vid åtkomst till Azure filresurser. Mer information finns i Uppdatera lösenordet för din lagringskontoidentitet i AD.
Behåll SID för den nyligen skapade identiteten. Du behöver det för nästa steg. Den AD-identitet som du skapade för att representera lagringskontot behöver inte synkroniseras till Microsoft Entra ID.
Aktivera funktionen på ditt lagringskonto
Ändra följande kommando för att inkludera konfigurationsinformation för domänegenskaperna och kör det sedan för att aktivera funktionen. Det lagringskonto-SID som krävs i följande kommando är SID för den identitet som du skapade i din AD DS i föregående avsnitt. Se till att du anger ActiveDirectorySamAccountName egenskapen utan det avslutande $-tecknet.
# Set the feature flag on the target storage account and provide the required AD domain information
Set-AzStorageAccount `
-ResourceGroupName "<your-resource-group-name>" `
-Name "<your-storage-account-name>" `
-EnableActiveDirectoryDomainServicesForFile $true `
-ActiveDirectoryDomainName "<your-domain-dns-root>" `
-ActiveDirectoryNetBiosDomainName "<your-domain-dns-root>" `
-ActiveDirectoryForestName "<your-forest-name>" `
-ActiveDirectoryDomainGuid "<your-guid>" `
-ActiveDirectoryDomainSid "<your-domain-sid>" `
-ActiveDirectoryAzureStorageSid "<your-storage-account-sid>" `
-ActiveDirectorySamAccountName "<your-domain-object-sam-account-name without the trailing '$'>" `
-ActiveDirectoryAccountType "<your-domain-object-account-type, the value could be 'Computer' or 'User'>"
Aktivera AES-256-kryptering (rekommenderas)
Om du vill aktivera AES-256-kryptering måste domänobjektet som representerar ditt lagringskonto vara ett datorkonto (standard) eller tjänstinloggningskonto i služba Active Directory-domänen. Om domänobjektet inte uppfyller det här kravet tar du bort det och skapar ett nytt domänobjekt som gör det. Du måste också ha skrivåtkomst till msDS-SupportedEncryptionTypes objektets attribut.
Viktigt!
En kommande Windows ändring (juli 2026 Windows Server Update) ändrar standardtypen för Kerberos-kryptering i AD DS från RC4 till AES-256. Om du fortfarande använder RC4 kan det uppstå monteringsfel när den här ändringen distribueras. Uppgradera till AES-256 nu för att säkerställa oavbruten åtkomst till dina Azure filresurser.
Vilken cmdlet du kör för att konfigurera AES-256-stöd beror på om domänobjektet som representerar ditt lagringskonto är ett datorkonto eller tjänstinloggningskonto (användarkonto). Hur som helst måste du ha AD PowerShell-cmdletar installerade och köra cmdleten i PowerShell 5.1 med förhöjd behörighet.
Om du vill aktivera AES-256-kryptering på ett datorkonto kör du följande kommando. Ersätt <domain-object-identity> och <domain-name> med dina värden.
Set-ADComputer -Identity <domain-object-identity> -Server <domain-name> -KerberosEncryptionType "AES256"
Om du vill aktivera AES-256-kryptering på ett tjänstinloggningskonto kör du följande kommando. Ersätt <domain-object-identity> och <domain-name> med dina värden.
Set-ADUser -Identity <domain-object-identity> -Server <domain-name> -KerberosEncryptionType "AES256"
Viktigt!
Om domänobjektet som representerar lagringskontot är ett användarkonto (ActiveDirectoryAccountType = User) kontrollerar du att användarens huvudnamn (UPN) har angetts innan du uppdaterar lösenordet för domänobjektet. I vissa äldre manuella konfigurationer angavs SPN men UPN lämnades tomt. När du har aktiverat AES-256 kan detta orsaka SMB-autentiseringsfel som 1396 The target account name is incorrect och KRB_AP_ERR_MODIFIED.
Kör följande kommando och ersätt platshållarvärdena med dina egna:
Set-ADUser -Identity $UserSamAccountName -UserPrincipalName cifs/<StorageAccountName>.file.core.windows.net@<DNSRoot>
När du har kört föregående cmdlet ersätter <domain-object-identity> du i följande skript med ditt värde och kör sedan skriptet för att uppdatera lösenordet för domänobjektet:
$KeyName = "kerb1" # Could be either the first or second kerberos key, this script assumes we're refreshing the first
$KerbKeys = New-AzStorageAccountKey -ResourceGroupName $ResourceGroupName -Name $StorageAccountName -KeyName $KeyName
$KerbKey = $KerbKeys.keys | Where-Object {$_.KeyName -eq $KeyName} | Select-Object -ExpandProperty Value
$NewPassword = ConvertTo-SecureString -String $KerbKey -AsPlainText -Force
Set-ADAccountPassword -Identity <domain-object-identity> -Reset -NewPassword $NewPassword
Viktigt!
Om du tidigare använde RC4-kryptering och har uppdaterat lagringskontot för att använda AES-256 (rekommenderas), kör du klist purge på klienten och montera sedan om fildelningen för att få nya Kerberos-biljetter med AES-256.
Bekräfta att funktionen är aktiverad
Kontrollera om AD DS är aktiverat som identitetskälla på ditt lagringskonto med hjälp av följande skript. Ersätt <resource-group-name> och <storage-account-name> med dina värden.
# Get the target storage account
$storageAccount = Get-AzStorageAccount `
-ResourceGroupName "<resource-group-name>" `
-Name "<storage-account-name>"
# List the identity source for the selected storage account
$storageAccount.AzureFilesIdentityBasedAuth.DirectoryServiceOptions
# List the directory domain information if the storage account has enabled AD DS authentication for file shares
$storageAccount.AzureFilesIdentityBasedAuth.ActiveDirectoryProperties
Om det lyckas kommer utdata att se ut så här:
DomainName:<yourDomainHere>
NetBiosDomainName:<yourNetBiosDomainNameHere>
ForestName:<yourForestNameHere>
DomainGuid:<yourGUIDHere>
DomainSid:<yourSIDHere>
AzureStorageID:<yourStorageSIDHere>
Viktigt!
Innan du kan autentisera användare måste du tilldela behörigheter på resursnivå.
Felsökning
Om du vill kontrollera AD-konfigurationen med hjälp av den inloggade AD-användaren kör du cmdleten Debug-AzStorageAccountAuth . Den här cmdleten stöds på AzFilesHybrid v0.1.2-versionen och senare. Den här cmdleten fungerar för AD DS- och Microsoft Entra Kerberos-autentisering. Det fungerar inte för lagringskonton som använder Microsoft Entra Domain Services som identitetskälla. Mer information finns i Det går inte att montera Azure fildelningsresurser med AD-referenser.
Debug-AzStorageAccountAuth -StorageAccountName $StorageAccountName -ResourceGroupName $ResourceGroupName -Verbose
Inaktivera AD DS-autentisering på ditt lagringskonto
Om du vill använda en annan identitetskälla inaktiverar du AD DS-autentisering på ditt lagringskonto med hjälp av Azure-portalen, PowerShell eller Azure CLI.
Om du inaktiverar den här identitetskällan har filresurserna i ditt lagringskonto inte identitetsbaserad åtkomst förrän du aktiverar och konfigurerar en av de andra identitetskällorna.
Viktigt!
När du har inaktiverat AD DS-autentisering på lagringskontot bör du överväga att ta bort DEN AD DS-identitet (datorkonto eller tjänstinloggningskonto) som du skapade för att representera lagringskontot i din lokala AD. Om du lämnar identiteten i AD DS förblir den som ett överblivet objekt. Det är inte automatiskt att ta bort det.
Om du vill inaktivera AD DS-autentisering på ditt lagringskonto med hjälp av Azure portalen följer du dessa steg.
- Logga in på Azure-portalen och välj det lagringskonto som du vill inaktivera AD DS-autentisering för.
- Under Datalagring väljer du Klassiska filresurser.
- Bredvid Identitetsbaserad åtkomst väljer du konfigurationsstatus, som ska konfigureras.
- Under Doménové služby Active Directory (AD DS) väljer du Configure.
- Markera kryssrutan Disable služba Active Directory för det här lagringskontot.
- Välj Spara.