Cakupan enkripsi memungkinkan Anda mengelola enkripsi pada tingkat blob atau kontainer tersendiri. Anda dapat menggunakan cakupan enkripsi untuk membuat batas aman antara data yang berada di akun penyimpanan yang sama, tetapi milik pelanggan yang berbeda. Untuk informasi selengkapnya tentang cakupan enkripsi, lihat Cakupan enkripsi untuk penyimpanan Blob.
Artikel ini memperlihatkan cara membuat cakupan enkripsi. Ini juga menunjukkan cara menentukan cakupan enkripsi saat Anda membuat blob atau kontainer.
Anda dapat membuat cakupan enkripsi yang dilindungi dengan kunci yang dikelola Microsoft atau dengan kunci yang dikelola pelanggan yang disimpan di Azure Key Vault atau dalam Model Keamanan Perangkat Keras Terkelola (HSM) Azure Key Vault. Untuk membuat cakupan enkripsi dengan kunci yang dikelola pelanggan, Anda harus terlebih dahulu membuat brankas kunci atau HSM terkelola dan menambahkan kunci yang ingin Anda gunakan untuk cakupan. Brankas kunci atau HSM terkelola harus memiliki perlindungan pembersihan diaktifkan.
Akun penyimpanan dan brankas kunci dapat berada di penyewa yang sama, atau di penyewa yang berbeda. Dalam kedua kasus, akun penyimpanan dan brankas kunci dapat berada di wilayah yang berbeda.
Cakupan enkripsi diaktifkan secara otomatis saat Anda membuatnya. Setelah membuat cakupan enkripsi, Anda dapat menentukannya saat membuat blob. Anda juga dapat menentukan cakupan enkripsi default saat membuat kontainer, yang secara otomatis berlaku untuk semua blob dalam kontainer.
Saat mengonfigurasi cakupan enkripsi, Anda ditagih selama minimal satu bulan (30 hari). Setelah bulan pertama, biaya untuk cakupan enkripsi diproratakan setiap jam. Untuk informasi selengkapnya, lihat Penagihan untuk cakupan enkripsi.
Untuk membuat cakupan enkripsi di portal Microsoft Azure, ikuti langkah-langkah berikut:
Navigasikan ke akun penyimpanan Anda di portal Microsoft Azure.
Di bawah Keamanan + jaringan pilih Enkripsi.
Pilih tab Cakupan Enkripsi .
Klik tombol Tambahkan untuk menambahkan cakupan enkripsi baru.
Di panel Buat Cakupan Enkripsi , masukkan nama untuk cakupan baru.
Pilih jenis dukungan kunci enkripsi yang diinginkan, baik kunci yang dikelola Microsoft atau kunci yang dikelola pelanggan.
- Jika Anda memilih kunci yang dikelola Microsoft, klik Buat untuk membuat cakupan enkripsi.
- Jika Anda memilih Kunci yang dikelola pelanggan, pilih langganan dan tentukan brankas kunci dan kunci yang akan digunakan untuk cakupan enkripsi ini. Jika brankas kunci yang diinginkan berada di wilayah yang berbeda, pilih Masukkan URI kunci dan tentukan URI kunci.
Jika enkripsi infrastruktur diaktifkan untuk akun penyimpanan, maka enkripsi tersebut akan diaktifkan secara otomatis untuk cakupan enkripsi baru. Sebagai alternatif, Anda dapat memilih apakah akan mengaktifkan enkripsi infrastruktur untuk cakupan enkripsi.
Untuk membuat cakupan enkripsi dengan PowerShell, instal modul Az.Storage PowerShell, versi 3.4.0 atau yang lebih baru.
Membuat cakupan enkripsi yang dilindungi oleh kunci yang dikelola Microsoft
Untuk membuat cakupan enkripsi yang dilindungi oleh kunci yang dikelola Microsoft, panggil perintah New-AzStorageEncryptionScope dengan -StorageEncryption
parameter .
Jika enkripsi infrastruktur diaktifkan untuk akun penyimpanan, maka enkripsi tersebut akan diaktifkan secara otomatis untuk cakupan enkripsi baru. Sebagai alternatif, Anda dapat memilih apakah akan mengaktifkan enkripsi infrastruktur untuk cakupan enkripsi. Untuk membuat cakupan baru dengan enkripsi infrastruktur diaktifkan, sertakan -RequireInfrastructureEncryption
parameter .
Ingatlah untuk mengganti nilai placeholder dalam contoh dengan nilai Anda sendiri.
$rgName = "<resource-group>"
$accountName = "<storage-account>"
$scopeName = "<encryption-scope>"
New-AzStorageEncryptionScope -ResourceGroupName $rgName `
-StorageAccountName $accountName `
-EncryptionScopeName $scopeName1 `
-StorageEncryption
Membuat cakupan enkripsi yang dilindungi oleh kunci yang dikelola pelanggan di penyewa yang sama
Untuk membuat cakupan enkripsi yang dilindungi oleh kunci yang dikelola pelanggan yang disimpan dalam brankas kunci atau HSM terkelola yang berada di penyewa yang sama dengan akun penyimpanan, pertama-tama konfigurasikan kunci yang dikelola pelanggan untuk akun penyimpanan. Anda harus menetapkan identitas terkelola ke akun penyimpanan yang memiliki izin untuk mengakses brankas kunci. Identitas terkelola dapat berupa identitas terkelola yang ditetapkan pengguna atau identitas terkelola yang ditetapkan sistem. Untuk mempelajari selengkapnya tentang mengonfigurasi kunci yang dikelola pelanggan, lihat Mengonfigurasi kunci yang dikelola pelanggan di penyewa yang sama untuk akun penyimpanan yang ada.
Untuk memberikan izin identitas terkelola untuk mengakses brankas kunci, tetapkan peran Pengguna Enkripsi Layanan Kripto Key Vault kepada identitas terkelola.
Untuk mengonfigurasi kunci yang dikelola pelanggan agar dapat digunakan dengan cakupan enkripsi, perlindungan penghapusan harus diaktifkan pada brankas kunci atau HSM terkelola.
Contoh berikut menunjukkan cara mengonfigurasi cakupan enkripsi dengan identitas terkelola yang ditetapkan sistem. Ingatlah untuk mengganti nilai placeholder dalam contoh dengan nilai Anda sendiri.
$rgName = "<resource-group>"
$accountName = "<storage-account>"
$keyVaultName = "<key-vault>"
$scopeName = "<encryption-scope>"
# Assign a system-assigned managed identity to the storage account.
$storageAccount = Set-AzStorageAccount -ResourceGroupName $rgName `
-Name $accountName `
-AssignIdentity
# Assign the necessary permissions to the managed identity
# so that it can access the key vault.
$principalId = $storageAccount.Identity.PrincipalId
$keyVault = Get-AzKeyVault $keyVaultName
New-AzRoleAssignment -ObjectId $storageAccount.Identity.PrincipalId `
-RoleDefinitionName "Key Vault Crypto Service Encryption User" `
-Scope $keyVault.ResourceId
Selanjutnya, panggil perintah New-AzStorageEncryptionScope dengan -KeyvaultEncryption
parameter , dan tentukan URI kunci. Menyertakan versi kunci pada URI kunci bersifat opsional. Jika Anda menghilangkan versi kunci, maka cakupan enkripsi akan secara otomatis menggunakan versi kunci terbaru. Jika Anda menyertakan versi kunci, maka Anda harus memperbarui versi kunci secara manual untuk menggunakan versi yang berbeda.
Format URI kunci mirip dengan contoh berikut dan dapat dibangun dari properti VaultUri brankas kunci dan nama kunci:
# Without the key version
https://<key-vault>.vault.azure.net/keys/<key>
# With the key version
https://<key-vault>.vault.azure.net/keys/<key>/<version>
Jika enkripsi infrastruktur diaktifkan untuk akun penyimpanan, maka enkripsi tersebut akan diaktifkan secara otomatis untuk cakupan enkripsi baru. Sebagai alternatif, Anda dapat memilih apakah akan mengaktifkan enkripsi infrastruktur untuk cakupan enkripsi. Untuk membuat cakupan baru dengan enkripsi infrastruktur diaktifkan, sertakan -RequireInfrastructureEncryption
parameter .
Ingatlah untuk mengganti nilai placeholder dalam contoh dengan nilai Anda sendiri.
$keyUri = $keyVault.VaultUri + "keys/" + $keyName
New-AzStorageEncryptionScope -ResourceGroupName $rgName `
-StorageAccountName $accountName `
-EncryptionScopeName $scopeName `
-KeyUri $keyUri `
-KeyvaultEncryption
Membuat cakupan enkripsi yang dilindungi oleh kunci yang dikelola oleh pelanggan di tenant yang berbeda
Untuk membuat cakupan enkripsi yang dilindungi oleh kunci yang dikelola pelanggan dan disimpan dalam brankas kunci atau HSM terkelola yang berada di penyewa berbeda dari akun penyimpanan, pertama-tama konfigurasikan kunci tersebut untuk akun penyimpanan. Anda harus mengonfigurasi identitas terkelola yang ditetapkan pengguna untuk akun penyimpanan yang memiliki izin untuk mengakses brankas kunci di penyewa lain. Untuk mempelajari selengkapnya tentang mengonfigurasi kunci yang dikelola pelanggan lintas penyewa, lihat Mengonfigurasi kunci lintas penyewa yang dikelola pelanggan untuk akun penyimpanan yang ada.
Untuk mengonfigurasi kunci yang dikelola pelanggan agar dapat digunakan dengan cakupan enkripsi, perlindungan penghapusan harus diaktifkan pada brankas kunci atau HSM terkelola.
Setelah mengonfigurasi kunci yang dikelola pelanggan lintas penyewa untuk akun penyimpanan, Anda dapat membuat cakupan enkripsi pada akun penyimpanan dalam satu penyewa yang dilingkup ke kunci di brankas kunci di penyewa lain. Anda akan memerlukan URI kunci untuk membuat cakupan enkripsi lintas penyewa.
Ingatlah untuk mengganti nilai placeholder dalam contoh dengan nilai Anda sendiri.
$rgName = "<resource-group>"
$accountName = "<storage-account>"
$scopeName = "<encryption-scope>"
# Construct the key URI from the key vault URI and key name.
$keyUri = $kvUri + "keys/" + $keyName
New-AzStorageEncryptionScope -ResourceGroupName $rgName `
-StorageAccountName $accountName `
-EncryptionScopeName $scopeName `
-KeyUri $keyUri `
-KeyvaultEncryption
Untuk membuat cakupan enkripsi dengan Azure CLI, pertama-tama instal Azure CLI versi 2.20.0 atau yang lebih baru.
Membuat cakupan enkripsi yang dilindungi oleh kunci yang dikelola Microsoft
Untuk membuat cakupan enkripsi yang dilindungi oleh kunci yang dikelola Microsoft, panggil perintah az storage account encryption-scope create , menentukan --key-source
parameter sebagai Microsoft.Storage
.
Jika enkripsi infrastruktur diaktifkan untuk akun penyimpanan, maka enkripsi tersebut akan diaktifkan secara otomatis untuk cakupan enkripsi baru. Sebagai alternatif, Anda dapat memilih apakah akan mengaktifkan enkripsi infrastruktur untuk cakupan enkripsi. Untuk membuat cakupan baru dengan enkripsi infrastruktur diaktifkan, sertakan --require-infrastructure-encryption
parameter dan atur nilainya ke true
.
Ingatlah untuk mengganti nilai bawaan dengan nilai Anda sendiri.
az storage account encryption-scope create \
--resource-group <resource-group> \
--account-name <storage-account> \
--name <encryption-scope> \
--key-source Microsoft.Storage
Membuat cakupan enkripsi yang dilindungi oleh kunci yang dikelola pelanggan di penyewa yang sama
Untuk membuat cakupan enkripsi yang dilindungi oleh kunci yang dikelola pelanggan yang disimpan dalam brankas kunci atau HSM terkelola yang berada di penyewa yang sama dengan akun penyimpanan, pertama-tama konfigurasikan kunci yang dikelola pelanggan untuk akun penyimpanan. Anda harus menetapkan identitas terkelola ke akun penyimpanan yang memiliki izin untuk mengakses brankas kunci. Identitas terkelola dapat berupa identitas terkelola yang ditetapkan pengguna atau identitas terkelola yang ditetapkan sistem. Untuk mempelajari selengkapnya tentang mengonfigurasi kunci yang dikelola pelanggan, lihat Mengonfigurasi kunci yang dikelola pelanggan di penyewa yang sama untuk akun penyimpanan yang ada.
Untuk memberikan izin identitas terkelola untuk mengakses brankas kunci, tetapkan peran Pengguna Enkripsi Layanan Kripto Key Vault kepada identitas terkelola.
Untuk mengonfigurasi kunci yang dikelola pelanggan agar dapat digunakan dengan cakupan enkripsi, perlindungan penghapusan harus diaktifkan pada brankas kunci atau HSM terkelola.
Contoh berikut menunjukkan cara mengonfigurasi cakupan enkripsi dengan identitas terkelola yang ditetapkan sistem. Ingatlah untuk mengganti nilai placeholder dalam contoh dengan nilai Anda sendiri.
az storage account update \
--name <storage-account> \
--resource-group <resource_group> \
--assign-identity
principalId=$(az storage account show --name <storage-account> \
--resource-group <resource_group> \
--query identity.principalId \
--output tsv)
$kvResourceId=$(az keyvault show \
--resource-group <resource-group> \
--name <key-vault> \
--query id \
--output tsv)
az role assignment create --assignee-object-id $principalId \
--role "Key Vault Crypto Service Encryption User" \
--scope $kvResourceId
Selanjutnya, panggil perintah az storage account encryption-scope dengan --key-uri
parameter , dan tentukan URI kunci. Menyertakan versi kunci pada URI kunci bersifat opsional. Jika Anda menghilangkan versi kunci, maka cakupan enkripsi akan secara otomatis menggunakan versi kunci terbaru. Jika Anda menyertakan versi kunci, maka Anda harus memperbarui versi kunci secara manual untuk menggunakan versi yang berbeda.
Format URI kunci mirip dengan contoh berikut dan dapat dibangun dari properti brankas kunci vaultUri dan nama kunci.
# Without the key version
https://<key-vault>.vault.azure.net/keys/<key>
# With the key version
https://<key-vault>.vault.azure.net/keys/<key>/<version>
Jika enkripsi infrastruktur diaktifkan untuk akun penyimpanan, maka enkripsi tersebut akan diaktifkan secara otomatis untuk cakupan enkripsi baru. Sebagai alternatif, Anda dapat memilih apakah akan mengaktifkan enkripsi infrastruktur untuk cakupan enkripsi. Untuk membuat cakupan baru dengan enkripsi infrastruktur diaktifkan, sertakan --require-infrastructure-encryption
parameter dan atur nilainya ke true
.
Ingatlah untuk mengganti nilai placeholder dalam contoh dengan nilai Anda sendiri.
az storage account encryption-scope create \
--resource-group <resource-group> \
--account-name <storage-account> \
--name <encryption-scope> \
--key-source Microsoft.KeyVault \
--key-uri <key-uri>
Membuat cakupan enkripsi yang dilindungi oleh kunci yang dikelola oleh pelanggan di tenant yang berbeda
Untuk membuat cakupan enkripsi yang dilindungi oleh kunci yang dikelola pelanggan dan disimpan dalam brankas kunci atau HSM terkelola yang berada di penyewa berbeda dari akun penyimpanan, pertama-tama konfigurasikan kunci tersebut untuk akun penyimpanan. Anda harus mengonfigurasi identitas terkelola yang ditetapkan pengguna untuk akun penyimpanan yang memiliki izin untuk mengakses brankas kunci di penyewa lain. Untuk mempelajari selengkapnya tentang mengonfigurasi kunci yang dikelola pelanggan lintas penyewa, lihat Mengonfigurasi kunci lintas penyewa yang dikelola pelanggan untuk akun penyimpanan yang ada.
Untuk mengonfigurasi kunci yang dikelola pelanggan agar dapat digunakan dengan cakupan enkripsi, perlindungan penghapusan harus diaktifkan pada brankas kunci atau HSM terkelola.
Setelah mengonfigurasi kunci yang dikelola pelanggan lintas penyewa untuk akun penyimpanan, Anda dapat membuat cakupan enkripsi pada akun penyimpanan dalam satu penyewa yang dilingkup ke kunci di brankas kunci di penyewa lain. Anda akan memerlukan URI kunci untuk membuat cakupan enkripsi lintas penyewa.
Ingatlah untuk mengganti nilai placeholder dalam contoh dengan nilai Anda sendiri.
az storage account encryption-scope create \
--resource-group <resource-group> \
--account-name <storage-account> \
--name <encryption-scope> \
--key-source Microsoft.KeyVault \
--key-uri <key-uri>
Untuk melihat cakupan enkripsi untuk akun penyimpanan di portal Microsoft Azure, navigasikan ke pengaturan Cakupan Enkripsi untuk akun penyimpanan. Dari panel ini, Anda dapat mengaktifkan atau menonaktifkan cakupan enkripsi atau mengubah kunci untuk cakupan enkripsi.
Untuk melihat detail kunci yang dikelola pelanggan, termasuk URI kunci dan versi dan apakah versi kunci diperbarui secara otomatis, ikuti tautan di kolom Kunci .
Untuk mencantumkan cakupan enkripsi yang tersedia untuk akun penyimpanan dengan PowerShell, panggil perintah Get-AzStorageEncryptionScope . Ingatlah untuk mengganti nilai placeholder dalam contoh dengan nilai Anda sendiri.
Get-AzStorageEncryptionScope -ResourceGroupName $rgName `
-StorageAccountName $accountName
Untuk mencantumkan semua cakupan enkripsi dalam grup sumber daya menurut akun penyimpanan, gunakan sintaks alur:
Get-AzStorageAccount -ResourceGroupName $rgName | Get-AzStorageEncryptionScope
Untuk mencantumkan cakupan enkripsi yang tersedia untuk akun penyimpanan dengan Azure CLI, panggil perintah az storage account encryption-scope list . Ingatlah untuk mengganti nilai placeholder dalam contoh dengan nilai Anda sendiri.
az storage account encryption-scope list \
--account-name <storage-account> \
--resource-group <resource-group>
Saat membuat kontainer, Anda dapat menentukan cakupan enkripsi default. Blob dalam kontainer tersebut akan menggunakan cakupan tersebut secara default.
Blob individual dapat dibuat dengan cakupan enkripsinya sendiri, kecuali kontainer dikonfigurasi untuk mengharuskan semua blob menggunakan cakupan default. Untuk informasi selengkapnya, lihat Cakupan enkripsi untuk kontainer dan blob.
Untuk membuat kontainer dengan cakupan enkripsi default di portal Microsoft Azure, pertama-tama buat cakupan enkripsi seperti yang dijelaskan dalam Membuat cakupan enkripsi. Selanjutnya, ikuti langkah-langkah berikut untuk membuat kontainer:
Navigasi ke daftar kontainer di akun penyimpanan Anda, dan pilih tombol Tambahkan untuk membuat kontainer.
Perluas pengaturan Tingkat Lanjut di panel Kontainer Baru .
Di menu drop-down Cakupan enkripsi , pilih cakupan enkripsi default untuk kontainer.
Untuk mengharuskan semua blob dalam kontainer menggunakan cakupan enkripsi default, pilih kotak centang untuk Menggunakan cakupan enkripsi ini untuk semua blob dalam kontainer. Jika kotak centang ini dipilih, maka blob individual dalam kontainer tidak dapat mengambil alih cakupan enkripsi default.
Untuk membuat kontainer dengan cakupan enkripsi default dengan PowerShell, panggil perintah New-AzStorageContainer , yang menentukan cakupan untuk -DefaultEncryptionScope
parameter . Untuk memaksa semua blob dalam kontainer menggunakan cakupan default kontainer, atur -PreventEncryptionScopeOverride
parameter ke true
.
$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
Untuk membuat kontainer dengan cakupan enkripsi default dengan Azure CLI, panggil perintah az storage container create , menentukan cakupan untuk --default-encryption-scope
parameter . Untuk memaksa semua blob dalam kontainer menggunakan cakupan default kontainer, atur --prevent-encryption-scope-override
parameter ke true
.
Contoh berikut menggunakan akun Microsoft Entra Anda untuk mengotorisasi operasi untuk membuat kontainer. Anda juga dapat menggunakan kunci akses akun. Untuk informasi selengkapnya, lihat Mengizinkan akses ke data blob atau antrean dengan Azure CLI.
az storage container create \
--account-name <storage-account> \
--resource-group <resource-group> \
--name <container> \
--default-encryption-scope <encryption-scope> \
--prevent-encryption-scope-override true \
--auth-mode login
Jika klien mencoba menentukan cakupan saat mengunggah blob ke kontainer yang memiliki cakupan enkripsi default dan kontainer dikonfigurasi untuk mencegah blob mengambil alih cakupan default, maka operasi gagal dengan pesan yang menunjukkan bahwa permintaan dilarang oleh kebijakan enkripsi kontainer.
Saat mengunggah blob, Anda dapat menentukan cakupan enkripsi untuk blob tersebut, atau menggunakan cakupan enkripsi default untuk kontainer, jika telah ditentukan.
Untuk mengubah kunci yang melindungi cakupan di portal Microsoft Azure, ikuti langkah-langkah berikut:
- Navigasi ke tab Cakupan Enkripsi untuk melihat daftar cakupan enkripsi untuk akun penyimpanan.
- Pilih tombol Lainnya di samping cakupan yang ingin Anda ubah.
- Di panel Edit cakupan enkripsi , Anda dapat mengubah jenis enkripsi dari kunci yang dikelola Microsoft menjadi kunci yang dikelola pelanggan atau sebaliknya.
- Untuk memilih kunci baru yang dikelola pelanggan, pilih Gunakan kunci baru dan tentukan brankas kunci, kunci, dan versi kunci.
Untuk mengubah kunci yang melindungi cakupan enkripsi dari kunci yang dikelola pelanggan ke kunci yang dikelola Microsoft dengan PowerShell, panggil perintah Update-AzStorageEncryptionScope dan teruskan -StorageEncryption
parameter:
Update-AzStorageEncryptionScope -ResourceGroupName $rgName `
-StorageAccountName $accountName `
-EncryptionScopeName $scopeName2 `
-StorageEncryption
Selanjutnya, panggil perintah Update-AzStorageEncryptionScope dan masukkan parameter -KeyUri
dan -KeyvaultEncryption
.
Update-AzStorageEncryptionScope -ResourceGroupName $rgName `
-StorageAccountName $accountName `
-EncryptionScopeName $scopeName1 `
-KeyUri $keyUri `
-KeyvaultEncryption
Untuk mengubah kunci yang melindungi cakupan enkripsi dari kunci yang dikelola pelanggan ke kunci yang dikelola Microsoft dengan Azure CLI, panggil perintah az storage account encryption-scope update dan teruskan --key-source
parameter dengan nilai Microsoft.Storage
:
az storage account encryption-scope update \
--account-name <storage-account> \
--resource-group <resource-group>
--name <encryption-scope> \
--key-source Microsoft.Storage
Selanjutnya, panggil perintah az storage account encryption-scope update, masukkan parameter --key-uri
, dan berikan parameter --key-source
dengan nilai Microsoft.KeyVault
.
az storage account encryption-scope update \
--resource-group <resource-group> \
--account-name <storage-account> \
--name <encryption-scope> \
--key-source Microsoft.KeyVault \
--key-uri <key-uri>
Nonaktifkan cakupan enkripsi apa pun yang tidak diperlukan untuk menghindari biaya yang tidak perlu. Untuk informasi selengkapnya, lihat Penagihan untuk cakupan enkripsi.