Aktifkan kunci yang dikelola pelanggan untuk layanan terkelola
Catatan
Fitur ini membutuhkan rencana Premium.
Untuk kontrol tambahan atas data, Anda dapat menambahkan kunci sendiri untuk melindungi dan mengontrol akses ke beberapa jenis data. Azure Databricks memiliki beberapa fitur utama yang dikelola pelanggan. Untuk membandingkan fitur terkait, lihat Kunci yang dikelola pelanggan untuk enkripsi.
Tip
Artikel ini menjelaskan cara mengonfigurasi kunci Anda sendiri dari vault Azure Key Vault untuk layanan terkelola. Untuk instruksi tentang menggunakan kunci dari Azure Key Vault Managed HSM, lihat Mengaktifkan kunci yang dikelola pelanggan HSM untuk layanan terkelola.
Data layanan terkelola di sarana kontrol Azure Databricks dienkripsi saat tidak aktif. Anda dapat menambahkan kunci yang dikelola pelanggan untuk layanan terkelola untuk membantu melindungi dan mengontrol akses ke jenis data terenkripsi berikut:
- Sumber notebook di sarana kontrol Azure Databricks.
- Hasil notebook untuk notebook berjalan secara interaktif (bukan sebagai pekerjaan) yang disimpan di sarana kontrol. Secara default, hasil yang lebih besar juga disimpan di wadah akar ruang kerja Anda. Anda dapat mengonfigurasi Azure Databricks untuk menyimpan semua hasil notebook interaktif di langganan Azure Anda.
- Rahasia yang disimpan oleh API pengelola rahasia.
- Kueri dan riwayat kueri Databricks SQL.
- Token akses pribadi (PAT) atau kredensial lain yang digunakan untuk menyiapkan integrasi Git dengan folder Databricks Git.
Setelah Anda menambahkan enkripsi kunci yang dikelola pelanggan untuk ruang kerja, Azure Databricks menggunakan kunci Anda untuk mengontrol akses ke kunci yang mengenkripsi operasi tulis di masa mendatang ke data layanan terkelola ruang kerja Anda. Data yang ada tidak dienkripsi ulang. Kunci enkripsi data di-cache dalam memori untuk beberapa operasi baca dan tulis dan dikeluarkan dari memori secara berkala. Permintaan baru untuk data tersebut memerlukan permintaan lain ke sistem manajemen kunci layanan cloud Anda. Jika Anda menghapus atau mencabut kunci Anda, membaca atau menulis ke data yang dilindungi gagal di akhir interval waktu cache.
Anda dapat memutar (memperbarui) kunci yang dikelola pelanggan di lain waktu. Lihat Memutar kunci di lain waktu.
Fitur ini tidak mengenkripsi penyimpanan data di luar sarana kontrol. Untuk fitur kunci lain yang dikelola pelanggan, lihat Kunci yang dikelola pelanggan untuk enkripsi
Persyaratan
Untuk menggunakan Azure CLI untuk tugas-tugas ini, instal alat Azure CLI dan instal ekstensi Databricks:
az extension add --name databricks
Untuk menggunakan Powershell untuk tugas-tugas ini, instal Azure PowerShell dan instal modul Databricks Powershell. Anda juga harus masuk:
Connect-AzAccount
Untuk masuk ke akun Azure Anda sebagai pengguna, lihat Masuk PowerShell dengan akun pengguna Azure Databricks. Untuk masuk ke akun Azure Anda sebagai perwakilan layanan, lihat Login PowerShell dengan perwakilan layanan ID Microsoft Entra.
Langkah 1: Menyiapkan Key Vault
Anda harus membuat instans Azure Key Vault dan mengatur izinnya. Anda dapat melakukan ini melalui portal Azure, CLI, atau API.
Penting
Key Vault harus berada di penyewa Azure yang sama dengan ruang kerja Azure Databricks Anda.
Instruksi ini menawarkan detail beberapa opsi penyebaran:
Menggunakan portal Microsoft Azure
- Buat atau pilih Key Vault:
- Untuk membuat Key Vault, buka halaman portal Azure untuk membuat Key Vault. Klik + Buat. Masukkan nama grup sumber daya, nama Key Vault, wilayah, dan tingkat harga. Klik Tinjau + buat lalu klik Buat.
- Untuk menggunakan Key Vault yang ada, salin nama Key Vault-nya untuk langkah berikutnya.
- Dapatkan ID objek aplikasi AzureDatabricks :
- Di portal Azure, buka Microsoft Entra ID.
- Pilih Aplikasi Enterprise dari menu bilah sisi.
- Cari
AzureDatabricks
dan klik Aplikasi Perusahaan di hasilnya. - Dari Properti, salin ID objek.
- Tambahkan kebijakan akses ke Key Vault menggunakan portal Azure:
Navigasi ke Azure Key Vault yang akan Anda gunakan untuk mengonfigurasi kunci yang dikelola pelanggan untuk layanan terkelola untuk ruang kerja Anda.
Klik tab Kebijakan akses dari panel sisi kiri.
Pilih tombol Buat yang ditemukan di bagian atas halaman.
Pada bagian izin kunci di tab izin, aktifkan Dapatkan, Buka Bungkus Kunci, dan Bungkus kunci.
Klik Berikutnya.
Pada tab Utama , ketik
AzureDatabricks
dan gulir ke hasil Aplikasi Perusahaan pertama yang memiliki ID2ff814a6-3304-4ab8-85cb-cd0e6f879c1d
Aplikasi dan pilih.Lanjutkan ke tab Tinjau + buat dan klik b.
Menggunakan Azure CLI
Gunakan Azure CLI untuk menyelesaikan instruksi berikut.
Buat Key Vault atau pilih Key Vault yang sudah ada:
Untuk membuat Key Vault, gunakan perintah Azure CLI berikut dan ganti item dalam tanda kurung dengan wilayah Anda, nama Key Vault, nama grup sumber daya, dan lokasi:
az keyvault create --location <region> \ --name <key-vault-name> \ --resource-group <resource-group-name> \ --location <location> \ --enable-purge-protection
Untuk menggunakan Key Vault yang ada, salin nama Key Vault untuk langkah berikutnya.
Dapatkan ID objek aplikasi AzureDatabricks dengan Azure CLI.
az ad sp show --id "2ff814a6-3304-4ab8-85cb-cd0e6f879c1d" \ --query "id" \ --output tsv
Konfirmasikan bahwa Anda menggunakan langganan Azure yang benar:
az account set --subscription {subscription_id}
Menggunakan Azure Powershell
Anda dapat membuat Key Vault baru atau menggunakan key vault yang sudah ada.
Buat Key Vault:
$keyVault = New-AzKeyVault -Name <key-vault-name> \
-ResourceGroupName <resource-group-name> \
-Location <location> \
-sku <sku> \
-EnablePurgeProtection
Gunakan Key Vault yang ada:
$keyVault = Get-AzKeyVault -VaultName <key-vault-name>
Langkah 2: Menyiapkan kunci
Anda dapat membuat kunci atau menggunakan kunci yang ada. Gunakan alat apa pun yang ingin Anda gunakan: portal Azure, Azure CLI, atau alat lainnya.
Gunakan Azure CLI
Buat kunci di bawah Key Vault. KeyType harus RSA.
Untuk membuat kunci di CLI, jalankan perintah ini:
az keyvault key create --name <key-name> \
--vault-name <key-vault-name> \
--protection software
Catat nilai-nilai berikut, yang bisa Anda dapatkan dari ID kunci di properti kid
dalam respons. Anda akan menggunakannya pada langkah berikutnya:
- URL brankas kunci: Bagian awal ID kunci yang menyertakan nama Key Vault. URL ini memiliki format
https://<key-vault-name>.vault.azure.net
. - Nama kunci: Nama kunci Anda.
- Versi kunci: Versi kunci tersebut.
ID kunci lengkap biasanya memiliki formulir https://<key-vault-name>.vault.azure.net/keys/<key-name>/<key-version>
. Kunci Azure Key Vault yang berada di cloud non-publik memiliki bentuk yang berbeda.
Untuk menggunakan kunci yang sudah ada alih-alih membuatnya, dapatkan dan salin nilai-nilai ini untuk kunci Anda sehingga Anda dapat menggunakannya di langkah berikutnya. Periksa untuk mengonfirmasi bahwa kunci yang ada diaktifkan sebelum melanjutkan.
Menggunakan Azure Powershell
Jika Anda berencana untuk membuat kunci, Anda mungkin perlu mengatur kebijakan akses, tergantung pada bagaimana dan kapan Anda membuatnya. Misalnya, jika Anda baru saja membuat Key Vault menggunakan PowerShell, Key Vault baru Anda mungkin tidak memiliki kebijakan akses yang diperlukan untuk membuat kunci. Contoh berikut menggunakan
EmailAddress
parameter untuk mengatur kebijakan. Untuk detail terkait, lihat artikel Microsoft tentang Set-AzKeyVaultAccessPolicy.Atur kebijakan akses pada Key Vault baru:
Set-AzKeyVaultAccessPolicy \ -VaultName $keyVault.VaultName \ -PermissionsToKeys all \ -EmailAddress <email-address>
Anda dapat membuat kunci atau mengambil kunci yang ada:
Buat kunci:
$key = Add-AzKeyVaultKey \ -VaultName $keyVault.VaultName \ -Name <key-name> \ -Destination 'Software'
Ambil kunci yang ada:
$key = Get-AzKeyVaultKey \ -VaultName $keyVault.VaultName \ -Name <key-name>
Tambahkan kebijakan akses dengan izin ke Key Vault:
$managedService = Get-AzureADServicePrincipal \ -Filter "appId eq '2ff814a6-3304-4ab8-85cb-cd0e6f879c1d'" Set-AzKeyVaultAccessPolicy -VaultName $keyVault.VaultName \ -ObjectId $managedService.ObjectId \ -PermissionsToKeys wrapkey,unwrapkey,get
Langkah 3: Menambahkan kunci ke ruang kerja
Anda dapat menyebarkan ruang kerja baru dengan kunci yang dikelola pelanggan untuk layanan terkelola atau menambahkan kunci ke ruang kerja yang sudah ada. Anda dapat melakukan keduanya dengan Azure CLI, Powershell, templat ARM, portal Azure, atau alat lainnya. Bagian ini mencakup detail untuk beberapa opsi penyebaran:
- Gunakan portal Azure tanpa templat
- Menggunakan Azure CLI tanpa templat
- Menggunakan Powershell tanpa templat
- Menerapkan perubahan dengan templat ARM
Gunakan portal Azure tanpa templat
Buka beranda Portal Microsoft Azure.
Klik Buat sumber daya di sudut kiri atas halaman.
Di dalam bilah pencarian, ketik
Azure Databricks
dan klik opsi Azure Databricks .Klik Buat di widget Azure Databricks.
Masukkan nilai untuk bidang input pada tab Dasar dan Jaringan .
Setelah Anda mencapai tab Enkripsi :
- Untuk membuat ruang kerja, aktifkan Gunakan kunci Anda sendiri di bagian Layanan Terkelola.
- Untuk memperbarui ruang kerja, aktifkan Layanan Terkelola.
Atur bidang enkripsi.
- Di bidang Pengidentifikasi Kunci, tempelkan Pengidentifikasi Kunci kunci Azure Key Vault Anda.
- Di menu dropdown Langganan, masukkan nama langganan kunci Azure Key Vault Anda.
Selesaikan tab yang tersisa dan klik Tinjau + Buat (untuk ruang kerja baru) atau Simpan (untuk memperbarui ruang kerja).
Penting
Jika Anda memutar kunci, Anda harus menjaga kunci lama tetap tersedia selama 24 jam.
Menggunakan Azure CLI tanpa templat
Tambahkan kebijakan akses ke Key Vault dengan perintah berikut. Ganti
<key-vault-name>
dengan nama vault yang Anda gunakan di langkah sebelumnya dan ganti<object-id>
dengan IDAzureDatabricks
objek aplikasi.az keyvault set-policy -n <key-vault-name> \ --key-permissions get wrapKey unwrapKey \ --object-id <object-id>
Membuat atau memperbarui ruang kerja:
Untuk pembuatan dan pembaruan, tambahkan bidang ini ke perintah :
managed-services-key-name
: Nama kuncimanaged-services-key-vault
: URI brankas kuncimanaged-services-key-version
: Versi kunci
Contoh pembuatan ruang kerja menggunakan bidang ini:
az databricks workspace create --name <workspace-name> \ --resource-group <resource-group-name> \ --location <location> \ --sku premium \ --managed-services-key-name <key-name> \ --managed-services-key-vault <key-vault-uri> \ --managed-services-key-version <key-version>
Contoh pembaruan ruang kerja menggunakan bidang ini:
az databricks workspace update --name <workspace-name> \ --resource-group <resource-group-name> \ --managed-services-key-name <key-name> \ --managed-services-key-vault <key-vault-uri> \ --managed-services-key-version <key-version>
Penting
Jika Anda memutar kunci, Anda harus menjaga kunci lama tetap tersedia selama 24 jam.
Menggunakan Powershell tanpa templat
Untuk membuat atau memperbarui ruang kerja, tambahkan parameter berikut ke perintah untuk kunci baru Anda:
ManagedServicesKeyVaultPropertiesKeyName
: Nama kunciManagedServicesKeyVaultPropertiesKeyVaultUri
: URI KunciManagedServicesKeyVaultPropertiesKeyVersion
: Versi kunci
Contoh pembuatan ruang kerja dengan bidang-bidang ini:
New-AzDatabricksWorkspace -Name <workspace-name> \
-ResourceGroupName <resource-group-name> \
-location $keyVault.Location \
-sku premium \
-ManagedServicesKeyVaultPropertiesKeyName $key.Name \
-ManagedServicesKeyVaultPropertiesKeyVaultUri $keyVault.VaultUri \
-ManagedServicesKeyVaultPropertiesKeyVersion $key.Version
Contoh pembaruan ruang kerja dengan bidang ini:
Update-AzDatabricksWorkspace -Name <workspace-name> \
-ResourceGroupName <resource-group-name> \
-sku premium \
-ManagedServicesKeyVaultPropertiesKeyName $key.Name \
-ManagedServicesKeyVaultPropertiesKeyVaultUri $keyVault.VaultUri \
-ManagedServicesKeyVaultPropertiesKeyVersion $key.Version
Penting
Jika Anda memutar kunci, Anda harus menjaga kunci lama tetap tersedia selama 24 jam.
Menerapkan perubahan dengan templat ARM
Templat ARM berikut membuat ruang kerja baru dengan kunci yang dikelola pelanggan, menggunakan versi 2023-02-01
API untuk sumber daya Microsoft.Databricks/workspaces
. Simpan teks ini secara lokal ke file bernama databricks-cmk-template.json
.
Contoh templat ini tidak menyertakan semua fitur Azure Databricks yang mungkin, seperti menyediakan VNet Anda sendiri untuk menyebarkan ruang kerja.
Penting
Jika Anda sudah menggunakan templat, gabungkan parameter, sumber daya, dan output tambahan templat ini ke dalam templat yang ada.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"workspaceName": {
"type": "string",
"metadata": {
"description": "The name of the Azure Databricks workspace to create."
}
},
"pricingTier": {
"type": "string",
"defaultValue": "premium",
"allowedValues": [
"standard",
"premium"
],
"metadata": {
"description": "The pricing tier of workspace."
}
},
"location": {
"type": "string",
"defaultValue": "[resourceGroup().location]",
"metadata": {
"description": "Location for all resources."
}
},
"apiVersion": {
"type": "string",
"defaultValue": "2023-02-01",
"allowedValues":[
"2023-02-01",
"2021-04-01-preview"
],
"metadata": {
"description": "The api version to create the workspace resources"
}
},
"keyvaultUri": {
"type": "string",
"metadata": {
"description": "The Key Vault URI for customer-managed key for managed services"
}
},
"keyName": {
"type": "string",
"metadata": {
"description": "The key name used for customer-managed key for managed services"
}
},
"keyVersion": {
"type": "string",
"metadata": {
"description": "The key version used for customer-managed key for managed services"
}
}
},
"variables": {
"managedResourceGroupName": "[concat('databricks-rg-', parameters('workspaceName'), '-', uniqueString(parameters('workspaceName'), resourceGroup().id))]"
},
"resources": [
{
"type": "Microsoft.Databricks/workspaces",
"name": "[parameters('workspaceName')]",
"location": "[parameters('location')]",
"apiVersion": "[parameters('apiVersion')]",
"sku": {
"name": "[parameters('pricingTier')]"
},
"properties": {
"ManagedResourceGroupId": "[concat(subscription().id, '/resourceGroups/', variables('managedResourceGroupName'))]",
"encryption": {
"entities": {
"managedServices": {
"keySource": "Microsoft.Keyvault",
"keyVaultProperties": {
"keyVaultUri": "[parameters('keyvaultUri')]",
"keyName": "[parameters('keyName')]",
"keyVersion": "[parameters('keyVersion')]"
}
}
}
}
}
}
],
"outputs": {
"workspace": {
"type": "object",
"value": "[reference(resourceId('Microsoft.Databricks/workspaces', parameters('workspaceName')))]"
}
}
}
Jika Anda sudah menggunakan templat yang lain, Anda dapat menggabungkan parameter, sumber daya, dan output templat ini ke dalam templat yang ada.
Untuk menggunakan templat ini untuk membuat atau memperbarui ruang kerja, pilih salah satu opsi penyebaran ini:
Menerapkan templat dengan Azure CLI
Untuk membuat ruang kerja baru dengan Azure CLI, jalankan perintah berikut:
az deployment group create --resource-group <resource-group-name> \
--template-file <file-name>.json \
--parameters workspaceName=<new-workspace-name> \
keyvaultUri=<keyvaultUrl> \
keyName=<keyName> keyVersion=<keyVersion>
Untuk memperbarui ruang kerja yang ada untuk menggunakan ruang kerja kunci yang dikelola pelanggan (atau untuk memutar kunci yang ada) menggunakan Azure CLI:
Jika templat ARM Anda yang menyebarkan ruang kerja tidak pernah menambahkan kunci yang dikelola pelanggan, tambahkan bagian
resources.properties.encryption
dan parameter terkaitnya. Lihat templat sebelumnya di artikel ini.- Tambahkan bagian
resources.properties.encryption
dari templat. - Di bagian
parameters
, tambahkan tiga parameter barukeyvaultUri
,keyName
, dankeyVersion
dari templat.
- Tambahkan bagian
Jalankan perintah yang sama seperti untuk membuat ruang kerja baru. Selama nama grup sumber daya dan nama ruang kerja identik dengan ruang kerja Anda yang ada, perintah ini memperbarui ruang kerja yang ada daripada membuat ruang kerja baru.
az deployment group create --resource-group <existing-resource-group-name> \ --template-file <file-name>.json \ --parameters workspaceName=<existing-workspace-name> \ keyvaultUri=<keyvaultUrl> \ keyName=<keyName> keyVersion=<keyVersion>
Selain perubahan dalam parameter terkait kunci, gunakan parameter yang sama yang digunakan untuk membuat ruang kerja.
Penting
Jika Anda memutar kunci, Anda harus menjaga kunci lama tetap tersedia selama 24 jam.
Menerapkan templat dengan portal Azure
Untuk menggunakan templat di portal Microsoft Azure untuk membuat atau memperbarui ruang kerja:
Buka halaman Penyebaran kustom.
Klik Buat templat Anda sendiri di editor.
Tempel di JSON.
Klik Simpan.
Isi parameternya.
Untuk memperbarui ruang kerja yang ada, gunakan parameter yang sama dengan yang Anda gunakan untuk membuat ruang kerja. Untuk menambahkan kunci untuk pertama kalinya, tambahkan tiga parameter terkait kunci. Untuk memutar kunci, ubah beberapa atau semua parameter terkait kunci. Pastikan nama grup sumber daya dan nama ruang kerja identik dengan ruang kerja Anda yang ada. Jika sama, perintah ini memperbarui ruang kerja yang ada daripada membuat ruang kerja baru.
Selain perubahan dalam parameter terkait kunci, gunakan parameter yang sama yang digunakan untuk membuat ruang kerja.
Klik Tinjau + Buat.
Jika tidak ada masalah validasi, klik Buat.
Penting
Jika Anda memutar kunci, Anda harus menjaga kunci lama tetap tersedia selama 24 jam.
Untuk detail selengkapnya, lihat artikel Azure Mulai cepat: Membuat dan menyebarkan templat ARM dengan menggunakan portal Microsoft Azure.
Langkah 4 (opsional): Impor ulang buku catatan
Setelah Anda menambahkan kunci untuk layanan terkelola untuk ruang kerja yang ada, hanya opera tulis yang menggunakan kunci Anda. Data yang ada tidak dienkripsi ulang.
Anda dapat mengekspor semua notebook lalu mengimpornya kembali sehingga kunci yang mengenkripsi data dilindungi dan dikontrol oleh kunci Anda. Anda dapat menggunakan Ekspor dan Impor API Ruang Kerja.
Putar kunci di lain waktu
Jika Anda sudah menggunakan kunci yang dikelola pelanggan untuk layanan terkelola, Anda dapat memperbarui ruang kerja dengan versi kunci baru, atau kunci yang sama sekali baru. Ini disebut rotasi kunci.
Buat kunci baru atau putar kunci yang sudah ada di Key Vault. Lihat Langkah 1: Menyiapkan Key Vault.
Pastikan kunci baru memiliki izin yang tepat.
Konfirmasikan bahwa templat Anda memiliki versi API yang benar. Ini harus sama dengan atau lebih tinggi dari
2021-04-01-preview
.Perbarui ruang kerja dengan kunci baru Anda menggunakan portal, CLI, atau PowerShell. Lihat Langkah 3: Tambahkan kunci ke ruang kerja dan ikuti instruksi untuk pembaruan ruang kerja. Pastikan Anda menggunakan nilai yang sama untuk nama grup sumber daya dan nama ruang kerja sehingga memperbarui ruang kerja yang ada, daripada membuat ruang kerja baru. Selain perubahan dalam parameter terkait kunci, gunakan parameter yang sama yang digunakan untuk membuat ruang kerja.
Penting
Jika Anda memutar kunci, Anda harus menjaga kunci lama tetap tersedia selama 24 jam.
Ekspor dan impor ulang buku catatan yang sudah ada secara opsional untuk memastikan bahwa semua buku catatan yang sudah ada menggunakan kunci baru Anda.
Pemecahan Masalah
Penghapusan kunci secara tidak sengaja
Jika Anda menghapus kunci Anda di Azure Key Vault, login ruang kerja akan mulai gagal dan tidak ada buku catatan yang dapat dibaca oleh Azure Databricks. Untuk menghindari hal ini, kami sarankan Anda mengaktifkan penghapusan sementara. Opsi ini memastikan bahwa jika kunci dihapus, kunci dapat dipulihkan dalam periode 30 hari. Jika penghapusan sementara diaktifkan, Anda cukup mengaktifkan kembali kunci untuk menyelesaikan masalah.
Kegagalan pembaruan utama karena izin Key Vault
Jika Anda mengalami masalah saat membuat ruang kerja, periksa apakah Key Vault Anda memiliki izin yang benar. Kesalahan yang dikembalikan dari Azure mungkin tidak menunjukkan hal ini dengan benar sebagai akar penyebabnya. Selain itu, izin yang diperlukan adalah get
, wrapKey
, dan unwrapKey
. Lihat Langkah 1: Menyiapkan Key Vault.
Kunci yang hilang tidak dapat dipulihkan
Jika Anda kehilangan kunci dan tidak dapat memulihkannya, semua data buku catatan yang dienkripsi dengan kunci tersebut tidak dapat dipulihkan.
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk