Azure Dosyalar, Azure dosya paylaşımını bağlamak için endüstri standardı iki protokol sunar:Sunucu İleti Bloğu (SMB) protokolü ve Ağ Dosya Sistemi (NFS) protokolü. Azure Dosyalar, iş yükünüz için en uygun dosya sistemi protokollerini seçmenizi sağlar. Azure dosya paylaşımları hem SMB hem de NFS protokolleriyle tek bir Azure dosya paylaşımına erişimi desteklemez, ancak aynı depolama hesabı içinde SMB ve NFS dosya paylaşımları oluşturabilirsiniz. tüm dosya paylaşımları için Azure Dosyalar, depolama gereksinimlerinizi karşılayacak şekilde ölçeği artırabilen ve binlerce istemci tarafından eşzamanlı olarak erişilebilen kurumsal düzeyde dosya paylaşımları sunar.
Bu makale, SMB Azure dosya paylaşımlarını kapsar. NFS Azure dosya paylaşımları hakkında bilgi için bkz . NFS Azure dosya paylaşımları.
Genel senaryolar
SMB dosya paylaşımları, veritabanlarını ve uygulamaları destekleyen son kullanıcı dosya paylaşımları ve dosya paylaşımları gibi çeşitli uygulamalar için kullanılır. SMB dosya paylaşımları genellikle aşağıdaki senaryolarda kullanılır:
Ekip paylaşımları, ev dizinleri gibi son kullanıcı dosya paylaşımları.
Sql Server veritabanları veya Win32 veya .NET yerel dosya sistemi API'leri için yazılmış iş kolu uygulamaları gibi Windows tabanlı uygulamalar için depolamayı yedekleme.
Özellikle bu uygulama veya hizmetin rastgele GÇ ve hiyerarşik depolama gereksinimi varsa yeni uygulama ve hizmet geliştirme.
Özellikler
Azure Dosyalar, SMB dosya paylaşımlarının üretim dağıtımları için gereken SMB ve Azure'ın başlıca özelliklerini destekler:
AD etki alanına katılma ve isteğe bağlı erişim denetim listeleri (DACL' ler).
Azure Backup ile tümleşik sunucusuz yedekleme.
Azure özel uç noktalarıyla ağ yalıtımı.
Çok Kanallı SMB kullanarak yüksek ağ aktarım hızı (yalnızca premium dosya paylaşımları).
AES-256-GCM, AES-128-GCM ve AES-128-CCM dahil olmak üzere SMB kanalı şifrelemesi.
VSS tümleşik paylaşım anlık görüntüleri aracılığıyla önceki sürüm desteği.
Yanlışlıkla silmeleri önlemek için Azure dosya paylaşımlarında otomatik geçici silme.
İsteğe bağlı olarak İnternet'e uygun SMB 3.0+ ile İnternet'e erişilebilir dosya paylaşımları.
Azure Dosyalar depolanan tüm veriler, Azure depolama hizmeti şifrelemesi (SSE) kullanılarak bekleme durumunda şifrelenir. Depolama hizmeti şifrelemesi, Windows'ta BitLocker'a benzer şekilde çalışır: veriler dosya sistemi düzeyinin altında şifrelenir. Veriler Azure dosya paylaşımının dosya sisteminin altında şifrelendiğinden, diske kodlandığından, Azure dosya paylaşımını okumak veya dosyaya yazmak için istemcideki temel anahtara erişiminiz olması gerekmez. Bekleyen şifreleme hem SMB hem de NFS protokolleri için geçerlidir.
Varsayılan olarak, tüm Azure depolama hesaplarında aktarımda şifreleme etkindir. Bu, bir dosya paylaşımını SMB üzerinden bağladığınızda (veya FileREST protokolü aracılığıyla eriştiğinde), Azure Dosyalar yalnızca şifreleme veya HTTPS ile SMB 3.x ile yapıldığında bağlantıya izin verileceği anlamına gelir. SMB kanal şifrelemesi ile SMB 3.x'i desteklemeyen istemciler aktarım sırasında şifreleme etkinse Azure dosya paylaşımını bağlayamaz.
Azure Dosyalar, Windows Server 2022 veya Windows 11 ile kullanıldığında SMB 3.1.1 ile AES-256-GCM'i destekler. SMB 3.1.1 ayrıca AES-128-GCM'yi ve SMB 3.0 da AES-128-CCM'yi destekler. AES-128-GCM, performans nedeniyle Windows 10, sürüm 21H1'de varsayılan olarak görüşülür.
Azure depolama hesabı için aktarım sırasında şifrelemeyi devre dışı bırakabilirsiniz. Şifreleme devre dışı bırakıldığında, Azure Dosyalar şifreleme olmadan SMB 2.1 ve SMB 3.x'e de izin verir. Aktarım sırasında şifrelemeyi devre dışı bırakmanın birincil nedeni, Windows Server 2008 R2 veya eski Linux dağıtımı gibi eski bir işletim sisteminde çalıştırılması gereken eski bir uygulamayı desteklemektir. Azure Dosyalar yalnızca Azure dosya paylaşımıyla aynı Azure bölgesinde SMB 2.1 bağlantılarına izin verir; Şirket içi veya farklı bir Azure bölgesi gibi Azure dosya paylaşımının Azure bölgesinin dışındaki bir SMB 2.1 istemcisi dosya paylaşımına erişemez.
SMB protokolü ayarları
Azure Dosyalar, SMB protokolünün davranışını, performansını ve güvenliğini etkileyen birden çok ayar sunar. Bunlar bir depolama hesabı içindeki tüm Azure dosya paylaşımları için yapılandırılır.
SMB Çok Kanal
Çok Kanallı SMB, bir SMB dosya paylaşımına birden fazla ağ bağlantısı kurmak için SMB 3.x istemcisini etkinleştirir. Azure Dosyalar, premium dosya paylaşımlarında (FileStorage depolama hesabı türünde dosya paylaşımları) çok kanallı SMB'yi destekler. Azure Dosyalar'da Çok Kanallı SMB'yi etkinleştirmenin ek bir maliyeti yoktur. Çoğu Azure bölgesinde, Çok Kanallı SMB varsayılan olarak devre dışıdır.
Çok Kanallı SMB'nin durumunu görüntülemek için premium dosya paylaşımlarınızı içeren depolama hesabına gidin ve depolama hesabı içindekiler tablosundaki Veri depolama başlığı altında Dosya paylaşımları'nı seçin. Çok Kanallı SMB'nin durumu Dosya paylaşımı ayarları bölümünde görülebilir.
Çok Kanallı SMB'yi etkinleştirmek veya devre dışı bırakmak için geçerli durumu seçin (duruma bağlı olarak Etkin veya Devre Dışı ). Sonuçta elde edilen iletişim kutusu, Çok Kanallı SMB'yi etkinleştirmek veya devre dışı bırakmak için bir geçiş sağlar. İstediğiniz durumu seçin ve Kaydet'i seçin.
Çok Kanallı SMB durumunu almak için cmdlet'ini Get-AzStorageFileServiceProperty kullanın. Bu PowerShell komutlarını çalıştırmadan önce ve değerlerini ortamınız için uygun değerlerle değiştirmeyi <resource-group><storage-account> unutmayın.
$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
}
}
}
Çok Kanallı SMB'yi etkinleştirmek/devre dışı bırakmak için cmdlet'ini Update-AzStorageFileServiceProperty kullanın.
Çok Kanallı SMB'nin durumunu almak için komutunu kullanın az storage account file-service-properties show . Bu Bash komutlarını çalıştırmadan önce ve <storage-account> değerlerini ortamınız için uygun değerlerle değiştirmeyi <resource-group> unutmayın.
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
Çok Kanallı SMB'yi etkinleştirmek/devre dışı bırakmak için komutunu kullanın az storage account file-service-properties update .
Azure Dosyalar, kuruluşunuzun gereksinimlerine bağlı olarak SMB protokolünü daha uyumlu veya daha güvenli olacak şekilde değiştirmenizi sağlayan ayarları kullanıma sunar. Varsayılan olarak, Azure Dosyalar en yüksek düzeyde uyumlu olacak şekilde yapılandırıldığından, bu ayarları kısıtlamanın bazı istemcilerin bağlanamamasına neden olabileceğini unutmayın.
Azure Dosyalar aşağıdaki ayarları kullanıma sunar:
SMB sürümleri: Hangi SMB sürümlerine izin verilir. Desteklenen protokol sürümleri SMB 3.1.1, SMB 3.0 ve SMB 2.1'dir. Varsayılan olarak, tüm SMB sürümlerine izin verilir, ancak "güvenli aktarım gerektir" etkinse SMB 2.1'e izin verilmez, çünkü SMB 2.1 aktarım sırasında şifrelemeyi desteklemez.
Kimlik doğrulama yöntemleri: Hangi SMB kimlik doğrulama yöntemlerine izin verilir. Desteklenen kimlik doğrulama yöntemleri NTLMv2 (yalnızca depolama hesabı anahtarı) ve Kerberos'tır. Varsayılan olarak, tüm kimlik doğrulama yöntemlerine izin verilir. NTLMv2'nin kaldırılması, Azure dosya paylaşımını bağlamak için depolama hesabı anahtarının kullanılmasına izin vermemektedir. Azure Dosyalar, etki alanı kimlik bilgileri için NTLM kimlik doğrulamasının kullanılmasını desteklemez.
Kerberos anahtar şifrelemesi: Hangi şifreleme algoritmalarına izin verilir. Desteklenen şifreleme algoritmaları AES-256 (önerilir) ve RC4-HMAC'tir.
SMB kanalı şifrelemesi: Hangi SMB kanalı şifreleme algoritmalarına izin verilir. Desteklenen şifreleme algoritmaları AES-256-GCM, AES-128-GCM ve AES-128-CCM'dir. Yalnızca AES-256-GCM'yi seçerseniz, her istemcide yönetici olarak bir PowerShell terminali açıp komutunu çalıştırarak Set-SmbClientConfiguration -EncryptionCiphers "AES_256_GCM" -Confirm:$falsebağlanan istemcilere bunu kullanmasını söylemeniz gerekir. AES-256-GCM kullanımı, Windows 11/Windows Server 2022'den eski Windows istemcilerinde desteklenmez.
Azure portalı, PowerShell veya CLI kullanarak SMB güvenlik ayarlarını görüntüleyebilir ve değiştirebilirsiniz. SMB güvenlik ayarlarını alma ve ayarlama adımlarını görmek için istediğiniz sekmeyi seçin.
Azure portalını kullanarak SMB güvenlik ayarlarını görüntülemek veya değiştirmek için şu adımları izleyin:
Depolama hesaplarını arayın ve güvenlik ayarlarını görüntülemek istediğiniz depolama hesabını seçin.
Veri depolama>Dosya paylaşımları'ı seçin.
Dosya paylaşımı ayarları'nın altında Güvenlik ile ilişkili değeri seçin. Güvenlik ayarlarını değiştirmediyseniz, bu değer varsayılan olarak En yüksek uyumluluk olur.
Profil'in altında En fazla uyumluluk, Maksimum güvenlik veya Özel'i seçin. Özel'i seçtiğinizde SMB protokolü sürümleri, SMB kanalı şifrelemesi, kimlik doğrulama mekanizmaları ve Kerberos anahtar şifrelemesi için özel bir profil oluşturabilirsiniz.
İstediğiniz güvenlik ayarlarını girdikten sonra Kaydet'i seçin.
SMB protokol ayarlarını almak için cmdlet'ini Get-AzStorageFileServiceProperty kullanın. ve <storage-account> değerlerini ortamınız için uygun değerlerle değiştirmeyi <resource-group> unutmayın. Örneğin SMB kanalı şifrelemesini devre dışı bırakarak SMB güvenlik ayarlarınızı bilerek null olarak ayarladıysanız betikteki belirli satırlara açıklama ekleme yönergelerine bakın.
$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)
}
}
}
Kuruluşunuzun güvenlik, performans ve uyumluluk gereksinimlerine bağlı olarak, SMB protokol ayarlarını değiştirmek isteyebilirsiniz. Aşağıdaki PowerShell komutu, SMB dosya paylaşımlarınızı yalnızca en güvenli seçeneklerle kısıtlar.
Önemli
SMB Azure dosya paylaşımlarının yalnızca en güvenli seçeneklerle kısıtlanması, bazı istemcilerin bağlanamamasına neden olabilir. Örneğin, AES-256-GCM, Windows Server 2022 ve Windows 11'den başlayarak SMB kanal şifrelemesi için bir seçenek olarak sunulmuştur. Bu, AES-256-GCM'yi desteklemeyen eski istemcilerin bağlanamayacağı anlamına gelir. Yalnızca AES-256-GCM'yi seçerseniz, Windows Server 2022 ve Windows 11 istemcilerine her istemcide bir PowerShell terminali yönetici olarak açıp komutunu çalıştırarak Set-SmbClientConfiguration -EncryptionCiphers "AES_256_GCM" -Confirm:$falseyalnızca AES-256-GCM kullanmalarını söylemeniz gerekir.
SMB güvenlik ayarlarının durumunu almak için komutunu kullanın az storage account file-service-properties show . Bu Bash komutlarını çalıştırmadan önce ve <storage-account> değerlerini ortamınız için uygun değerlerle değiştirmeyi <resource-group> unutmayın. Örneğin SMB kanalı şifrelemesini devre dışı bırakarak SMB güvenlik ayarlarınızı bilerek null olarak ayarladıysanız betikteki belirli satırlara açıklama ekleme yönergelerine bakın.
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
Kuruluşunuzun güvenlik, performans ve uyumluluk gereksinimlerine bağlı olarak, SMB protokol ayarlarını değiştirmek isteyebilirsiniz. Aşağıdaki Azure CLI komutu, SMB dosya paylaşımlarınızı yalnızca en güvenli seçeneklerle kısıtlar.
Önemli
SMB Azure dosya paylaşımlarının yalnızca en güvenli seçeneklerle kısıtlanması, bazı istemcilerin bağlanamamasına neden olabilir. Örneğin, AES-256-GCM, Windows Server 2022 ve Windows 11'den başlayarak SMB kanal şifrelemesi için bir seçenek olarak sunulmuştur. Bu, AES-256-GCM'yi desteklemeyen eski istemcilerin bağlanamayacağı anlamına gelir. Yalnızca AES-256-GCM'yi seçerseniz, Windows Server 2022 ve Windows 11 istemcilerine her istemcide bir PowerShell terminali yönetici olarak açıp komutunu çalıştırarak Set-SmbClientConfiguration -EncryptionCiphers "AES_256_GCM" -Confirm:$falseyalnızca AES-256-GCM kullanmalarını söylemeniz gerekir.
Azure Dosyalar'deki SMB dosya paylaşımları, SMB protokolü ve NTFS dosya sistemi tarafından desteklenen özelliklerin bir alt kümesini destekler. Çoğu kullanım örneği ve uygulama bu özellikleri gerektirmese de, bazı uygulamalar desteklenmeyen özelliklere bağlıysa Azure Dosyalar ile düzgün çalışmayabilir. Aşağıdaki özellikler desteklenmez:
SMB Azure dosya paylaşımları, tüm genel ve bağımsız bölgeler dahil olmak üzere her Azure bölgesinde kullanılabilir. Premium SMB dosya paylaşımları bölgelerin bir alt kümesinde kullanılabilir.