Az Azure Files két iparági szabványnak megfelelő protokollt kínál az Azure-fájlmegosztások csatlakoztatásához: a Kiszolgálói üzenetblokk (SMB) protokollt és a hálózati fájlrendszer (NFS) protokollt. Az Azure Files lehetővé teszi a számítási feladathoz leginkább illő fájlrendszerprotokoll kiválasztását. Az Azure-fájlmegosztások nem támogatják az egyes Azure-fájlmegosztások elérését mind az SMB, mind az NFS protokollal, bár SMB- és NFS-fájlmegosztásokat is létrehozhat ugyanazon a tárfiókon belül. Az Azure Files minden fájlmegosztáshoz nagyvállalati szintű fájlmegosztásokat kínál, amelyek a tárolási igényeknek megfelelően vertikálisan méretezhetők, és több ezer ügyfél egyidejűleg is elérhetők.
Ez a cikk az SMB Azure-fájlmegosztásokat ismerteti. További információ az NFS Azure-fájlmegosztásokról: NFS Azure-fájlmegosztások.
Gyakori forgatókönyvek
Az SMB-fájlmegosztásokat számos alkalmazáshoz használják, beleértve a végfelhasználói fájlmegosztásokat és az adatbázisokat és alkalmazásokat háttérként szolgáló fájlmegosztásokat. Az SMB-fájlmegosztásokat gyakran használják a következő helyzetekben:
Végfelhasználói fájlmegosztások, például csoportmegosztások, otthoni könyvtárak stb.
Háttértár windowsos alkalmazásokhoz, például SQL Server-adatbázisokhoz vagy Win32-hez vagy .NET helyi fájlrendszer API-khoz írt üzletági alkalmazásokhoz.
Új alkalmazás- és szolgáltatásfejlesztés, különösen akkor, ha az adott alkalmazás vagy szolgáltatás véletlenszerű I/O- és hierarchikus tárolásra van szükség.
Funkciók
Az Azure Files támogatja az SMB és az Azure főbb funkcióit, amelyek az SMB-fájlmegosztások éles üzembe helyezéséhez szükségesek:
AD-tartományhoz való csatlakozás és belátás szerinti hozzáférés-vezérlési listák (DACL-ek).
Integrált kiszolgáló nélküli biztonsági mentés az Azure Backup szolgáltatással.
Magas hálózati átviteli sebesség többcsatornás SMB használatával (csak prémium szintű fájlmegosztások esetén).
SMB-csatornatitkosítás, beleértve az AES-256-GCM, az AES-128-GCM és az AES-128-CCM protokollt.
Korábbi verziótámogatás vss integrált megosztási pillanatképeken keresztül.
Automatikus helyreállítható törlés az Azure-fájlmegosztásokon a véletlen törlés megakadályozása érdekében.
Igény szerint internetről is elérhető fájlmegosztások internetes SMB 3.0+-val.
Az SMB-fájlmegosztások csatlakoztathatók közvetlenül a helyszínen, vagy a helyszínen is gyorsítótárazhatók az Azure File Sync használatával.
Biztonság
Az Azure Filesban tárolt összes adat titkosítva van az Azure Storage Service titkosításával (S Standard kiadás). A tárolási szolgáltatás titkosítása a Windows BitLockeréhez hasonlóan működik: az adatok titkosítása a fájlrendszer szintje alatt történik. Mivel az adatok az Azure-fájlmegosztás fájlrendszere alatt vannak titkosítva, ezért mivel lemezre vannak kódolva, nem kell hozzáférnie az ügyfél mögöttes kulcsához az Azure-fájlmegosztás olvasásához vagy írásához. A inaktív titkosítás az SMB és az NFS protokollokra is vonatkozik.
Alapértelmezés szerint minden Azure Storage-fiók rendelkezik az átvitel közbeni titkosítással. Ez azt jelenti, hogy ha egy fájlmegosztást SMB-en keresztül csatlakoztat (vagy a FileREST protokollon keresztül éri el), az Azure Files csak akkor engedélyezi a kapcsolatot, ha az SMB 3.x titkosítással vagy HTTPS protokollal készült. Azok az ügyfelek, amelyek nem támogatják az SMB 3.x-et SMB-csatornatitkosítással, nem fogják tudni csatlakoztatni az Azure-fájlmegosztást, ha az átvitel közbeni titkosítás engedélyezve van.
Az Azure Files támogatja az AES-256-GCM-et az SMB 3.1.1-es verziójával Windows Server 2022 vagy Windows 11 esetén. Az SMB 3.1.1 támogatja az AES-128-GCM-et, az SMB 3.0 pedig az AES-128-CCM-et. Az AES-128-GCM-et alapértelmezés szerint a Windows 10 21H1-es verziójában tárgyalják meg teljesítménybeli okokból.
Az Azure Storage-fiók átvitel közbeni titkosítását letilthatja. Ha a titkosítás le van tiltva, az Azure Files az SMB 2.1-et és az SMB 3.x-et is engedélyezi titkosítás nélkül. Az átvitel közbeni titkosítás letiltásának elsődleges oka egy régebbi operációs rendszeren, például Windows Server 2008 R2 vagy régebbi Linux-disztribúción futtatandó régebbi alkalmazások támogatása. Az Azure Files csak az Azure-fájlmegosztással azonos Azure-régióban engedélyezi az SMB 2.1-kapcsolatokat; Egy SMB 2.1-ügyfél nem fér hozzá a fájlmegosztáshoz az Azure-fájlmegosztás Azure-régióján kívül, például a helyszínen vagy egy másik Azure-régióban.
SMB protokollbeállítások
Az Azure Files több olyan beállítást is kínál, amelyek befolyásolják az SMB protokoll viselkedését, teljesítményét és biztonságát. Ezek a tárfiókon belüli összes Azure-fájlmegosztáshoz vannak konfigurálva.
Többcsatornás SMB
Az SMB Multichannel lehetővé teszi, hogy egy SMB 3.x-ügyfél több hálózati kapcsolatot létesítsen egy SMB-fájlmegosztáshoz. Az Azure Files támogatja a többcsatornás SMB-t a prémium szintű fájlmegosztásokon (fájlmegosztások a FileStorage tárfiók típusában). Az SMB Multichannel azure filesban való engedélyezésének nincs további költsége. A többcsatornás SMB alapértelmezés szerint le van tiltva.
Az SMB Multichannel állapotának megtekintéséhez lépjen a prémium szintű fájlmegosztásokat tartalmazó tárfiókra, és válassza ki a Fájlmegosztások lehetőséget a tárfiók tartalomjegyzékében az Adattárolás fejléc alatt. Az SMB Multichannel állapota a Fájlmegosztás beállításai szakaszban tekinthető meg.
A többcsatornás SMB engedélyezéséhez vagy letiltásához válassza ki az aktuális állapotot (az állapottól függően engedélyezve vagy letiltva ). Az eredményként kapott párbeszédpanel egy kapcsolót biztosít az SMB többcsatornás engedélyezéséhez vagy letiltásához. Válassza ki a kívánt állapotot, és válassza a Mentés lehetőséget.
Az SMB Multichannel állapotának lekéréséhez használja a Get-AzStorageFileServiceProperty parancsmagot. A PowerShell-parancsok futtatása előtt ne felejtse el lecserélni <resource-group> a <storage-account> környezetének megfelelő értékeket.
$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
}
}
}
A többcsatornás SMB engedélyezéséhez/letiltásához használja a Update-AzStorageFileServiceProperty parancsmagot.
Az SMB Multichannel állapotának lekéréséhez használja a az storage account file-service-properties show parancsot. A Bash-parancsok futtatása előtt ne felejtse el lecserélni <resource-group> a <storage-account> környezetének megfelelő értékeket.
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
A többcsatornás SMB engedélyezéséhez/letiltásához használja a az storage account file-service-properties update parancsot.
Az Azure Files olyan beállításokat tesz elérhetővé, amelyek lehetővé teszik, hogy az SMB protokollt a szervezet igényeitől függően kompatibilisebb vagy biztonságosabb legyen. Alapértelmezés szerint az Azure Files maximálisan kompatibilisnek van konfigurálva, ezért ne feledje, hogy a beállítások korlátozása miatt egyes ügyfelek nem tudnak csatlakozni.
Az Azure Files a következő beállításokat teszi elérhetővé:
SMB-verziók: Az SMB mely verziói engedélyezettek. Támogatott protokollverziók: SMB 3.1.1, SMB 3.0 és SMB 2.1. Alapértelmezés szerint minden SMB-verzió engedélyezett, bár az SMB 2.1 nem engedélyezett, ha engedélyezve van a "biztonságos átvitel megkövetelése", mert az SMB 2.1 nem támogatja az átvitel közbeni titkosítást.
Hitelesítési módszerek: Mely SMB hitelesítési módszerek engedélyezettek. A támogatott hitelesítési módszerek az NTLMv2 (csak tárfiókkulcs) és a Kerberos. Alapértelmezés szerint minden hitelesítési módszer engedélyezett. Az NTLMv2 eltávolítása nem engedélyezi az Azure-fájlmegosztás csatlakoztatását a tárfiókkulcs használatával. Az Azure Files nem támogatja az NTLM-hitelesítés használatát a tartományi hitelesítő adatokhoz.
Kerberos-jegytitkosítás: Mely titkosítási algoritmusok engedélyezettek. A támogatott titkosítási algoritmusok az AES-256 (ajánlott) és az RC4-HMAC.
SMB-csatornatitkosítás: Mely SMB-csatornatitkosítási algoritmusok engedélyezettek. A támogatott titkosítási algoritmusok az AES-256-GCM, az AES-128-GCM és az AES-128-CCM. Ha csak az AES-256-GCM-et választja, meg kell adnia a csatlakozó ügyfeleknek, hogy használják. Ehhez minden ügyfélen meg kell nyitnia egy PowerShell-terminált rendszergazdaként, és futtatnia Set-SmbClientConfiguration -EncryptionCiphers "AES_256_GCM" -Confirm:$falsekell. Az AES-256-GCM használata a Windows 11/Windows Server 2022-nél régebbi Windows-ügyfeleken nem támogatott.
Az SMB biztonsági beállításait az Azure Portal, a PowerShell vagy a parancssori felület használatával tekintheti meg és módosíthatja. A kívánt fülre kattintva megtekintheti az SMB biztonsági beállításainak beolvasásával és beállításával kapcsolatos lépéseket.
Az SMB biztonsági beállításainak az Azure Portalon való megtekintéséhez vagy módosításához kövesse az alábbi lépéseket:
Keressen tárfiókokat , és válassza ki azt a tárfiókot, amelyhez meg szeretné tekinteni a biztonsági beállításokat.
Válassza ki az Adattárolási>fájlmegosztások lehetőséget.
A Fájlmegosztás beállításai csoportban válassza ki a Biztonsághoz társított értéket. Ha még nem módosította a biztonsági beállításokat, ez az érték alapértelmezés szerint maximális kompatibilitásra módosul.
A Profil csoportban válassza a Maximális kompatibilitás, a Maximális biztonság vagy az Egyéni lehetőséget. Az Egyéni beállítással egyéni profilt hozhat létre az SMB protokollverziókhoz, az SMB-csatorna titkosításához, a hitelesítési mechanizmusokhoz és a Kerberos-jegytitkosításhoz.
Miután megadta a kívánt biztonsági beállításokat, válassza a Mentés lehetőséget.
Az SMB protokoll beállításainak lekéréséhez használja a Get-AzStorageFileServiceProperty parancsmagot. Ne felejtse el lecserélni <resource-group> a <storage-account> környezetének megfelelő értékeket. Ha szándékosan null értékre állította be az SMB biztonsági beállításait, például az SMB-csatorna titkosításának letiltásával, tekintse meg a szkript bizonyos sorok megjegyzésére vonatkozó utasításait.
$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 szervezet biztonsági, teljesítmény- és kompatibilitási követelményeitől függően érdemes lehet módosítani az SMB protokoll beállításait. Az alábbi PowerShell-parancs csak a legbiztonságosabb beállításokra korlátozza az SMB-fájlmegosztásokat.
Fontos
Az SMB Azure-fájlmegosztások csak a legbiztonságosabb beállításokra való korlátozása azt eredményezheti, hogy egyes ügyfelek nem tudnak csatlakozni. Az AES-256-GCM például SMB-csatornatitkosítási lehetőségként lett bevezetve a Windows Server 2022-től és a Windows 11-től kezdve. Ez azt jelenti, hogy az AES-256-GCM-t nem támogató régebbi ügyfelek nem fognak tudni csatlakozni. Ha csak az AES-256-GCM-et választja, meg kell adnia a Windows Server 2022 és a Windows 11-ügyfeleknek, hogy csak az AES-256-GCM-t használják, ha minden ügyfélen megnyitnak egy PowerShell-terminált rendszergazdaként, és futnak Set-SmbClientConfiguration -EncryptionCiphers "AES_256_GCM" -Confirm:$false.
Az SMB biztonsági beállításainak állapotának lekéréséhez használja a az storage account file-service-properties show parancsot. A Bash-parancsok futtatása előtt ne felejtse el lecserélni <resource-group> a <storage-account> környezetének megfelelő értékeket. Ha szándékosan null értékre állította be az SMB biztonsági beállításait, például az SMB-csatorna titkosításának letiltásával, tekintse meg a szkript bizonyos sorok megjegyzésére vonatkozó utasításait.
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 szervezet biztonsági, teljesítmény- és kompatibilitási követelményeitől függően érdemes lehet módosítani az SMB protokoll beállításait. Az alábbi Azure CLI-parancs csak a legbiztonságosabb beállításokra korlátozza az SMB-fájlmegosztásokat.
Fontos
Az SMB Azure-fájlmegosztások csak a legbiztonságosabb beállításokra való korlátozása azt eredményezheti, hogy egyes ügyfelek nem tudnak csatlakozni. Az AES-256-GCM például SMB-csatornatitkosítási lehetőségként lett bevezetve a Windows Server 2022-től és a Windows 11-től kezdve. Ez azt jelenti, hogy az AES-256-GCM-t nem támogató régebbi ügyfelek nem fognak tudni csatlakozni. Ha csak az AES-256-GCM-et választja, meg kell adnia a Windows Server 2022 és a Windows 11-ügyfeleknek, hogy csak az AES-256-GCM-t használják, ha minden ügyfélen megnyitnak egy PowerShell-terminált rendszergazdaként, és futnak Set-SmbClientConfiguration -EncryptionCiphers "AES_256_GCM" -Confirm:$false.
Az Azure Files SMB-fájlmegosztásai támogatják az SMB protokoll és az NTFS fájlrendszer által támogatott funkciók egy részét. Bár a legtöbb használati eset és alkalmazás nem igényli ezeket a funkciókat, előfordulhat, hogy egyes alkalmazások nem működnek megfelelően az Azure Filesszal, ha nem támogatott funkciókra támaszkodnak. A következő funkciók nem támogatottak:
Az SMB Azure-fájlmegosztások minden Azure-régióban elérhetők, beleértve az összes nyilvános és szuverén régiót is. A prémium szintű SMB-fájlmegosztások a régiók egy részhalmazában érhetők el.