Azure Data Explorer mengenkripsi semua data di akun penyimpanan saat tidak aktif. Secara default, ia menggunakan kunci yang dikelola Microsoft untuk enkripsi. Jika Anda menginginkan kontrol lebih atas kunci enkripsi, Anda dapat menyediakan kunci yang dikelola pelanggan untuk enkripsi data.
Anda harus menyimpan kunci yang dikelola pelanggan di Azure Key Vault. Anda dapat membuat kunci Anda sendiri dan menyimpannya di brankas kunci, atau Anda dapat menggunakan API Azure Key Vault untuk menghasilkan kunci. Kluster Azure Data Explorer dan brankas kunci harus berada di wilayah yang sama, tetapi dapat berada di langganan yang berbeda. Untuk penjelasan terperinci tentang kunci yang dikelola pelanggan, lihat kunci yang dikelola pelanggan dengan Azure Key Vault.
Artikel ini memperlihatkan kepada Anda cara mengonfigurasi kunci yang dikelola pelanggan.
Untuk sampel kode berdasarkan versi SDK sebelumnya, lihat artikel yang diarsipkan.
Untuk mengonfigurasi kunci yang dikelola pelanggan dengan Azure Data Explorer, Anda harus mengatur dua properti pada brankas kunci: Penghapusan Sementara dan Jangan Hapus Menyeluruh. Properti ini tidak diaktifkan secara default. Untuk mengaktifkan properti ini, lakukan Mengaktifkan Penghapusan Sementara dan Mengaktifkan Perlindungan Penghapusan di PowerShell atau Azure CLI pada brankas kunci baru atau yang sudah ada. Azure Data Explorer mendukung kunci RSA dan RSA-HSM ukuran 2048, 3072, dan 4096. Untuk menggunakan kunci RSA-HSM, gunakan metode C#, Azure CLI, PowerShell, atau Templat ARM yang dijelaskan dalam artikel ini. Untuk informasi selengkapnya tentang kunci, lihat Kunci Key Vault.
Nota
Untuk informasi tentang batasan penggunaan kunci yang dikelola pelanggan pada kluster pemimpin dan pengikut, lihat Batasan.
Menetapkan identitas terkelola ke kluster
Untuk mengaktifkan kunci yang dikelola pelanggan untuk kluster Anda, pertama-tama tetapkan identitas terkelola yang ditetapkan sistem atau ditetapkan pengguna ke kluster. Gunakan identitas terkelola ini untuk memberikan izin kluster untuk mengakses brankas kunci. Untuk mengonfigurasi identitas terkelola, lihat identitas terkelola.
Mengaktifkan enkripsi dengan menggunakan kunci yang dikelola pelanggan
Langkah-langkah berikut menjelaskan cara mengaktifkan enkripsi kunci yang dikelola pelanggan dengan menggunakan portal Microsoft Azure. Secara default, enkripsi Azure Data Explorer menggunakan kunci yang dikelola Microsoft. Konfigurasikan kluster Azure Data Explorer Anda untuk menggunakan kunci yang dikelola pelanggan dan tentukan kunci yang akan dikaitkan dengan kluster.
Di portal Microsoft Azure, buka sumber daya kluster Azure Data Explorer Anda.
Pilih Pengaturan>Enkripsi di panel kiri portal.
Di panel Enkripsi , pilih Aktif untuk pengaturan kunci yang dikelola pelanggan .
Pilih Pilih Kunci.
Di jendela Pilih kunci dari Azure Key Vault , pilih Brankas kunci yang ada dari daftar dropdown. Jika Anda memilih Buat baru untuk membuat Key Vault baru, Anda akan dirutekan ke layar Buat Key Vault .
Pilih Kunci.
Versi:
- Untuk memastikan bahwa kunci ini selalu menggunakan versi kunci terbaru, pilih kotak centang Selalu gunakan versi kunci saat ini .
- Jika tidak, pilih Versi.
Pilih Pilih.
Di bawah Jenis identitas, pilih Sistem Ditetapkan atau Ditetapkan Pengguna.
Jika Anda memilih Ditetapkan Pengguna, pilih identitas yang ditetapkan pengguna dari menu dropdown.
Di panel Enkripsi yang sekarang berisi kunci Anda, pilih Simpan. Saat pembuatan CMK berhasil, Anda akan melihat pesan sukses di Pemberitahuan.
Jika Anda memilih identitas yang ditetapkan sistem saat mengaktifkan kunci yang dikelola pelanggan untuk kluster Azure Data Explorer, Anda membuat identitas yang ditetapkan sistem untuk kluster jika tidak ada. Selain itu, Anda memberikan izin yang diperlukan get, wrapKey, dan unwrapKey kepada kluster Azure Data Explorer Anda di Key Vault yang dipilih serta mendapatkan properti Key Vault tersebut.
Nota
Pilih Mati untuk menghapus kunci yang dikelola pelanggan setelah digunakan.
Bagian berikut menjelaskan cara mengonfigurasi enkripsi kunci yang dikelola pelanggan dengan menggunakan klien Azure Data Explorer C#.
Memasang paket
Authentication
Untuk menjalankan contoh dalam artikel ini, buat aplikasi Microsoft Entra dan perwakilan layanan yang dapat mengakses sumber daya. Anda dapat menambahkan penetapan peran di cakupan langganan dan mendapatkan Microsoft Entra Directory (tenant) ID, Application ID, dan Application Secret yang diperlukan.
Cuplikan kode berikut menunjukkan cara menggunakan Microsoft Authentication Library (MSAL) untuk memperoleh token aplikasi Microsoft Entra untuk mengakses kluster Anda. Agar alur berhasil, aplikasi harus didaftarkan dengan ID Microsoft Entra dan Anda harus memiliki kredensial untuk autentikasi aplikasi, seperti kunci aplikasi yang dikeluarkan ID Microsoft Entra atau sertifikat X.509v2 terdaftar Microsoft Entra.
Secara default, enkripsi Azure Data Explorer menggunakan kunci yang dikelola Microsoft. Konfigurasikan kluster Azure Data Explorer Anda untuk menggunakan kunci yang dikelola pelanggan dan tentukan kunci yang akan dikaitkan dengan kluster.
Perbarui kluster Anda dengan menggunakan kode berikut:
var tenantId = "xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxx"; // Azure AD Directory (tenant) ID
var clientId = "xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxx"; // Application ID
var clientSecret = "PlaceholderClientSecret"; // Application secret
var subscriptionId = "xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxx";
var credentials = new ClientSecretCredential(tenantId, clientId, clientSecret);
var resourceManagementClient = new ArmClient(credentials, subscriptionId);
var resourceGroupName = "testrg";
var clusterName = "mykustocluster";
var subscription = await resourceManagementClient.GetDefaultSubscriptionAsync();
var resourceGroup = (await subscription.GetResourceGroupAsync(resourceGroupName)).Value;
var clusters = resourceGroup.GetKustoClusters();
var cluster = (await clusters.GetAsync(clusterName)).Value;
var clusterPatch = new KustoClusterPatch(cluster.Data.Location)
{
KeyVaultProperties = new KustoKeyVaultProperties
{
KeyName = "<keyName>",
KeyVersion = "<keyVersion>", // Optional, leave as NULL for the latest version of the key.
KeyVaultUri = new Uri("https://<keyVaultName>.vault.azure.net/"),
UserIdentity = "/subscriptions/<identitySubscriptionId>/resourcegroups/<identityResourceGroupName>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<identityName>" // Use NULL if you want to use system assigned identity.
}
};
await cluster.UpdateAsync(WaitUntil.Completed, clusterPatch);
Jalankan perintah berikut untuk memeriksa apakah Anda berhasil memperbarui kluster Anda:
var clusterData = (await resourceGroup.GetKustoClusterAsync(clusterName)).Value.Data;
Jika hasilnya berisi ProvisioningState dengan nilai Succeeded, berarti Anda telah berhasil memperbarui kluster.
Langkah-langkah berikut menjelaskan cara mengaktifkan enkripsi kunci yang dikelola pelanggan dengan menggunakan Azure CLI. Secara default, enkripsi Azure Data Explorer menggunakan kunci yang dikelola Microsoft. Konfigurasikan kluster Azure Data Explorer Anda untuk menggunakan kunci yang dikelola pelanggan dan tentukan kunci yang akan dikaitkan dengan kluster.
Jalankan perintah berikut untuk masuk ke Azure:
az login
Atur langganan tempat kluster Anda terdaftar. Ganti MyAzureSub dengan nama langganan Azure yang ingin Anda gunakan.
az account set --subscription MyAzureSub
Jalankan perintah berikut untuk mengatur kunci baru dengan identitas yang ditetapkan sistem kluster:
az kusto cluster update --cluster-name "mytestcluster" --resource-group "mytestrg" --key-vault-properties key-name="<key-name>" key-version="<key-version>" key-vault-uri="<key-vault-uri>"
Atau, atur kunci baru dengan menggunakan identitas yang ditetapkan pengguna:
az kusto cluster update --cluster-name "mytestcluster" --resource-group "mytestrg" --key-vault-properties key-name="<key-name>" key-version="<key-version>" key-vault-uri="<key-vault-uri>" key-user-identity="<user-identity-resource-id>"
Jalankan perintah berikut dan periksa keyVaultProperties properti untuk memverifikasi kluster berhasil diperbarui.
az kusto cluster show --cluster-name "mytestcluster" --resource-group "mytestrg"
Langkah-langkah berikut menjelaskan cara mengaktifkan enkripsi kunci yang dikelola pelanggan dengan menggunakan PowerShell. Secara default, enkripsi Azure Data Explorer menggunakan kunci yang dikelola Microsoft. Konfigurasikan kluster Azure Data Explorer Anda untuk menggunakan kunci yang dikelola pelanggan dan tentukan kunci yang akan dikaitkan dengan kluster.
Jalankan perintah berikut untuk masuk ke Azure:
Connect-AzAccount
Atur langganan tempat kluster Anda terdaftar.
Set-AzContext -SubscriptionId "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
Jalankan perintah berikut untuk mengatur kunci baru dengan menggunakan identitas yang ditetapkan sistem.
Update-AzKustoCluster -ResourceGroupName "mytestrg" -Name "mytestcluster" -KeyVaultPropertyKeyName "<key-name>" -KeyVaultPropertyKeyVaultUri "<key-vault-uri>" -KeyVaultPropertyKeyVersion "<key-version>"
Atau, atur kunci baru dengan menggunakan identitas yang ditetapkan pengguna.
Update-AzKustoCluster -ResourceGroupName "mytestrg" -Name "mytestcluster" -KeyVaultPropertyKeyName "<key-name>" -KeyVaultPropertyKeyVaultUri "<key-vault-uri>" -KeyVaultPropertyKeyVersion "<key-version>" -KeyVaultPropertyUserIdentity "user-assigned-identity-resource-id"
Jalankan perintah berikut dan periksa KeyVaultProperty... properti untuk memverifikasi kluster berhasil diperbarui.
Get-AzKustoCluster -Name "mytestcluster" -ResourceGroupName "mytestrg" | Format-List
Langkah-langkah berikut menjelaskan cara mengonfigurasi kunci yang dikelola pelanggan dengan menggunakan templat Azure Resource Manager. Secara default, enkripsi Azure Data Explorer menggunakan kunci yang dikelola Microsoft. Dalam langkah ini, konfigurasikan kluster Azure Data Explorer Anda untuk menggunakan kunci yang dikelola pelanggan dan tentukan kunci yang akan dikaitkan dengan kluster.
Jika Anda ingin menggunakan identitas yang ditetapkan sistem untuk mengakses brankas kunci, biarkan userIdentity kosong. Jika tidak, atur ID sumber daya identitas.
Anda dapat menyebarkan templat Azure Resource Manager dengan menggunakan portal Microsoft Azure atau dengan menggunakan PowerShell.
{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"clusterName": {
"type": "string",
"defaultValue": "[concat('kusto', uniqueString(resourceGroup().id))]",
"metadata": {
"description": "Name of the cluster to create"
}
},
"location": {
"type": "string",
"defaultValue": "[resourceGroup().location]",
"metadata": {
"description": "Location for all resources."
}
}
},
"variables": {},
"resources": [
{
"name": "[parameters('clusterName')]",
"type": "Microsoft.Kusto/clusters",
"sku": {
"name": "Standard_E8ads_v5",
"tier": "Standard",
"capacity": 2
},
"apiVersion": "2019-09-07",
"location": "[parameters('location')]",
"properties": {
"keyVaultProperties": {
"keyVaultUri": "<keyVaultUri>",
"keyName": "<keyName>",
"keyVersion": "<keyVersion>",
"userIdentity": "<userIdentity>"
}
}
}
]
}
Perbarui versi kunci
Saat membuat versi baru kunci, Anda perlu memperbarui kluster untuk menggunakan versi baru. Pertama, panggil Get-AzKeyVaultKey untuk mendapatkan kunci versi terbaru. Kemudian perbarui properti brankas kunci kluster untuk menggunakan versi baru kunci, seperti yang ditunjukkan dalam Mengaktifkan enkripsi dengan menggunakan kunci yang dikelola pelanggan.
Konten terkait