L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
File di condivisioni file di Azure SMB
03/05/2025
File di Azure offre due protocolli standard di settore per il montaggio della condivisione file di Azure: il protocollo Server Message Block (SMB) e il protocollo NFS (Network File System). File di Azure consente di scegliere il protocollo del file system più adatto al carico di lavoro. Le condivisioni file di Azure non supportano l'accesso a una singola condivisione file di Azure con i protocolli SMB e NFS, anche se è possibile creare condivisioni file SMB e NFS all'interno dello stesso account di archiviazione. Per tutte le condivisioni file, File di Azure offre condivisioni file di livello aziendale che possono aumentare le prestazioni per soddisfare le esigenze di archiviazione e possono essere accessibili simultaneamente da migliaia di client.
Questo articolo illustra le condivisioni file di Azure SMB. Per informazioni sulle condivisioni file di Azure NFS, vedere Condivisioni file di Azure NFS.
Si applica a:
Modello di gestione
Modello di fatturazione
Livello supporti
Ridondanza
Piccole e Medie Imprese (PMI)
NFS (Network File System)
Microsoft.Storage
Con provisioning v2
HDD (standard)
Locale
Microsoft.Storage
Con provisioning v2
HDD (standard)
Della zona
Microsoft.Storage
Con provisioning v2
HDD (standard)
Geografica
Microsoft.Storage
Con provisioning v2
HDD (standard)
GeoZone (GZRS)
Microsoft.Storage
Con provisioning v1
SSD (Premium)
Locale
Microsoft.Storage
Con provisioning v1
SSD (Premium)
Della zona
Microsoft.Storage
Pagamento in base al consumo
HDD (standard)
Locale
Microsoft.Storage
Pagamento in base al consumo
HDD (standard)
Della zona
Microsoft.Storage
Pagamento in base al consumo
HDD (standard)
Geografica
Microsoft.Storage
Pagamento in base al consumo
HDD (standard)
GeoZone (GZRS)
Scenari comuni
Le condivisioni file SMB vengono usate per molteplici applicazioni, inclusi i file condivisi per gli utenti finali e le condivisioni di file che supportano database e applicazioni. Le condivisioni file SMB vengono spesso usate negli scenari seguenti:
Condivisioni file dell'utente finale, ad esempio condivisioni team, home directory e così via.
Archiviazione di backup per applicazioni basate su Windows, ad esempio database SQL Server o applicazioni line-of-business scritte per le API del file system locale Win32 o .NET.
Sviluppo di nuove applicazioni e servizi, in particolare se tale applicazione o servizio ha un requisito per l'I/O casuale e l'archiviazione gerarchica.
Funzionalità
File di Azure supporta le principali funzionalità di SMB e Azure necessarie per le distribuzioni di produzione di condivisioni file SMB:
Aggiunta a un dominio di Active Directory e elenchi di controllo di accesso discrezionale (DACL).
Backup serverless integrato con Backup di Azure.
Isolamento rete ed endpoint privati di Azure.
Velocità effettiva di rete elevata con SMB multicanale (solo condivisioni file SSD).
Crittografia del canale SMB, tra cui AES-256-GCM, AES-128-GCM e AES-128-CCM.
Supporto della versione precedente tramite snapshot di condivisione integrata VSS.
Eliminazione temporanea automatica nelle condivisioni file di Azure per impedire eliminazioni accidentali.
Facoltativamente, condivisioni file accessibili da Internet con SMB sicuro da Internet 3.0+.
Tutti i dati archiviati in File di Azure vengono crittografati quando sono inattivi usando la crittografia del servizio di archiviazione di Azure. La crittografia del servizio di archiviazione funziona in modo analogo a BitLocker in Windows in quanto i dati vengono crittografati sotto il livello del file system. Dal momento che i dati vengono crittografati sotto il file system della condivisione file di Azure, perché sono codificati su disco, non è necessario avere accesso alla chiave sottostante nel client per leggere o scrivere nella condivisione file di Azure. La crittografia dati inattivi si applica a entrambi i protocolli SMB e NFS.
Per impostazione predefinita, per tutte le condivisioni file di Azure è abilitata la crittografia in transito, pertanto sono consentiti solo i montaggi SMB con SMB 3.x con crittografia. I montaggi dai client che non supportano SMB 3.x con la crittografia del canale SMB vengono rifiutati se la crittografia in transito è abilitata.
File di Azure supporta AES-256-GCM con SMB 3.1.1 se usato con Windows Server 2022 o Windows 11. SMB 3.1.1 supporta anche AES-128-GCM e SMB 3.0 supporta AES-128-CCM. AES-128-GCM viene negoziato per impostazione predefinita in Windows 10, versione 21H1 per motivi di prestazioni.
È possibile disabilitare la crittografia in transito per una condivisione file di Azure. Quando la crittografia è disabilitata, File di Azure consente SMB 2.1 e SMB 3.x senza crittografia. La crittografia in transito viene in genere disabilitata principalmente per supportare un'applicazione legacy che deve essere eseguita in un sistema operativo meno recente, ad esempio Windows Server 2008 R2 o una distribuzione Linux precedente. File di Azure consente solo connessioni SMB 2.1 all'interno della stessa area di Azure della condivisione file di Azure; Un client SMB 2.1 all'esterno dell'area di Azure della condivisione file di Azure, ad esempio in locale o in un'area di Azure diversa, non può accedere alla condivisione file.
Impostazioni protocollo SMB
File di Azure offre più impostazioni che influiscono sul comportamento, sulle prestazioni e sulla sicurezza del protocollo SMB. Questi file sono configurati per tutte le condivisioni file di Azure all'interno di un account di archiviazione.
SMB multicanale
SMB multicanale consente a un client SMB 3.x di stabilire più connessioni di rete con una condivisione file SMB. Azure Files supporta SMB Multichannel nelle condivisioni file su SSD. SMB multicanale è ora abilitato per impostazione predefinita in tutte le aree di Azure.
Per visualizzare lo stato di SMB multicanale, passare all'account di archiviazione contenente le condivisioni file SSD e selezionare Condivisioni file nell'intestazione Archiviazione dati nel sommario dell'account di archiviazione. Lo stato di SMB multicanale dovrebbe essere visualizzato nella sezione Impostazioni condivisione file . Se non viene visualizzato, accertarsi che l'account di archiviazione sia del tipo FileStorage.
Per abilitare o disabilitare SMB multicanale, selezionare lo stato corrente (Abilitato o Disabilitato a seconda dello stato). La finestra di dialogo risultante fornisce un interruttore per abilitare o disabilitare SMB multicanale. Selezionare lo stato desiderato e selezionare Salva.
Per ottenere lo stato di SMB multicanale, usare il cmdlet Get-AzStorageFileServiceProperty. Ricordarsi di sostituire <resource-group> e <storage-account> con i valori appropriati per l'ambiente prima di eseguire questi comandi di PowerShell.
$resourceGroupName = "<resource-group>"
$storageAccountName = "<storage-account>"
# Get reference to storage account
$storageAccount = Get-AzStorageAccount `
-ResourceGroupName $resourceGroupName `
-StorageAccountName $storageAccountName
# If you've never enabled or disabled SMB Multichannel, the value for the SMB Multichannel
# property returned by Azure Files will be null. Null returned values should be interpreted
# as "default settings are in effect". To make this more user-friendly, the following
# PowerShell commands replace null values with the human-readable default values.
$defaultSmbMultichannelEnabled = $false
# Get the current value for SMB Multichannel
Get-AzStorageFileServiceProperty -StorageAccount $storageAccount | `
Select-Object -Property `
ResourceGroupName, `
StorageAccountName, `
@{
Name = "SmbMultichannelEnabled";
Expression = {
if ($null -eq $_.ProtocolSettings.Smb.Multichannel.Enabled) {
$defaultSmbMultichannelEnabled
} else {
$_.ProtocolSettings.Smb.Multichannel.Enabled
}
}
}
Per abilitare/disabilitare SMB multicanale, usare il cmdlet Update-AzStorageFileServiceProperty.
Per ottenere lo stato di SMB multicanale, usare il comando az storage account file-service-properties show. Ricordarsi di sostituire <resource-group> e <storage-account> con i valori appropriati per l'ambiente prima di eseguire questi comandi Bash.
RESOURCE_GROUP_NAME="<resource-group>"
STORAGE_ACCOUNT_NAME="<storage-account>"
# If you've never enabled or disabled SMB Multichannel, the value for the SMB Multichannel
# property returned by Azure Files will be null. Null returned values should be interpreted
# as "default settings are in effect". To make this more user-friendly, the following
# PowerShell commands replace null values with the human-readable default values.
## Search strings
REPLACESMBMULTICHANNEL="\"smbMultichannelEnabled\": null"
# Replacement values for null parameters.
DEFAULTSMBMULTICHANNELENABLED="\"smbMultichannelEnabled\": false"
# Build JMESPath query string
QUERY="{"
QUERY="${QUERY}smbMultichannelEnabled: protocolSettings.smb.multichannel.enabled"
QUERY="${QUERY}}"
# Get protocol settings from the Azure Files FileService object
protocolSettings=$(az storage account file-service-properties show \
--resource-group $RESOURCE_GROUP_NAME \
--account-name $STORAGE_ACCOUNT_NAME \
--query "${QUERY}")
# Replace returned values if null with default values
PROTOCOL_SETTINGS="${protocolSettings/$REPLACESMBMULTICHANNEL/$DEFAULTSMBMULTICHANNELENABLED}"
# Print returned settings
echo $PROTOCOL_SETTINGS
Per abilitare/disabilitare SMB multicanale, usare il comando az storage account file-service-properties update.
Abilitare SMB multicanale nei sistemi operativi meno recenti
Il supporto per SMB multicanale in File di Azure richiede che Windows disponga di tutte le patch pertinenti applicate. Diverse versioni precedenti di Windows, tra cui Windows Server 2016, Windows 10 versione 1607 e Windows 10 versione 1507, richiedono l'impostazione di chiavi del Registro di sistema aggiuntive per tutte le correzioni multicanale SMB pertinenti da applicare alle installazioni completamente patch. Se si esegue una versione di Windows più recente di queste tre versioni, non è necessaria alcuna azione aggiuntiva.
Windows Server 2016 e Windows 10 versione 1607
Per abilitare tutte le correzioni multicanale SMB per Windows Server 2016 e Windows 10 versione 1607, eseguire il comando di PowerShell seguente:
File di Azure espone le impostazioni che consentono di attivare o disattivare il protocollo SMB affinché sia più compatibile o più sicuro, a seconda dei requisiti dell'organizzazione. Per impostazione predefinita, File di Azure è configurato per essere compatibile al massimo, quindi tenere presente che la limitazione di queste impostazioni può causare la mancata connessione di alcuni client.
File di Azure espone le impostazioni seguenti:
versioni SMB: quali versioni di SMB sono consentite. Le versioni del protocollo supportate sono SMB 3.1.1, SMB 3.0 e SMB 2.1. Per impostazione predefinita, tutte le versioni SMB sono consentite, anche se SMB 2.1 non è consentito se è abilitato il "trasferimento sicuro" perché SMB 2.1 non supporta la crittografia in transito.
Metodi di autenticazione: metodi di autenticazione SMB consentiti. I metodi di autenticazione supportati sono NTLMv2 (solo chiave dell'account di archiviazione) e Kerberos. Per impostazione predefinita, sono consentiti tutti i metodi di autenticazione. La rimozione di NTLMv2 non consente l'uso della chiave dell'account di archiviazione per montare la condivisione file di Azure. File di Azure non supporta l'uso dell'autenticazione NTLM per le credenziali di dominio.
Crittografia ticket Kerberos: quali algoritmi di crittografia sono consentiti. Gli algoritmi di crittografia supportati sono AES-256 (scelta consigliata) e RC4-HMAC.
Crittografia del canale SMB: algoritmi di crittografia del canale SMB consentiti. Gli algoritmi di crittografia supportati sono AES-256-GCM, AES-128-GCM e AES-128-CCM. Se si seleziona solo AES-256-GCM, è necessario indicare ai client di connessione di usarlo aprendo un terminale di PowerShell come amministratore in ogni client ed eseguendo Set-SmbClientConfiguration -EncryptionCiphers "AES_256_GCM" -Confirm:$false. L'uso di AES-256-GCM non è supportato nei client Windows precedenti a Windows 11/Windows Server 2022.
È possibile visualizzare e modificare le impostazioni di sicurezza SMB usando il portale di Azure, PowerShell o l'interfaccia della riga di comando. Selezionare la scheda desiderata per visualizzare i passaggi su come ottenere e impostare le impostazioni di sicurezza SMB. Si noti che queste impostazioni vengono controllate quando viene stabilita una sessione SMB e, in caso contrario, l'installazione della sessione SMB ha esito negativo e viene visualizzato l'errore "STATUS_ACCESS_DENIED".
Per visualizzare o modificare le impostazioni di sicurezza SMB usando il portale di Azure, seguire questa procedura:
Accedere al portale di Azure e cercare Account di archiviazione. Selezionare l'account di archiviazione per cui si desidera visualizzare o modificare le impostazioni di sicurezza SMB.
Dal menu del servizio, selezionare archiviazione dati>condivisioni file.
In Impostazioni condivisione fileselezionare il valore associato a Sicurezza. Se le impostazioni di sicurezza non sono state modificate, per impostazione predefinita questo valore è Compatibilità massima.
In Profiloselezionare Compatibilità massima, Massima sicurezzao Personalizzato. Se si seleziona Personalizzato, è possibile creare un profilo personalizzato per le versioni del protocollo SMB, la crittografia del canale SMB, i meccanismi di autenticazione e la crittografia dei ticket Kerberos.
Dopo aver immesso le impostazioni di sicurezza desiderate, selezionare Salva.
Per ottenere le impostazioni del protocollo SMB, usare il cmdlet Get-AzStorageFileServiceProperty. Ricordarsi di sostituire <resource-group> e <storage-account> con i valori appropriati per l'ambiente. Se è stata deliberatamente impostata una delle impostazioni di sicurezza SMB su Null, ad esempio disabilitando la crittografia del canale SMB, vedere le istruzioni nello script per impostare come commento determinate righe.
$resourceGroupName = "<resource-group>"
$storageAccountName = "<storage-account>"
# Get reference to storage account
$storageAccount = Get-AzStorageAccount `
-ResourceGroupName $resourceGroupName `
-StorageAccountName $storageAccountName
# If you've never changed any SMB security settings, the values for the SMB security
# settings returned by Azure Files will be null. Null returned values should be interpreted
# as "default settings are in effect". To make this more user-friendly, the following
# PowerShell commands replace null values with the human-readable default values.
# If you've deliberately set any of your SMB security settings to null, for example by
# disabling SMB channel encryption, comment out the following four lines to avoid
# changing the security settings back to defaults.
$smbProtocolVersions = "SMB2.1", "SMB3.0", "SMB3.1.1"
$smbAuthenticationMethods = "NTLMv2", "Kerberos"
$smbKerberosTicketEncryption = "RC4-HMAC", "AES-256"
$smbChannelEncryption = "AES-128-CCM", "AES-128-GCM", "AES-256-GCM"
# Gets the current values of the SMB security settings
Get-AzStorageFileServiceProperty -StorageAccount $storageAccount | `
Select-Object -Property `
ResourceGroupName, `
StorageAccountName, `
@{
Name = "SmbProtocolVersions";
Expression = {
if ($null -eq $_.ProtocolSettings.Smb.Versions) {
[String]::Join(", ", $smbProtocolVersions)
} else {
[String]::Join(", ", $_.ProtocolSettings.Smb.Versions)
}
}
},
@{
Name = "SmbChannelEncryption";
Expression = {
if ($null -eq $_.ProtocolSettings.Smb.ChannelEncryption) {
[String]::Join(", ", $smbChannelEncryption)
} else {
[String]::Join(", ", $_.ProtocolSettings.Smb.ChannelEncryption)
}
}
},
@{
Name = "SmbAuthenticationMethods";
Expression = {
if ($null -eq $_.ProtocolSettings.Smb.AuthenticationMethods) {
[String]::Join(", ", $smbAuthenticationMethods)
} else {
[String]::Join(", ", $_.ProtocolSettings.Smb.AuthenticationMethods)
}
}
},
@{
Name = "SmbKerberosTicketEncryption";
Expression = {
if ($null -eq $_.ProtocolSettings.Smb.KerberosTicketEncryption) {
[String]::Join(", ", $smbKerberosTicketEncryption)
} else {
[String]::Join(", ", $_.ProtocolSettings.Smb.KerberosTicketEncryption)
}
}
}
A seconda dei requisiti di sicurezza, prestazioni e compatibilità dell'organizzazione, è possibile modificare le impostazioni del protocollo SMB. Il comando di PowerShell seguente limita le condivisioni file SMB solo alle opzioni più sicure.
Importante
La limitazione delle condivisioni file di Azure SMB solo alle opzioni più sicure potrebbe comportare la mancata connessione di alcuni client. Ad esempio, AES-256-GCM è stato introdotto come opzione per la crittografia del canale SMB a partire da Windows Server 2022 e Windows 11. Ciò significa che i client meno recenti che non supportano AES-256-GCM non potranno connettersi. Se si seleziona solo AES-256-GCM, è necessario indicare ai client Windows Server 2022 e Windows 11 di usare solo AES-256-GCM aprendo un terminale di PowerShell come amministratore in ogni client ed eseguendo Set-SmbClientConfiguration -EncryptionCiphers "AES_256_GCM" -Confirm:$false.
Per ottenere lo stato delle impostazioni di sicurezza SMB, usare il comando az storage account file-service-properties show. Ricordarsi di sostituire <resource-group> e <storage-account> con i valori appropriati per l'ambiente prima di eseguire questi comandi Bash. Se è stata deliberatamente impostata una delle impostazioni di sicurezza SMB su Null, ad esempio disabilitando la crittografia del canale SMB, vedere le istruzioni nello script per impostare come commento determinate righe.
RESOURCE_GROUP_NAME="<resource-group>"
STORAGE_ACCOUNT_NAME="<storage-account>"
# If you've never changed any SMB security settings, the values for the SMB security
# settings returned by Azure Files will be null. Null returned values should be interpreted
# as "default settings are in effect". To make this more user-friendly, the commands in the
# following two sections replace null values with the human-readable default values.
# If you've deliberately set any of your SMB security settings to null, for example by
# disabling SMB channel encryption, comment out the following two sections before
# running the script to avoid changing the security settings back to defaults.
# Values to be replaced
REPLACESMBPROTOCOLVERSION="\"smbProtocolVersions\": null"
REPLACESMBCHANNELENCRYPTION="\"smbChannelEncryption\": null"
REPLACESMBAUTHENTICATIONMETHODS="\"smbAuthenticationMethods\": null"
REPLACESMBKERBEROSTICKETENCRYPTION="\"smbKerberosTicketEncryption\": null"
# Replacement values for null parameters. If you copy this into your own
# scripts, you will need to ensure that you keep these variables up-to-date with any new
# options we may add to these parameters in the future.
DEFAULTSMBPROTOCOLVERSIONS="\"smbProtocolVersions\": \"SMB2.1;SMB3.0;SMB3.1.1\""
DEFAULTSMBCHANNELENCRYPTION="\"smbChannelEncryption\": \"AES-128-CCM;AES-128-GCM;AES-256-GCM\""
DEFAULTSMBAUTHENTICATIONMETHODS="\"smbAuthenticationMethods\": \"NTLMv2;Kerberos\""
DEFAULTSMBKERBEROSTICKETENCRYPTION="\"smbKerberosTicketEncryption\": \"RC4-HMAC;AES-256\""
# Build JMESPath query string
QUERY="{"
QUERY="${QUERY}smbProtocolVersions: protocolSettings.smb.versions,"
QUERY="${QUERY}smbChannelEncryption: protocolSettings.smb.channelEncryption,"
QUERY="${QUERY}smbAuthenticationMethods: protocolSettings.smb.authenticationMethods,"
QUERY="${QUERY}smbKerberosTicketEncryption: protocolSettings.smb.kerberosTicketEncryption"
QUERY="${QUERY}}"
# Get protocol settings from the Azure Files FileService object
PROTOCOLSETTINGS=$(az storage account file-service-properties show \
--resource-group $RESOURCE_GROUP_NAME \
--account-name $STORAGE_ACCOUNT_NAME \
--query "${QUERY}")
# Replace returned values if null with default values
PROTOCOLSETTINGS="${protocolSettings/$REPLACESMBPROTOCOLVERSION/$DEFAULTSMBPROTOCOLVERSIONS}"
PROTOCOLSETTINGS="${protocolSettings/$REPLACESMBCHANNELENCRYPTION/$DEFAULTSMBCHANNELENCRYPTION}"
PROTOCOLSETTINGS="${protocolSettings/$REPLACESMBAUTHENTICATIONMETHODS/$DEFAULTSMBAUTHENTICATIONMETHODS}"
PROTOCOLSETTINGS="${protocolSettings/$REPLACESMBKERBEROSTICKETENCRYPTION/$DEFAULTSMBKERBEROSTICKETENCRYPTION}"
# Print returned settings
echo $PROTOCOLSETTINGS
A seconda dei requisiti di sicurezza, prestazioni e compatibilità dell'organizzazione, è possibile modificare le impostazioni del protocollo SMB. Il comando di interfaccia della riga di comando di Azure seguente limita le condivisioni file SMB solo alle opzioni più sicure.
Importante
La limitazione delle condivisioni file di Azure SMB solo alle opzioni più sicure potrebbe comportare la mancata connessione di alcuni client. Ad esempio, AES-256-GCM è stato introdotto come opzione per la crittografia del canale SMB a partire da Windows Server 2022 e Windows 11. Ciò significa che i client meno recenti che non supportano AES-256-GCM non potranno connettersi. Se si seleziona solo AES-256-GCM, è necessario indicare ai client Windows Server 2022 e Windows 11 di usare solo AES-256-GCM aprendo un terminale di PowerShell come amministratore in ogni client ed eseguendo Set-SmbClientConfiguration -EncryptionCiphers "AES_256_GCM" -Confirm:$false.
Le condivisioni file SMB in File di Azure supportano un subset di funzionalità supportate dal protocollo SMB e dal file system NTFS. Sebbene la maggior parte dei casi d'uso e delle applicazioni non richieda queste funzionalità, alcune applicazioni potrebbero non funzionare correttamente con File di Azure se si basano su funzionalità non supportate. Le seguenti funzionalità non sono supportate:
Le condivisioni file di Azure SMB sono disponibili in ogni area di Azure, incluse tutte le aree pubbliche e sovrane. Le condivisioni file SSD sono disponibili in un sottoinsieme di regioni.
Gli amministratori di ambienti ibridi di Windows Server integrano gli ambienti di Windows Server con i servizi di Azure e gestiscono Windows Server nelle reti locali.