Mengonfigurasi enkripsi dengan kunci yang dikelola pelanggan yang disimpan di Azure Key Vault Managed HSM

Azure Storage mengenkripsi semua data dalam akun penyimpanan saat tidak aktif. Secara default, data dienkripsi dengan kunci yang dikelola Microsoft. Untuk kontrol tambahan atas kunci enkripsi, Anda dapat mengelola kunci Anda sendiri. Kunci yang dikelola pelanggan harus disimpan di Azure Key Vault atau Key Vault Managed Hardware Security Model (HSM). Azure Key Vault Managed HSM adalah HSM tervalidasi FIPS 140-2 Level 3.

Artikel ini menunjukkan cara mengonfigurasi enkripsi dengan kunci yang dikelola pelanggan yang disimpan dalam HSM terkelola dengan menggunakan Azure CLI. Untuk mempelajari cara mengonfigurasi enkripsi dengan kunci yang dikelola pelanggan dalam brankas kunci, lihat Mengonfigurasi enkripsi dengan kunci yang dikelola pelanggan yang disimpan di Azure Key Vault.

Catatan

Azure Key Vault dan Azure Key Vault Managed HSM mendukung API dan antarmuka manajemen yang sama untuk konfigurasi.

Menetapkan identitas ke akun penyimpanan

Pertama, tetapkan identitas terkelola yang ditetapkan sistem ke akun penyimpanan. Anda akan menggunakan identitas terkelola ini untuk memberikan izin akun penyimpanan untuk mengakses HSM terkelola. Untuk informasi selengkapnya tentang identitas terkelola yang ditetapkan sistem, lihat Apa itu identitas terkelola untuk sumber daya Azure?.

Untuk menetapkan identitas terkelola menggunakan Azure CLI, panggil az storage account update. Ingatlah untuk mengganti nilai tempat penampung dalam tanda kurung dengan nilai Anda sendiri:

az storage account update \
    --name <storage-account> \
    --resource-group <resource_group> \
    --assign-identity

Menetapkan peran ke akun penyimpanan untuk akses ke HSM terkelola

Selanjutnya, tetapkan peran Pengguna Enkripsi Layanan Kripto HSM Terkelola ke identitas terkelola akun penyimpanan agar akun penyimpanan memiliki izin ke HSM terkelola. Microsoft merekomendasikan agar Anda mencakup penetapan peran ke tingkat kunci individu untuk memberikan hak istimewa sesedikit mungkin ke identitas terkelola.

Untuk membuat penetapan peran untuk akun penyimpanan, panggil az key vault role assignment create. Ingatlah untuk mengganti nilai tempat penampung dalam tanda kurung dengan nilai Anda sendiri.

storage_account_principal = $(az storage account show \
    --name <storage-account> \
    --resource-group <resource-group> \
    --query identity.principalId \
    --output tsv)

az keyvault role assignment create \
    --hsm-name <hsm-name> \
    --role "Managed HSM Crypto Service Encryption User" \
    --assignee $storage_account_principal \
    --scope /keys/<key-name>

Mengonfigurasi enkripsi dengan kunci di HSM terkelola

Terakhir, konfigurasikan enkripsi Azure Storage dengan kunci yang dikelola pelanggan untuk menggunakan kunci yang disimpan di HSM terkelola. Jenis kunci yang didukung mencakup kunci RSA-HSM dengan ukuran 2048, 3072, dan 4096. Untuk mempelajari cara membuat kunci di HSM terkelola, lihat Membuat kunci HSM.

Instal Azure CLI 2.12.0 atau yang lebih baru untuk mengonfigurasi enkripsi untuk menggunakan kunci yang dikelola pelanggan di HSM terkelola. Untuk informasi selengkapnya, lihat Menginstal Azure CLI.

Untuk memperbarui versi kunci secara otomatis untuk kunci yang dikelola pelanggan, hilangkan versi kunci saat Anda mengonfigurasi enkripsi dengan kunci yang dikelola pelanggan untuk akun penyimpanan. Untuk informasi selengkapnya tentang mengonfigurasi enkripsi untuk rotasi kunci otomatis, lihat Memperbarui versi kunci.

Berikutnya, panggil az storage account update untuk memperbarui pengaturan enkripsi akun penyimpanan, seperti yang ditunjukkan pada contoh berikut. Sertakan --encryption-key-source parameter dan atur ke Microsoft.Keyvault untuk mengaktifkan kunci yang dikelola pelanggan untuk akun tersebut. Ingatlah untuk mengganti nilai tempat penampung dalam tanda kurung dengan nilai Anda sendiri.

hsmurl = $(az keyvault show \
    --hsm-name <hsm-name> \
    --query properties.hsmUri \
    --output tsv)

az storage account update \
    --name <storage-account> \
    --resource-group <resource_group> \
    --encryption-key-name <key> \
    --encryption-key-source Microsoft.Keyvault \
    --encryption-key-vault $hsmurl

Untuk memperbarui versi secara manual untuk kunci yang dikelola pelanggan, sertakan versi kunci saat Anda mengonfigurasi enkripsi untuk akun penyimpanan:

az storage account update
    --name <storage-account> \
    --resource-group <resource_group> \
    --encryption-key-name <key> \
    --encryption-key-version $key_version \
    --encryption-key-source Microsoft.Keyvault \
    --encryption-key-vault $hsmurl

Saat memperbarui versi kunci secara manual, Anda harus memperbarui pengaturan enkripsi akun penyimpanan untuk menggunakan versi baru. Pertama, kueri untuk URI brankas kunci dengan memanggil az keyvault show, dan untuk versi kunci dengan memanggil az keyvault key list-versions. Kemudian panggil az storage account update untuk memperbarui pengaturan enkripsi akun penyimpanan untuk menggunakan versi kunci baru seperti yang ditunjukkan pada contoh sebelumnya.

Langkah berikutnya