Azure Files biedt twee industriestandaard protocollen voor het koppelen van een Azure-bestandsshare: het SMB-protocol (Server Message Block) en het NFS-protocol (Network File System). Met Azure Files kunt u het bestandssysteemprotocol kiezen dat het meest geschikt is voor uw workload. Azure-bestandsshares bieden geen ondersteuning voor toegang tot een afzonderlijke Azure-bestandsshare met zowel de SMB- als NFS-protocollen, hoewel u SMB- en NFS-bestandsshares binnen hetzelfde opslagaccount kunt maken. Voor alle bestandsshares biedt Azure Files hoogwaardige bestandsshares die omhoog kunnen worden geschaald om te voldoen aan uw opslagbehoeften en die gelijktijdig kunnen worden geopend door duizenden clients.
SMB-bestandsshares worden gebruikt voor verschillende toepassingen, waaronder bestandsshares van eindgebruikers en bestandsshares die back-ups maken van databases en toepassingen. SMB-bestandsshares worden vaak gebruikt in de volgende scenario's:
Bestandsshares van eindgebruikers, zoals teamshares, basismappen, enzovoort.
Back-up van opslag voor Windows-toepassingen, zoals SQL Server-databases of Line-Of-Business-toepassingen die zijn geschreven voor Win32- of .NET-API's van het lokale bestandssysteem.
Nieuwe toepassings- en serviceontwikkeling, met name als die toepassing of service een vereiste heeft voor willekeurige IO en hiërarchische opslag.
Functies
Azure Files ondersteunt de belangrijkste functies van SMB en Azure die nodig zijn voor productie-implementaties van SMB-bestandsshares:
AD-domeindeelname en discretionaire toegangsbeheerlijsten (DACL's).
Geïntegreerde serverloze back-up met Azure Backup.
Netwerkisolatie met privé-eindpunten van Azure.
Hoge netwerkdoorvoer met behulp van SMB meerdere kanalen (alleen premium bestandsshares).
SMB-kanaalversleuteling, waaronder AES-256-GCM, AES-128-GCM en AES-128-CCM.
Ondersteuning van eerdere versies via momentopnamen van geïntegreerde VSS-shares.
Automatisch voorlopig verwijderen op Azure-bestandsshares om onbedoelde verwijderingen te voorkomen.
Optioneel toegankelijk bestandsshares met internetveilige SMB 3.0+.
SMB-bestandsshares kunnen rechtstreeks on-premises worden gekoppeld of on-premises in de cache worden opgeslagen met Azure File Sync.
Beveiliging
Alle gegevens die zijn opgeslagen in Azure Files worden inactief versleuteld met behulp van Azure Storage Service Encryption (SSE). Versleuteling van de opslagservice werkt op dezelfde manier als BitLocker op Windows: gegevens worden versleuteld onder het bestandssysteemniveau. Omdat gegevens worden versleuteld onder het bestandssysteem van de Azure-bestandsshare (vanwege codering naar de schijf) hoeft u geen toegang te hebben tot de onderliggende sleutel op de client om naar de Azure-bestandsshare te kunnen lezen of schrijven. Inactieve versleuteling geldt voor zowel SMB- als NFS-protocollen.
Standaard is versleuteling in-transit ingeschakeld voor alle Azure-opslagaccounts. Dit betekent dat wanneer u een bestandsshare koppelt via SMB (of deze opent via het FileREST-protocol), Azure Files alleen de verbinding toestaat als deze is gemaakt met SMB 3.x met versleuteling of HTTPS. Clients die geen ondersteuning bieden voor SMB 3.x met SMB-kanaalversleuteling, kunnen de Azure-bestandsshare niet koppelen als versleuteling tijdens overdracht is ingeschakeld.
Azure Files ondersteunt AES-256-GCM met SMB 3.1.1 bij gebruik met Windows Server 2022 of Windows 11. SMB 3.1.1 ondersteunt ook AES-128-GCM en SMB 3.0 ondersteunt AES-128-CCM. AES-128-GCM wordt standaard onderhandeld op Windows 10, versie 21H1 om prestatieredenen.
U kunt versleuteling in transit uitschakelen voor een Azure-opslagaccount. Wanneer versleuteling is uitgeschakeld, staat Azure Files ook SMB 2.1 en SMB 3.x zonder versleuteling toe. De belangrijkste reden om versleuteling in transit uit te schakelen, is het ondersteunen van een verouderde toepassing die moet worden uitgevoerd op een ouder besturingssysteem, zoals Windows Server 2008 R2 of een oudere Linux-distributie. In Azure Files worden SMB 2.1-verbindingen alleen toegestaan binnen dezelfde Azure-regio als de Azure-bestandsshare. SMB 2.1-clients buiten de Azure-regio van de Azure-bestandsshare, zoals on-premises clients of clients in een andere Azure-regio, hebben geen toegang tot de bestandsshare.
SMB-protocolinstellingen
Azure Files biedt meerdere instellingen die van invloed zijn op het gedrag, de prestaties en de beveiliging van het SMB-protocol. Deze zijn geconfigureerd voor alle Azure-bestandsshares binnen een opslagaccount.
SMB Multikanaal
Met SMB meerdere kanalen kan een SMB 3.x-client meerdere netwerkverbindingen tot stand brengen met een SMB-bestandsshare. Azure Files ondersteunt SMB Meerdere kanalen op Premium-bestandsshares (bestandsshares in het type FileStorage-opslagaccount). Er zijn geen extra kosten verbonden aan het inschakelen van SMB meerdere kanalen in Azure Files. In de meeste Azure-regio's is SMB Meerdere kanalen standaard uitgeschakeld.
Als u de status van SMB meerdere kanalen wilt weergeven, gaat u naar het opslagaccount met uw Premium-bestandsshares en selecteert u Bestandsshares onder de kop Gegevensopslag in de inhoudsopgave van het opslagaccount. De status van de SMB Meerdere kanalen kan worden weergegeven in de sectie Bestandsshare-instellingen .
Als u SMB meerdere kanalen wilt in- of uitschakelen, selecteert u de huidige status (ingeschakeld of uitgeschakeld , afhankelijk van de status). Het resulterende dialoogvenster bevat een wisselknop om SMB meerdere kanalen in of uit te schakelen. Selecteer de gewenste status en selecteer Opslaan.
Gebruik de Get-AzStorageFileServiceProperty cmdlet om de status van SMB meerdere kanalen op te halen. Vergeet niet om de juiste waarden voor uw omgeving te vervangen <resource-group> voordat <storage-account> u deze PowerShell-opdrachten uitvoert.
$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
}
}
}
Als u SMB meerdere kanalen wilt in- of uitschakelen, gebruikt u de Update-AzStorageFileServiceProperty cmdlet.
Gebruik de az storage account file-service-properties show opdracht om de status van SMB Meerdere kanalen op te halen. Vergeet niet om deze Bash-opdrachten te vervangen <resource-group> en <storage-account> door de juiste waarden voor uw omgeving uit te voeren.
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
Gebruik de az storage account file-service-properties update opdracht om SMB meerdere kanalen in of uit te schakelen.
Azure Files stelt instellingen beschikbaar waarmee u het SMB-protocol kunt in- of uitschakelen om compatibeler of veiliger te zijn, afhankelijk van de vereisten van uw organisatie. Standaard is Azure Files zo geconfigureerd dat ze maximaal compatibel zijn. Houd er dus rekening mee dat het beperken van deze instellingen ertoe kan leiden dat sommige clients geen verbinding kunnen maken.
Azure Files maakt de volgende instellingen beschikbaar:
SMB-versies: welke versies van SMB zijn toegestaan. Ondersteunde protocolversies zijn SMB 3.1.1, SMB 3.0 en SMB 2.1. Standaard zijn alle SMB-versies toegestaan, hoewel SMB 2.1 niet is toegestaan als 'veilige overdracht vereisen' is ingeschakeld, omdat SMB 2.1 geen ondersteuning biedt voor versleuteling tijdens overdracht.
Verificatiemethoden: welke SMB-verificatiemethoden zijn toegestaan. Ondersteunde verificatiemethoden zijn NTLMv2 (alleen opslagaccountsleutel) en Kerberos. Standaard zijn alle verificatiemethoden toegestaan. Als u NTLMv2 verwijdert, wordt het gebruik van de sleutel van het opslagaccount niet toegeslagen om de Azure-bestandsshare te koppelen. Azure Files biedt geen ondersteuning voor het gebruik van NTLM-verificatie voor domeinreferenties.
Kerberos-ticketversleuteling: welke versleutelingsalgoritmen zijn toegestaan. Ondersteunde versleutelingsalgoritmen zijn AES-256 (aanbevolen) en RC4-HMAC.
SMB-kanaalversleuteling: welke algoritmen voor SMB-kanaalversleuteling zijn toegestaan. Ondersteunde versleutelingsalgoritmen zijn AES-256-GCM, AES-128-GCM en AES-128-CCM. Als u alleen AES-256-GCM selecteert, moet u aan clients laten weten dat deze moeten worden gebruikt door een PowerShell-terminal te openen als beheerder op elke client en deze uit te voeren Set-SmbClientConfiguration -EncryptionCiphers "AES_256_GCM" -Confirm:$false. Het gebruik van AES-256-GCM wordt niet ondersteund op Windows-clients ouder dan Windows 11/Windows Server 2022.
U kunt de SMB-beveiligingsinstellingen bekijken en wijzigen met behulp van Azure Portal, PowerShell of CLI. Selecteer het gewenste tabblad om de stappen te zien voor het ophalen en instellen van de SMB-beveiligingsinstellingen.
Als u de SMB-beveiligingsinstellingen wilt weergeven of wijzigen met behulp van Azure Portal, voert u de volgende stappen uit:
Zoek naar Opslagaccounts en selecteer het opslagaccount waarvoor u de beveiligingsinstellingen wilt weergeven.
Selecteer Bestandsshares voor gegevensopslag>.
Selecteer onder Instellingen voor bestandsshare de waarde die is gekoppeld aan Beveiliging. Als u de beveiligingsinstellingen niet hebt gewijzigd, wordt deze waarde standaard ingesteld op Maximale compatibiliteit.
Selecteer onder Profiel de optie Maximale compatibiliteit, Maximale beveiliging of Aangepast. Als u Aangepast selecteert, kunt u een aangepast profiel maken voor SMB-protocolversies, SMB-kanaalversleuteling, verificatiemechanismen en Kerberos-ticketversleuteling.
Nadat u de gewenste beveiligingsinstellingen hebt ingevoerd, selecteert u Opslaan.
Gebruik de cmdlet om de SMB-protocolinstellingen op te Get-AzStorageFileServiceProperty halen. Vergeet niet om de juiste waarden voor uw omgeving te vervangen en <storage-account> te vervangen<resource-group>. Als u uw SMB-beveiligingsinstellingen opzettelijk hebt ingesteld op null, bijvoorbeeld door SMB-kanaalversleuteling uit te schakelen, raadpleegt u de instructies in het script over het uitcommentariëren van bepaalde regels.
$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)
}
}
}
Afhankelijk van de beveiligings-, prestatie- en compatibiliteitsvereisten van uw organisatie, kunt u de SMB-protocolinstellingen wijzigen. Met de volgende PowerShell-opdracht worden uw SMB-bestandsshares beperkt tot alleen de veiligste opties.
Belangrijk
Het beperken van SMB Azure-bestandsshares tot alleen de veiligste opties kan ertoe leiden dat sommige clients geen verbinding kunnen maken. AES-256-GCM is bijvoorbeeld geïntroduceerd als optie voor SMB-kanaalversleuteling vanaf Windows Server 2022 en Windows 11. Dit betekent dat oudere clients die geen ondersteuning bieden voor AES-256-GCM geen verbinding kunnen maken. Als u alleen AES-256-GCM selecteert, moet u Windows Server 2022- en Windows 11-clients alleen AES-256-GCM laten gebruiken door een PowerShell-terminal te openen als beheerder op elke client en deze uit te voeren Set-SmbClientConfiguration -EncryptionCiphers "AES_256_GCM" -Confirm:$false.
Gebruik de az storage account file-service-properties show opdracht om de status van de SMB-beveiligingsinstellingen op te halen. Vergeet niet om deze Bash-opdrachten te vervangen <resource-group> en <storage-account> door de juiste waarden voor uw omgeving uit te voeren. Als u uw SMB-beveiligingsinstellingen opzettelijk hebt ingesteld op null, bijvoorbeeld door SMB-kanaalversleuteling uit te schakelen, raadpleegt u de instructies in het script over het uitcommentariëren van bepaalde regels.
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
Afhankelijk van de beveiligings-, prestatie- en compatibiliteitsvereisten van uw organisatie, kunt u de SMB-protocolinstellingen wijzigen. Met de volgende Azure CLI-opdracht beperkt u uw SMB-bestandsshares tot alleen de veiligste opties.
Belangrijk
Het beperken van SMB Azure-bestandsshares tot alleen de veiligste opties kan ertoe leiden dat sommige clients geen verbinding kunnen maken. AES-256-GCM is bijvoorbeeld geïntroduceerd als optie voor SMB-kanaalversleuteling vanaf Windows Server 2022 en Windows 11. Dit betekent dat oudere clients die geen ondersteuning bieden voor AES-256-GCM geen verbinding kunnen maken. Als u alleen AES-256-GCM selecteert, moet u Windows Server 2022- en Windows 11-clients alleen AES-256-GCM laten gebruiken door een PowerShell-terminal te openen als beheerder op elke client en deze uit te voeren Set-SmbClientConfiguration -EncryptionCiphers "AES_256_GCM" -Confirm:$false.
SMB-bestandsshares in Azure Files ondersteunen een subset van functies die worden ondersteund door het SMB-protocol en het NTFS-bestandssysteem. Hoewel de meeste use cases en toepassingen deze functies niet vereisen, werken sommige toepassingen mogelijk niet goed met Azure Files als ze afhankelijk zijn van niet-ondersteunde functies. De volgende functies worden niet ondersteund:
SMB Azure-bestandsshares zijn beschikbaar in elke Azure-regio, inclusief alle openbare en onafhankelijke regio's. Premium SMB-bestandsshares zijn beschikbaar in een subset van regio's.
Binnenkort beschikbaar: In de loop van 2024 zullen we GitHub-problemen geleidelijk uitfaseren als het feedbackmechanisme voor inhoud en deze vervangen door een nieuw feedbacksysteem. Zie voor meer informatie: https://aka.ms/ContentUserFeedback.