Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Tip
Microsoft Fabric Data Warehouse adalah gudang relasional skala perusahaan pada fondasi data lake, dengan arsitektur siap masa depan, AI bawaan, dan fitur baru. Jika Anda baru menggunakan pergudangan data, mulailah dengan Fabric Data Warehouse. Beban kerja kumpulan SQL terdedikasi yang ada dapat ditingkatkan ke Fabric untuk mengakses kemampuan baru di seluruh ilmu data, analitik waktu nyata, dan pelaporan.
Berlaku untuk: Kumpulan SQL khusus Azure Synapse Analytics (sebelumnya SQL DW)
Artikel ini menjelaskan rotasi kunci untuk server SQL yang menggunakan pelindung TDE dari Azure Key Vault. Merotasi pelindung logis TDE untuk server berarti beralih ke kunci baru yang didukung untuk melindungi basis data di server. Bergantung pada konfigurasi, pelindung TDE dapat didukung oleh kunci asimetris (RSA) atau simetris (AES) yang didukung yang disimpan di Azure Key Vault atau Azure Key Vault Managed HSM. Rotasi kunci adalah operasi online dan seharusnya hanya memakan waktu beberapa detik untuk diselesaikan, karena operasi ini hanya mendekripsi dan mengenkripsi ulang kunci enkripsi data database, bukan seluruh database.
Artikel ini membahas metode otomatis dan manual untuk memutar pelindung TDE di server.
Note
Artikel ini membahas pool SQL khusus mandiri (sebelumnya SQL DW). Untuk pool SQL khusus di workspace Synapse, lihat Enkripsi untuk workspace Azure Synapse Analytics.
Pertimbangan penting
- Pertahankan versi kunci lama setidaknya selama periode penyimpanan cadangan database. Memulihkan cadangan lama memerlukan protector yang mengenkripsinya.
- Pertahankan kunci lama meskipun Anda kembali ke protektor yang dikelola layanan.
- Pool SQL khusus yang dijeda harus diaktifkan kembali sebelum rotasi.
- Nama key vault gabungan dan nama kunci tidak boleh melebihi 94 karakter.
Prerequisites
- Artikel ini mengasumsikan bahwa Anda sudah menggunakan kunci dari Azure Key Vault sebagai pelindung TDE untuk Azure SQL Database atau Azure Synapse Analytics. Untuk informasi lebih lanjut, lihat Customer-managed TDE untuk Azure Synapse Analytics.
- Anda harus memiliki Azure PowerShell yang diinstal dan bekerja.
Tip
Direkomendasikan tetapi opsional - buat bahan kunci untuk pelindung TDE dalam modul keamanan perangkat keras (HSM) atau penyimpanan kunci lokal terlebih dahulu, dan impor materi kunci ke Azure Key Vault. Untuk mempelajari lebih lanjut, lihat petunjuk penggunaan modul keamanan perangkat keras (HSM) dan Azure Key Vault.
Rotasi kunci otomatis
Aktifkan rotasi otomatis untuk pelindung TDE saat Anda mengonfigurasi pelindung TDE untuk server atau basis data. Anda dapat mengaktifkan rotasi otomatis dari portal Azure atau dengan menggunakan perintah PowerShell atau Azure CLI berikut. Saat Anda mengaktifkan rotasi otomatis, server atau database secara terus-menerus memeriksa Key Vault untuk versi baru kunci yang digunakan sebagai pelindung TDE. Jika server atau database mendeteksi versi baru dari kunci, ia secara otomatis merotasi pelindung TDE ke versi kunci terbaru dalam waktu 24 jam.
Gunakan rotasi kunci otomatis di server, database, atau instance yang dikelola dengan rotasi kunci otomatis di Azure Key Vault untuk mengaktifkan rotasi zero-touch end-to-end pada kunci TDE.
portal Azure
Menggunakan portal Microsoft Azure:
- Telusuri ke bagian Enkripsi data transparan untuk server atau instans terkelola yang ada.
- Pilih opsi Kunci yang dikelola pelanggan dan pilih key vault serta kunci yang akan digunakan sebagai pelindung TDE.
- Pilih kotak centang Auto-rotate.
- Pilih Simpan.
PowerShell
Untuk instruksi penginstalan modul Az PowerShell, lihat Menginstal Azure PowerShell.
Untuk mengaktifkan rotasi otomatis pada pelindung TDE menggunakan PowerShell, lihat skrip berikut. Anda dapat mengambil rahasia <keyVaultKeyId> dari Azure Key Vault.
Gunakan Set-AzSqlServerTransparentDataEncryptionProtector:
Set-AzSqlServerTransparentDataEncryptionProtector -Type AzureKeyVault -KeyId <keyVaultKeyId> `
-ServerName <logicalServerName> -ResourceGroup <SQLDatabaseResourceGroupName> `
-AutoRotationEnabled <boolean>
Azure CLI
Untuk informasi tentang instalasi rilis Azure CLI saat ini, lihat Instal Azure CLI.
Untuk mengaktifkan rotasi otomatis pada pelindung TDE menggunakan Azure CLI, lihat skrip berikut.
Gunakan az sql server tde-key set:
az sql server tde-key set --server-key-type AzureKeyVault
--auto-rotation-enabled true
[--kid] <keyVaultKeyId>
[--resource-group] <SQLDatabaseResourceGroupName>
[--server] <logicalServerName>
Putaran kunci manual
Rotasi kunci manual menggunakan perintah berikut untuk menambahkan kunci baru, yang dapat berada di bawah nama kunci baru atau bahkan brankas kunci lain. Anda juga dapat menggunakan portal Azure untuk memutar kunci secara manual.
Saat Anda memutar kunci secara manual dan membuat versi kunci baru di Key Vault (baik secara manual maupun melalui kebijakan rotasi kunci otomatis), Anda harus mengatur versi kunci tersebut secara manual sebagai pelindung TDE di server.
Note
Panjang gabungan untuk nama vault kunci dan nama kunci tidak boleh melebihi 94 karakter.
portal Azure
- Buka enkripsi data transparan di server SQL.
- Pilih Kunci yang dikelola pelanggan.
- Pilih opsi Kunci yang dikelola pelanggan dan pilih Key Vault serta kunci yang akan digunakan sebagai pelindung TDE baru.
- Pilih Simpan.
PowerShell
Gunakan perintah Add-AzKeyVaultKey untuk menambahkan kunci baru ke brankas kunci.
# add a new key to Azure Key Vault
Add-AzKeyVaultKey -VaultName <keyVaultName> -Name <keyVaultKeyName> -Destination <hardwareOrSoftware>
Gunakan perintah berikut:
# add the new key from Azure Key Vault to the server
Add-AzSqlServerKeyVaultKey -KeyId <keyVaultKeyId> -ServerName <logicalServerName> -ResourceGroup <SQLDatabaseResourceGroupName>
# set the key as the TDE protector for all resources under the server
Set-AzSqlServerTransparentDataEncryptionProtector -Type AzureKeyVault -KeyId <keyVaultKeyId> `
-ServerName <logicalServerName> -ResourceGroup <SQLDatabaseResourceGroupName>
Azure CLI
Gunakan perintah az keyvault key create untuk menambahkan kunci baru ke brankas kunci.
# add a new key to Azure Key Vault
az keyvault key create --name <keyVaultKeyName> --vault-name <keyVaultName> --protection <hsmOrSoftware>
Gunakan perintah berikut:
# add the new key from Azure Key Vault to the server
az sql server key create --kid <keyVaultKeyId> --resource-group <SQLDatabaseResourceGroupName> --server <logicalServerName>
# set the key as the TDE protector for all resources under the server
az sql server tde-key set --server-key-type AzureKeyVault --kid <keyVaultKeyId> --resource-group <SQLDatabaseResourceGroupName> --server <logicalServerName>
Alihkan mode pelindung TDE
portal Azure
Gunakan portal Azure untuk mengalihkan pelindung TDE dari mode yang dikelola Microsoft ke mode BYOK:
- Telusuri ke menu Enkripsi Data Transparan untuk server atau instans terkelola yang ada.
- Pilih opsi Kunci yang dikelola pelanggan.
- Pilih Key Vault dan kunci yang akan digunakan sebagai pelindung TDE.
- Pilih Simpan.
PowerShell
Untuk mengalihkan pelindung TDE dari mode Yang dikelola Microsoft ke BYOK, gunakan perintah Set-AzSqlServerTransparentDataEncryptionProtector .
Set-AzSqlServerTransparentDataEncryptionProtector -Type AzureKeyVault ` -KeyId <keyVaultKeyId> -ServerName <logicalServerName> -ResourceGroup <SQLDatabaseResourceGroupName>Untuk mengalihkan pelindung TDE dari mode BYOK ke yang dikelola Microsoft, gunakan perintah Set-AzSqlServerTransparentDataEncryptionProtector .
Set-AzSqlServerTransparentDataEncryptionProtector -Type ServiceManaged ` -ServerName <logicalServerName> -ResourceGroup <SQLDatabaseResourceGroupName>
Azure CLI
Contoh berikut menggunakan az sql server tde-key set.
Untuk mengalihkan pelindung TDE dari mode Yang dikelola Microsoft ke BYOK:
az sql server tde-key set --server-key-type AzureKeyVault --kid <keyVaultKeyId> --resource-group <SQLDatabaseResourceGroupName> --server <logicalServerName>Untuk mengalihkan pelindung TDE dari mode BYOK ke yang dikelola Microsoft:
az sql server tde-key set --server-key-type ServiceManaged --resource-group <SQLDatabaseResourceGroupName> --server <logicalServerName>