Şifreleme kapsamları tek bir blob veya kapsayıcı düzeyinde şifrelemeyi yönetmenizi sağlar. Aynı depolama hesabında bulunan ancak farklı müşterilere ait olan veriler arasında güvenli sınırlar oluşturmak için şifreleme kapsamlarını kullanabilirsiniz. Şifreleme kapsamları hakkında daha fazla bilgi için bkz . Blob depolama için şifreleme kapsamları.
Bu makalede şifreleme kapsamının nasıl oluşturulacağı gösterilmektedir. Ayrıca blob veya kapsayıcı oluştururken şifreleme kapsamının nasıl belirtileceğini de gösterir.
Şifreleme kapsamı oluşturma
Microsoft tarafından yönetilen bir anahtarla veya Azure Key Vault veya Azure Key Vault Yönetilen Donanım Güvenlik Modeli'nde (HSM) depolanan müşteri tarafından yönetilen bir anahtarla korunan bir şifreleme kapsamı oluşturabilirsiniz. Müşteri tarafından yönetilen bir anahtarla şifreleme kapsamı oluşturmak için önce bir anahtar kasası veya yönetilen HSM oluşturmanız ve kapsam için kullanmayı planladığınız anahtarı eklemeniz gerekir. Anahtar kasası veya yönetilen HSM'de temizleme koruması etkinleştirilmiş olmalı ve depolama hesabıyla aynı bölgede olmalıdır.
Bir şifreleme kapsamı oluşturduğunuzda otomatik olarak etkinleştirilir. Şifreleme kapsamını oluşturduktan sonra blob oluştururken belirtebilirsiniz. Kapsayıcı oluştururken, kapsayıcıdaki tüm bloblar için otomatik olarak geçerli olan varsayılan bir şifreleme kapsamı da belirtebilirsiniz.
Azure portal bir şifreleme kapsamı oluşturmak için şu adımları izleyin:
Azure portalda depolama hesabınıza gidin.
Şifreleme ayarını seçin.
Şifreleme Kapsamları sekmesini seçin.
Yeni bir şifreleme kapsamı eklemek için Ekle düğmesine tıklayın.
Şifreleme Kapsamı Oluştur bölmesinde yeni kapsam için bir ad girin.
Microsoft tarafından yönetilen anahtarlar veya Müşteri tarafından yönetilen anahtarlar gibi istenen şifreleme anahtarı desteğini seçin.
Microsoft tarafından yönetilen anahtarları seçtiyseniz, şifreleme kapsamını oluşturmak için Oluştur'a tıklayın.
Müşteri tarafından yönetilen anahtarlar'ı seçtiyseniz, bir abonelik seçin ve bu şifreleme kapsamı için kullanılacak bir anahtar kasası veya yönetilen HSM ve anahtar belirtin.
Depolama hesabı için altyapı şifrelemesi etkinleştirildiyse, yeni şifreleme kapsamı için otomatik olarak etkinleştirilir. Aksi takdirde, şifreleme kapsamı için altyapı şifrelemesinin etkinleştirilip etkinleştirilmeyeceğini seçebilirsiniz.
PowerShell ile şifreleme kapsamı oluşturmak için Az.Storage PowerShell modülünün 3.4.0 veya sonraki bir sürümünü yükleyin.
Microsoft tarafından yönetilen anahtarlar tarafından korunan bir şifreleme kapsamı oluşturma
Microsoft tarafından yönetilen anahtarlar tarafından korunan yeni bir şifreleme kapsamı oluşturmak için parametresiyle New-AzStorageEncryptionScope komutunu çağırın -StorageEncryption .
Depolama hesabı için altyapı şifrelemesi etkinleştirildiyse, yeni şifreleme kapsamı için otomatik olarak etkinleştirilir. Aksi takdirde, şifreleme kapsamı için altyapı şifrelemesinin etkinleştirilip etkinleştirilmeyeceğini seçebilirsiniz. Altyapı şifrelemesi etkinleştirilmiş yeni kapsamı oluşturmak için parametresini -RequireInfrastructureEncryption ekleyin.
Örnekteki yer tutucu değerlerini kendi değerlerinizle değiştirmeyi unutmayın:
Müşteri tarafından yönetilen anahtarlar tarafından korunan bir şifreleme kapsamı oluşturma
Bir anahtar kasasında veya yönetilen HSM'de depolanan müşteri tarafından yönetilen anahtarlarla korunan yeni bir şifreleme kapsamı oluşturmak için önce depolama hesabı için müşteri tarafından yönetilen anahtarları yapılandırın. Depolama hesabına bir yönetilen kimlik atamanız ve ardından yönetilen kimliği kullanarak anahtar kasasına veya yönetilen HSM'ye yönelik erişim ilkesini depolama hesabının erişim izinlerine sahip olması için yapılandırmanız gerekir.
Müşteri tarafından yönetilen anahtarları şifreleme kapsamıyla kullanmak üzere yapılandırmak için, anahtar kasasında veya yönetilen HSM'de temizleme koruması etkinleştirilmelidir. Anahtar kasası veya yönetilen HSM, depolama hesabıyla aynı bölgede olmalıdır.
Örnekteki yer tutucu değerlerini kendi değerlerinizle değiştirmeyi unutmayın:
$rgName = "<resource-group>"
$accountName = "<storage-account>"
$keyVaultName = "<key-vault>"
$keyUri = "<key-uri>"
$scopeName2 = "customer2scope"
# Assign a system managed identity to the storage account.
$storageAccount = Set-AzStorageAccount -ResourceGroupName $rgName `
-Name $accountName `
-AssignIdentity
# Configure the access policy for the key vault.
Set-AzKeyVaultAccessPolicy `
-VaultName $keyVaultName `
-ObjectId $storageAccount.Identity.PrincipalId `
-PermissionsToKeys wrapkey,unwrapkey,get
Ardından parametresiyle New-AzStorageEncryptionScope komutunu çağırın -KeyvaultEncryption ve anahtar URI'sini belirtin. Anahtar URI'sine anahtar sürümü dahil olmak isteğe bağlıdır. Anahtar sürümünü atlarsanız şifreleme kapsamı otomatik olarak en son anahtar sürümünü kullanır. Anahtar sürümünü eklerseniz, farklı bir sürüm kullanmak için anahtar sürümünü el ile güncelleştirmeniz gerekir.
Depolama hesabı için altyapı şifrelemesi etkinleştirildiyse, yeni şifreleme kapsamı için otomatik olarak etkinleştirilir. Aksi takdirde, şifreleme kapsamı için altyapı şifrelemesinin etkinleştirilip etkinleştirilmeyeceğini seçebilirsiniz. Altyapı şifrelemesi etkinleştirilmiş yeni kapsamı oluşturmak için parametresini -RequireInfrastructureEncryption ekleyin.
Örnekteki yer tutucu değerlerini kendi değerlerinizle değiştirmeyi unutmayın:
Azure CLI ile şifreleme kapsamı oluşturmak için önce Azure CLI 2.20.0 veya sonraki bir sürümünü yükleyin.
Microsoft tarafından yönetilen anahtarlar tarafından korunan bir şifreleme kapsamı oluşturma
Microsoft tarafından yönetilen anahtarlar tarafından korunan yeni bir şifreleme kapsamı oluşturmak için az storage account encryption-scope create komutunu çağırın ve parametresini --key-source olarak Microsoft.Storagebelirtin.
Depolama hesabı için altyapı şifrelemesi etkinleştirildiyse, yeni şifreleme kapsamı için otomatik olarak etkinleştirilir. Aksi takdirde, şifreleme kapsamı için altyapı şifrelemesinin etkinleştirilip etkinleştirilmeyeceğini seçebilirsiniz. Altyapı şifrelemesi etkinleştirilmiş yeni kapsamı oluşturmak için parametresini --require-infrastructure-encryption ekleyin ve değerini olarak trueayarlayın.
Yer tutucu değerlerini kendi değerlerinizle değiştirmeyi unutmayın:
Müşteri tarafından yönetilen anahtarlar tarafından korunan bir şifreleme kapsamı oluşturma
Bir anahtar kasasında veya yönetilen HSM'de müşteri tarafından yönetilen anahtarlarla korunan yeni bir şifreleme kapsamı oluşturmak için önce depolama hesabı için müşteri tarafından yönetilen anahtarları yapılandırın. Depolama hesabına bir yönetilen kimlik atamanız ve ardından yönetilen kimliği kullanarak anahtar kasasının erişim ilkesini depolama hesabının erişim izinlerine sahip olması için yapılandırmanız gerekir. Daha fazla bilgi için bkz. Azure Depolama şifrelemesi için müşteri tarafından yönetilen anahtarlar.
Müşteri tarafından yönetilen anahtarları şifreleme kapsamıyla kullanmak üzere yapılandırmak için, anahtar kasasında veya yönetilen HSM'de temizleme koruması etkinleştirilmelidir. Anahtar kasası veya yönetilen HSM, depolama hesabıyla aynı bölgede olmalıdır.
Örnekteki yer tutucu değerlerini kendi değerlerinizle değiştirmeyi unutmayın:
az login
az account set --subscription <subscription-id>
az storage account update \
--name <storage-account> \
--resource-group <resource_group> \
--assign-identity
storage_account_principal=$(az storage account show \
--name <storage-account> \
--resource-group <resource-group> \
--query identity.principalId \
--output tsv)
az keyvault set-policy \
--name <key-vault> \
--resource-group <resource_group> \
--object-id $storage_account_principal \
--key-permissions get unwrapKey wrapKey
Ardından parametresiyle az storage account encryption-scope komutunu çağırın --key-uri ve anahtar URI'sini belirtin. Anahtar URI'sine anahtar sürümü dahil olmak isteğe bağlıdır. Anahtar sürümünü atlarsanız şifreleme kapsamı otomatik olarak en son anahtar sürümünü kullanır. Anahtar sürümünü eklerseniz, farklı bir sürüm kullanmak için anahtar sürümünü el ile güncelleştirmeniz gerekir.
Depolama hesabı için altyapı şifrelemesi etkinleştirildiyse, yeni şifreleme kapsamı için otomatik olarak etkinleştirilir. Aksi takdirde, şifreleme kapsamı için altyapı şifrelemesinin etkinleştirilip etkinleştirilmeyeceğini seçebilirsiniz. Altyapı şifrelemesi etkinleştirilmiş yeni kapsamı oluşturmak için parametresini --require-infrastructure-encryption ekleyin ve değerini olarak trueayarlayın.
Örnekteki yer tutucu değerlerini kendi değerlerinizle değiştirmeyi unutmayın:
Anahtar kasasında veya yönetilen HSM'de müşteri tarafından yönetilen anahtarlarla Azure Depolama şifrelemesini yapılandırmayı öğrenmek için aşağıdaki makalelere bakın:
Azure portal bir depolama hesabının şifreleme kapsamlarını görüntülemek için depolama hesabının Şifreleme Kapsamları ayarına gidin. Bu bölmeden bir şifreleme kapsamını etkinleştirebilir veya devre dışı bırakabilir ya da şifreleme kapsamının anahtarını değiştirebilirsiniz.
Anahtar URI'si ve sürümü ve anahtar sürümünün otomatik olarak güncelleştirilip güncelleştirilmediği dahil olmak üzere müşteri tarafından yönetilen bir anahtarın ayrıntılarını görüntülemek için Anahtar sütunundaki bağlantıyı izleyin.
PowerShell ile bir depolama hesabında kullanılabilen şifreleme kapsamlarını listelemek için Get-AzStorageEncryptionScope komutunu çağırın . Örnekteki yer tutucu değerlerini kendi değerlerinizle değiştirmeyi unutmayın:
Azure CLI ile bir depolama hesabında kullanılabilen şifreleme kapsamlarını listelemek için az storage account encryption-scope list komutunu çağırın. Örnekteki yer tutucu değerlerini kendi değerlerinizle değiştirmeyi unutmayın:
az storage account encryption-scope list \
--account-name <storage-account> \
--resource-group <resource-group>
Varsayılan şifreleme kapsamına sahip kapsayıcı oluşturma
Kapsayıcı oluşturduğunuzda, varsayılan bir şifreleme kapsamı belirtebilirsiniz. Bu kapsayıcıdaki bloblar varsayılan olarak bu kapsamı kullanır.
Kapsayıcı tüm blobların varsayılan kapsamı kullanmasını gerektirecek şekilde yapılandırılmadığı sürece tek bir blob kendi şifreleme kapsamıyla oluşturulabilir. Daha fazla bilgi için bkz . Kapsayıcılar ve bloblar için şifreleme kapsamları.
Azure portal varsayılan şifreleme kapsamına sahip bir kapsayıcı oluşturmak için önce Şifreleme kapsamı oluşturma bölümünde açıklandığı gibi şifreleme kapsamını oluşturun. Ardından, kapsayıcıyı oluşturmak için şu adımları izleyin:
Depolama hesabınızdaki kapsayıcı listesine gidin ve Ekle düğmesini seçerek yeni bir kapsayıcı oluşturun.
Yeni Kapsayıcı bölmesinde Gelişmiş ayarlar'ı genişletin.
Şifreleme kapsamı açılan listesinde kapsayıcı için varsayılan şifreleme kapsamını seçin.
Kapsayıcıdaki tüm blobların varsayılan şifreleme kapsamını kullanmasını istemek için Kapsayıcıdaki tüm bloblar için bu şifreleme kapsamını kullan onay kutusunu seçin. Bu onay kutusu seçiliyse, kapsayıcıdaki tek bir blob varsayılan şifreleme kapsamını geçersiz kılamaz.
PowerShell ile varsayılan şifreleme kapsamına sahip bir kapsayıcı oluşturmak için New-AzStorageContainer komutunu çağırın ve parametresinin -DefaultEncryptionScope kapsamını belirtin. Kapsayıcıdaki tüm blobları kapsayıcının varsayılan kapsamını kullanmaya zorlamak için parametresini -PreventEncryptionScopeOverride olarak trueayarlayın.
$containerName1 = "container1"
$ctx = New-AzStorageContext -StorageAccountName $accountName -UseConnectedAccount
# Create a container with a default encryption scope that cannot be overridden.
New-AzStorageContainer -Name $containerName1 `
-Context $ctx `
-DefaultEncryptionScope $scopeName1 `
-PreventEncryptionScopeOverride $true
Azure CLI ile varsayılan şifreleme kapsamına sahip bir kapsayıcı oluşturmak için az storage container create komutunu çağırarak parametresinin --default-encryption-scope kapsamını belirtin. Kapsayıcıdaki tüm blobları kapsayıcının varsayılan kapsamını kullanmaya zorlamak için parametresini --prevent-encryption-scope-override olarak trueayarlayın.
İstemci blobu varsayılan şifreleme kapsamına sahip bir kapsayıcıya yüklerken kapsam belirtmeye çalışırsa ve kapsayıcı blobların varsayılan kapsamı geçersiz kılmasını engelleyecek şekilde yapılandırılmışsa, işlem isteğin kapsayıcı şifreleme ilkesi tarafından yasaklandığını belirten bir iletiyle başarısız olur.
Şifreleme kapsamına sahip bir blobu karşıya yükleme
Bir blobu karşıya yüklediğinizde, bu blob için bir şifreleme kapsamı belirtebilir veya belirtildiyse kapsayıcı için varsayılan şifreleme kapsamını kullanabilirsiniz.
Şifreleme kapsamına sahip yeni bir blob yüklediğinizde, bu blob için varsayılan erişim katmanını değiştiremezsiniz.
Azure portal aracılığıyla şifreleme kapsamına sahip bir blobu karşıya yüklemek için önce Şifreleme kapsamı oluşturma bölümünde açıklandığı gibi şifreleme kapsamını oluşturun. Ardından blobu oluşturmak için şu adımları izleyin:
Blobu karşıya yüklemek istediğiniz kapsayıcıya gidin.
Karşıya Yükle düğmesini seçin ve karşıya yüklenecek blobu bulun.
Blobu karşıya yükle bölmesinde Gelişmiş ayarlar'ı genişletin.
Şifreleme kapsamı açılan bölümünü bulun. Varsayılan olarak blob, belirtildiyse kapsayıcı için varsayılan şifreleme kapsamıyla oluşturulur. Kapsayıcı blobların varsayılan şifreleme kapsamını kullanmasını gerektiriyorsa, bu bölüm devre dışı bırakılır.
Karşıya yüklediğiniz blob için farklı bir kapsam belirtmek için Var olan bir kapsamı seçin'i ve ardından açılan listeden istediğiniz kapsamı seçin.
PowerShell aracılığıyla şifreleme kapsamına sahip bir blobu karşıya yüklemek için Set-AzStorageBlobContent komutunu çağırın ve blob için şifreleme kapsamını sağlayın.
$containerName2 = "container2"
$localSrcFile = "C:\temp\helloworld.txt"
$ctx = New-AzStorageContext -StorageAccountName $accountName -UseConnectedAccount
# Create a new container with no default scope defined.
New-AzStorageContainer -Name $containerName2 -Context $ctx
# Upload a block upload with an encryption scope specified.
Set-AzStorageBlobContent -Context $ctx `
-Container $containerName2 `
-File $localSrcFile `
-Blob "helloworld.txt" `
-BlobType Block `
-EncryptionScope $scopeName2
Azure CLI aracılığıyla şifreleme kapsamına sahip bir blobu karşıya yüklemek için az storage blob upload komutunu çağırın ve blob için şifreleme kapsamını sağlayın.
Azure Cloud Shell kullanıyorsanız kök dizinde dosya oluşturmak için Blob yükleme başlığında açıklanan adımları izleyin. Ardından aşağıdaki örneği kullanarak bu dosyayı bir bloba yükleyebilirsiniz.
Değiştirmek istediğiniz kapsamın yanındaki Diğer düğmesini seçin.
Şifreleme kapsamını düzenle bölmesinde, şifreleme türünü Microsoft tarafından yönetilen anahtardan müşteri tarafından yönetilen anahtara (veya tersine) değiştirebilirsiniz.
Müşteri tarafından yönetilen yeni bir anahtar seçmek için Yeni anahtar kullan'ı seçin ve anahtar kasasını, anahtarı ve anahtar sürümünü belirtin.
Şifreleme kapsamını müşteri tarafından yönetilen bir anahtardan PowerShell ile Microsoft tarafından yönetilen anahtara koruyan anahtarı değiştirmek için Update-AzStorageEncryptionScope komutunu çağırın ve parametresini -StorageEncryption geçirin:
Müşteri tarafından yönetilen bir anahtardan şifreleme kapsamını Azure CLI ile Microsoft tarafından yönetilen anahtara koruyan anahtarı değiştirmek için az storage account encryption-scope update komutunu çağırın ve parametresini değeriyle Microsoft.Storagegeçirin--key-source:
Bir şifreleme kapsamı devre dışı bırakıldığında, artık bunun için faturalandırılırsınız. Gereksiz ücretlerden kaçınmak için gerekli olmayan şifreleme kapsamlarını devre dışı bırakın. Daha fazla bilgi için bkz. Bekleyen veriler için Azure Depolama şifrelemesi.
Azure portal bir şifreleme kapsamını devre dışı bırakmak için depolama hesabının Şifreleme Kapsamları ayarına gidin, istenen şifreleme kapsamını seçin ve Devre dışı bırak'ı seçin.
PowerShell ile şifreleme kapsamını devre dışı bırakmak için Update-AzStorageEncryptionScope komutunu çağırın ve aşağıdaki örnekte gösterildiği gibi değerini içeren parametresini disabledekleyin-State. Şifreleme kapsamını yeniden etkinleştirmek için parametresi olarak ayarlanmış enabledşekilde aynı komutu çağırın-State. Örnekteki yer tutucu değerlerini kendi değerlerinizle değiştirmeyi unutmayın:
Azure CLI ile bir şifreleme kapsamını devre dışı bırakmak için az storage account encryption-scope update komutunu çağırın ve aşağıdaki örnekte gösterildiği gibi değerini Disablediçeren parametresini ekleyin--state. Şifreleme kapsamını yeniden etkinleştirmek için parametresi olarak ayarlanmış Enabledşekilde aynı komutu çağırın--state. Örnekteki yer tutucu değerlerini kendi değerlerinizle değiştirmeyi unutmayın:
Şifreleme kapsamını silmek mümkün değildir. Beklenmeyen maliyetlerden kaçınmak için, şu anda ihtiyacınız olmayan şifreleme kapsamlarını devre dışı bırakın.