Mengonfigurasi rotasi otomatis kunci di Azure Key Vault
Gambaran Umum
Rotasi kunci di Key Vault memungkinkan pengguna mengonfigurasi Key Vault untuk membuat versi kunci baru secara otomatis pada frekuensi yang ditentukan. Untuk informasi selengkapnya tentang bagaimana kunci diversikan, lihat Objek, pengidentifikasi, dan penerapan versi Key Vault.
Anda dapat menggunakan kebijakan rotasi guna mengonfigurasi rotasi untuk masing-masing kunci. Sebaiknya Anda merotasi kunci enkripsi setidaknya setiap dua tahun untuk memenuhi praktik terbaik kriptografi.
Fitur ini memungkinkan rotasi tanpa sentuhan ujung ke ujung untuk enkripsi saat tidak aktif untuk layanan Azure dengan kunci yang dikelola pelanggan (CMK) yang disimpan di Azure Key Vault. Lihat dokumentasi layanan Azure tertentu untuk mengetahui apakah layanan mencakup rotasi ujung ke ujung.
Untuk informasi selengkapnya tentang enkripsi data di Azure, lihat:
Harga
Ada biaya tambahan per rotasi kunci terjadwal. Untuk informasi selengkapnya, lihat halaman harga Azure Key Vault
Izin yang diperlukan
Fitur rotasi kunci Key Vault memerlukan izin pengelolaan kunci. Anda dapat menetapkan peran "Petugas Kripto Key Vault" untuk mengelola kebijakan rotasi dan rotasi sesuai permintaan.
Untuk informasi selengkapnya tentang cara menggunakan model izin RBAC Key Vault dan menetapkan peran Azure, lihat: Menggunakan Azure RBAC untuk mengontrol akses ke kunci, sertifikat, dan rahasia
Catatan
Jika menggunakan model izin kebijakan akses, Anda perlu menetapkan izin kunci 'Putar', 'Tetapkan Kebijakan Rotasi', dan 'Dapatkan Kebijakan Rotasi' untuk mengelola kebijakan rotasi pada kunci.
Kebijakan rotasi kunci
Kebijakan rotasi kunci memungkinkan pengguna untuk mengonfigurasi rotasi dan pemberitahuan Event Grid mendekati pemberitahuan kedaluwarsa.
Pengaturan kebijakan rotasi kunci:
- Waktu kedaluwarsa: interval kedaluwarsa kunci. Hal ini digunakan untuk mengatur tanggal kedaluwarsa pada kunci yang baru diputar. Hal ini tidak memengaruhi kunci saat ini.
- Diaktifkan/dinonaktifkan: tandai untuk mengaktifkan atau menonaktifkan rotasi kunci
- Jenis rotasi:
- Secara otomatis memperbarui pada waktu tertentu sebelum kedaluwarsa (default)
- Secara otomatis memperbarui pada waktu tertentu sebelum kedaluwarsa. Hal ini membutuhkan 'Waktu Kedaluwarsa' ditetapkan pada kebijakan rotasi dan 'Tanggal Kedaluwarsa' ditetapkan pada kunci.
- Waktu rotasi: interval rotasi kunci, nilai minimumnya adalah tujuh hari sejak pembuatan dan tujuh hari dari waktu kedaluwarsa
- Waktu pemberitahuan: interval peristiwa kunci yang hampir kedaluwarsa untuk pemberitahuan kisi peristiwa. Hal ini membutuhkan 'Waktu Kedaluwarsa' ditetapkan pada kebijakan rotasi dan 'Tanggal Kedaluwarsa' ditetapkan pada kunci.
Penting
Rotasi kunci menghasilkan versi kunci baru dari kunci yang ada dengan materi kunci baru. Layanan target harus menggunakan uri kunci tanpa versi untuk secara otomatis merefresh ke versi kunci terbaru. Pastikan bahwa solusi enkripsi data Anda menyimpan uri kunci berversi dengan data yang mengarahkan ke materi kunci yang sama untuk membungkus/membongkar seperti yang digunakan untuk operasi enkripsi/membungkus guna menghindari gangguan pada layanan Anda. Semua layanan Azure saat ini mengikuti pola tersebut untuk enkripsi data.
Mengonfigurasi kebijakan rotasi kunci
Konfigurasikan kebijakan rotasi kunci selama pembuatan kunci.
Konfigurasikan kebijakan rotasi pada kunci yang ada.
Azure CLI
Simpan kebijakan rotasi kunci ke file. Contoh kebijakan rotasi kunci:
{
"lifetimeActions": [
{
"trigger": {
"timeAfterCreate": "P18M",
"timeBeforeExpiry": null
},
"action": {
"type": "Rotate"
}
},
{
"trigger": {
"timeBeforeExpiry": "P30D"
},
"action": {
"type": "Notify"
}
}
],
"attributes": {
"expiryTime": "P2Y"
}
}
Atur kebijakan rotasi pada kunci yang meneruskan file yang disimpan sebelumnya menggunakan perintah az keyvault key rotation-policy update Azure CLI.
az keyvault key rotation-policy update --vault-name <vault-name> --name <key-name> --value </path/to/policy.json>
Azure PowerShell
Atur kebijakan rotasi menggunakan cmdlet Azure Powershell Set-AzKeyVaultKeyRotationPolicy.
Set-AzKeyVaultKeyRotationPolicy -VaultName <vault-name> -KeyName <key-name> -ExpiresIn (New-TimeSpan -Days 720) -KeyRotationLifetimeAction @{Action="Rotate";TimeAfterCreate= (New-TimeSpan -Days 540)}
Rotasi sesuai permintaan
Rotasi kunci dapat dipanggil secara manual.
Portal
Klik 'Putar Sekarang' untuk meminta rotasi.
Azure CLI
Gunakan perintah Azure CLI az keyvault key rotate untuk memutar kunci.
az keyvault key rotate --vault-name <vault-name> --name <key-name>
Azure PowerShell
Gunakan cmdlet Azure PowerShell Invoke-AzKeyVaultKeyRotation.
Invoke-AzKeyVaultKeyRotation -VaultName <vault-name> -Name <key-name>
Mengonfigurasi pemberitahuan kunci yang hampir kedaluwarsa
Konfigurasi pemberitahuan kedaluwarsa untuk kunci Event Grid yang hampir kedaluwarsa. Anda dapat mengonfigurasi pemberitahuan dengan hari, bulan, dan tahun sebelum kedaluwarsa untuk memicu peristiwa yang hampir kedaluwarsa.
Untuk informasi selengkapnya tentang pemberitahuan Event Grid di Key Vault, lihat Azure Key Vault sebagai sumber Event Grid
Mengonfigurasi rotasi kunci dengan template ARM
Kebijakan rotasi kunci juga dapat dikonfigurasi menggunakan template ARM.
Catatan
Hal ini membutuhkan peran 'Kontributor Key Vault' di Key Vault yang dikonfigurasi dengan Azure RBAC untuk menyebarkan kunci melalui bidang manajemen.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"vaultName": {
"type": "String",
"metadata": {
"description": "The name of the key vault to be created."
}
},
"keyName": {
"type": "String",
"metadata": {
"description": "The name of the key to be created."
}
},
"rotatationTimeAfterCreate": {
"defaultValue": "P18M",
"type": "String",
"metadata": {
"description": "Time duration to trigger key rotation. i.e. P30D, P1M, P2Y"
}
},
"expiryTime": {
"defaultValue": "P2Y",
"type": "String",
"metadata": {
"description": "The expiry time for new key version. i.e. P90D, P2M, P3Y"
}
},
"notifyTime": {
"defaultValue": "P30D",
"type": "String",
"metadata": {
"description": "Near expiry Event Grid notification. i.e. P30D"
}
}
},
"resources": [
{
"type": "Microsoft.KeyVault/vaults/keys",
"apiVersion": "2021-06-01-preview",
"name": "[concat(parameters('vaultName'), '/', parameters('keyName'))]",
"location": "[resourceGroup().location]",
"properties": {
"vaultName": "[parameters('vaultName')]",
"kty": "RSA",
"rotationPolicy": {
"lifetimeActions": [
{
"trigger": {
"timeAfterCreate": "[parameters('rotatationTimeAfterCreate')]",
"timeBeforeExpiry": ""
},
"action": {
"type": "Rotate"
}
},
{
"trigger": {
"timeBeforeExpiry": "[parameters('notifyTime')]"
},
"action": {
"type": "Notify"
}
}
],
"attributes": {
"expiryTime": "[parameters('expiryTime')]"
}
}
}
}
]
}