Azure yönetilen diskleri için müşteri tarafından yönetilen anahtarları yapılandırma
İşlem düzlemindeki Azure Databricks işlem iş yükleri, Azure yönetilen disklerinde geçici verileri depolar. Varsayılan olarak, yönetilen disklerde depolanan veriler, Microsoft tarafından yönetilen anahtarlarla sunucu tarafı şifreleme kullanılarak bekleme durumunda şifrelenir. Bu makalede, yönetilen disk şifrelemesi için kullanılacak Azure Databricks çalışma alanınız için Azure Key Vault kasalarından müşteri tarafından yönetilen bir anahtarın nasıl yapılandırıldığı açıklanmaktadır. Azure Key Vault HSM'den anahtar kullanma yönergeleri için bkz . Azure tarafından yönetilen diskler için HSM müşteri tarafından yönetilen anahtarları yapılandırma.
Önemli
- Yönetilen disk depolama için müşteri tarafından yönetilen anahtarlar veri disklerine uygulanır, ancak işletim sistemi (OS) disklerine uygulanmaz.
- Yönetilen disk depolama için müşteri tarafından yönetilen anahtarlar, sunucusuz SQL ambarları ve Model Sunma gibi sunucusuz işlem kaynakları için geçerli değildir. Sunucusuz işlem kaynakları için kullanılan diskler kısa ömürlüdür ve sunucusuz iş yükünün yaşam döngüsüne bağlıdır. İşlem kaynakları durdurulduğunda veya ölçeklendirildiğinde VM'ler ve bunların depolama alanı yok edilir.
Gereksinimler
Azure Databricks çalışma alanınız Premium planda olmalıdır.
Azure Key Vault ve Azure Databricks çalışma alanınız aynı bölgede ve aynı Microsoft Entra Id (eski adıyla Azure Active Directory) kiracısında olmalıdır. Bunlar, farklı aboneliklerde bulunabilir.
Otomatik döndürmeyi etkinleştirmek istiyorsanız yalnızca yazılım anahtarları ve 2048 bit, 3072 bit ve 4096 bit boyutlarında HSM RSA desteklenir.
FedRAMP uyumluluğuna sahip çalışma alanları için bu özellik desteklenmez. Daha fazla bilgi için Azure Databricks hesap ekibinize başvurun.
Bu görevler için Azure CLI'yi kullanmak için Azure CLI aracını yükleyin ve Databricks uzantısını yükleyin:
az extension add --name databricks
Bu görevler için PowerShell'i kullanmak için Azure PowerShell'i yükleyin ve Databricks Powershell modülünü yükleyin. Ayrıca oturum açmanız gerekir:
Connect-AzAccount
Azure hesabınızda kullanıcı olarak oturum açmak için bkz . Azure Databricks kullanıcı hesabıyla PowerShell oturumu açma. Azure hesabınızda hizmet sorumlusu olarak oturum açmak için bkz . Microsoft Entra ID hizmet sorumlusuyla PowerShell oturumu açma.
1. Adım: Key Vault oluşturma
Key Vault'u Azure portalı, Azure CLI, Powershell gibi birçok yolla ve isteğe bağlı olarak ARM şablonlarını kullanarak oluşturabilirsiniz. Aşağıdaki bölümlerde Azure CLI ve PowerShell kullanma yordamları sağlanır. Diğer yaklaşımlar için Microsoft belgelerine bakın.
Azure CLI kullanma
Bir Anahtar Kasası oluşturma:
az keyvault create --name <keyVaultName> --resource-group <resourceGroupName> --location <location> --sku <sku> --enable-purge-protection
Kasa URI'sini alın:
az keyvault show --name <key-vault-name>
Yanıttan
vaultUri
değeri kopyalayın.
Powershell'i kullanma
Yeni kasa oluşturma:
$keyVault = New-AzKeyVault -Name <key-vault-name> -ResourceGroupName <resource-group-name> -Location <location> -Sku <sku> -EnablePurgeProtection
Mevcut bir Key Vault'a sahip olun:
$keyVault = Get-AzKeyVault -VaultName <key-vault-name>
2. Adım: Anahtar hazırlama
Azure portal, Azure CLI, PowerShell ve isteğe bağlı olarak ARM şablonlarını kullanarak bir anahtar oluşturabilir veya Azure Key Vault'ta depolanan mevcut bir anahtarı alabilirsiniz. Bu bölümde Azure CLI ve PowerShell yordamları sağlanır. Diğer yollar için Azure anahtarları belgelerine bakın.
Azure CLI kullanma
Bir anahtar oluşturabilir veya var olan bir anahtarı alabilirsiniz.
Anahtar oluşturma:
Şu komutu çalıştırın:
az keyvault key create \ --name <key-name> \ --vault-name <key-vault-name> \ --protection software
Çıktıdan aşağıdaki değerleri not edin:
- Anahtar kasası adı: Key Vault'unuzun adı
- Anahtar adı: Anahtarınızın adı
- Anahtar sürümü: Anahtarınızın sürümü
- Anahtar kasası kaynak grubu: Key Vault'unuzun kaynak grubu
Anahtar bilgilerini alma:
az keyvault key show --vault-name <keyVaultName> --name <keyName>
Anahtar kimliğiniz olan alanın değerini
kid
kopyalayın.Tam anahtar kimliği genellikle biçimindedir
https://<key-vault-name>.vault.azure.net/keys/<key-name>/<key-version>
. Genel olmayan bir bulutta yer alan Azure Key Vault anahtarlarının biçimi farklıdır.
Mevcut bir anahtarı alma:
Şu komutu çalıştırın:
az keyvault key show --name <key-name> --vault-name <key-vault-name>
Mevcut anahtarınız için aşağıdaki ayrıntıları not edin:
- Anahtar kasası adı: Key Vault'unuzun adı.
- Anahtar adı: Anahtarınızın adı.
- Anahtar sürümü: Anahtarınızın sürümü.
- Anahtar kasası kaynak grubu: Key Vault'unuzun kaynak grubu.
Anahtar bilgilerini alma:
az keyvault key show --vault-name <keyVaultName> --name <keyName>
Anahtar kimliğiniz olan alanın değerini
kid
kopyalayın.Tam anahtar kimliği genellikle biçimindedir
https://<key-vault-name>.vault.azure.net/keys/<key-name>/<key-version>
. Genel olmayan bir bulutta yer alan Azure Key Vault anahtarlarının biçimi farklıdır.Yeniden çalıştırarak
az keyvault key show --name <key name>
devam etmeden önce mevcut anahtarınızın etkinleştirildiğini onaylayın. Çıktıda görüntülenir"enabled": true
.
Powershell'i kullanma
Anahtar oluşturmayı planlıyorsanız, nasıl ve ne zaman oluşturduğunuza bağlı olarak erişim ilkesini ayarlamanız gerekebilir. Örneğin, Yakın zamanda PowerShell kullanarak Key Vault oluşturduysanız yeni Key Vault'unuzda anahtar oluşturmak için gereken erişim ilkesi eksik olabilir. Aşağıdaki örnek, ilkeyi
EmailAddress
ayarlamak için parametresini kullanır. İlgili ayrıntılar için Set-AzKeyVaultAccessPolicy hakkındaki Microsoft makalesine bakın.Yeni bir Key Vault'ta erişim ilkesini ayarlayın:
Set-AzKeyVaultAccessPolicy \ -VaultName $keyVault.VaultName \ -PermissionsToKeys all \ -EmailAddress <email-address>
Bir anahtar oluşturabilir veya mevcut bir anahtarı alabilirsiniz:
Anahtar oluşturma:
$key = Add-AzKeyVaultKey \ -VaultName $keyVault.VaultName \ -Name <key-name> \ -Destination 'Software'
Mevcut bir anahtarı alma:
$key = Get-AzKeyVaultKey \ -VaultName $keyVault.VaultName \ -Name <key-name>
3. Adım: Bir çalışma alanını başlangıçta anahtar eklemek üzere güncelleştiriyorsanız tüm işlem kaynaklarını durdurun
Başlangıçta mevcut bir çalışma alanına yönetilen diskler için müşteri tarafından yönetilen anahtar ekliyorsanız güncelleştirmeden önce tüm işlem kaynaklarınızı (kümeler, havuzlar, klasik veya profesyonel SQL ambarları) durdurun.
Güncelleştirme tamamlandıktan sonra durdurduğunuz işlem kaynaklarını başlatabilirsiniz. Yönetilen diskler için müşteri tarafından yönetilen anahtarı olan bir çalışma alanı için işlem kaynaklarını sonlandırmadan anahtarı döndürebilirsiniz.
4. Adım: Çalışma alanı oluşturma veya güncelleştirme
Yönetilen diskler için müşteri tarafından yönetilen anahtarla çalışma alanı oluşturmak veya güncelleştirmek için aşağıdaki dağıtım stratejilerinden birini seçin:
- Azure portalını kullanma (şablon yok)
- Azure CLI kullanma (şablon yok)
- PowerShell kullanma (şablon yok)
- ARM şablonu kullanma (Azure portalı veya CLI)
Azure portalını kullanma (şablon yok)
Bu bölümde, şablon kullanmadan yönetilen diskler için müşteri tarafından yönetilen anahtarlarla çalışma alanı oluşturmak veya güncelleştirmek için Azure portalının nasıl kullanılacağı açıklanmaktadır.
Çalışma alanı oluşturmaya veya güncelleştirmeye başlayın:
Anahtarla yeni bir çalışma alanı oluşturun:
- Azure Portalı giriş sayfasına gidin ve sayfanın sol üst köşesindeki Kaynak oluştur'a tıklayın.
- Arama çubuğuna yazın
Azure Databricks
ve Azure Databricks'e tıklayın. - Azure Databricks pencere öğesinden Oluştur'u seçin.
- Temel bilgiler ve Ağ sekmelerindeki form alanlarına değerleri girin.
- Şifreleme sekmesinde, Yönetilen Diskler bölümünde Kendi anahtarınızı kullan onay kutusunu seçin.
Başlangıçta mevcut çalışma alanına bir anahtar ekleyin:
- tüm işlem kaynaklarını (kümeler, havuzlar) sonlandırın.
- Azure portalının Azure Databricks giriş sayfasına gidin.
- Mevcut Azure Databricks çalışma alanınıza gidin.
- Sol taraftaki panelden Şifreleme sekmesini açın.
- Müşteri tarafından yönetilen anahtarlar bölümünde Yönetilen Diskler etkinleştirin.
Şifreleme alanlarını ayarlayın.
- Anahtar Tanımlayıcısı alanına Azure Key Vault anahtarınızın Anahtar Tanımlayıcısını yapıştırın.
- Abonelik açılan listesinde Azure Key Vault anahtarınızın abonelik adını girin.
- Anahtarınızın otomatik döndürmesini etkinleştirmek için Anahtarın Otomatik Döndürmesini Etkinleştir'i etkinleştirin.
Kalan sekmeleri tamamlayın ve Gözden Geçir + Oluştur (yeni çalışma alanı için) veya Kaydet'e (çalışma alanını güncelleştirmek için) tıklayın.
Çalışma alanınız dağıtıldıktan sonra yeni Azure Databricks çalışma alanınıza gidin.
Azure Databricks çalışma alanınızın Genel Bakış sekmesinde Yönetilen Kaynak Grubu'na tıklayın.
Yönetilen kaynak grubunun Genel Bakış sekmesinde, bu kaynak grubunda oluşturulan Disk Şifreleme Kümesi türündeki nesneyi arayın. Disk Şifreleme Kümesinin adını kopyalayın.
Azure portalında, bu özellik için kullandığınız anahtarı yapılandırmak için kullanılan Azure Key Vault'a gidin.
Sol taraftaki panelden Erişim ilkeleri sekmesini açın. Sekme açıldıktan sonra sayfanın üst kısmındaki Oluştur'a tıklayın.
Anahtar izinleri bölümünün altındaki İzinler sekmesinde Alma, Anahtar Açma ve Sarmalama anahtarını etkinleştirin.
İleri'ye tıklayın.
Asıl sekmesinde, arama çubuğuna Azure Databricks çalışma alanınızın yönetilen kaynak grubu içindeki Disk Şifreleme Kümesi'nin adını girin. Sonucu seçin ve İleri'ye tıklayın.
Gözden Geçir + oluştur sekmesine ve ardından Oluştur'a tıklayın.
Azure CLI kullanma (şablon yok)
Hem yeni hem de güncelleştirilmiş çalışma alanları için komutunuza şu parametreleri ekleyin:
disk-key-name
: Anahtarın adıdisk-key-vault
: Kasanın adıdisk-key-version
: Anahtar sürümüdisk-key-auto-rotation
: Anahtarın (true
veyafalse
) otomatik döndürmesini etkinleştirin. Bu, isteğe bağlı bir alandır. Varsayılan değer:false
.
Aşağıdaki komutlarda, yerine <key-vault-uri>
önceki adımda verilen yanıttan kasa URI değerini kullanın. Ayrıca, anahtar adı ve anahtar sürümü değerleri önceki adımda verilen yanıttaki değer içinde kid
bulunabilir.
Çalışma alanı oluşturma veya güncelleştirme:
Bu yönetilen disk parametrelerini kullanarak çalışma alanı oluşturma örneği:
az databricks workspace create --name <workspace-name> \ --resource-group <resource-group-name> \ --location <location> \ --sku premium --disk-key-name <key-name> \ --disk-key-vault <key-vault-uri> \ --disk-key-version <key-version> \ --disk-key-auto-rotation <true-or-false>
Bu yönetilen disk parametrelerini kullanarak çalışma alanını güncelleştirme örneği:
az databricks workspace update \ --name <workspace-name> \ --resource-group <resource-group-name> \ --disk-key-name <key-name> \ --disk-key-vault <key-vault-uri> \ --disk-key-version <key-version> \ --disk-key-auto-rotation <true-or-false>
Bu komutlardan birinin çıkışında bir
managedDiskIdentity
nesnesi vardır. Bu nesnenin içindeki özelliğininprincipalId
değerini kaydedin. Bu, daha sonraki bir adımda asıl kimlik olarak kullanılır.Key Vault'a anahtar izni olan bir erişim ilkesi ekleyin. Önceki adımlarda yer alan kasa adını ve asıl kimliğini kullanın:
az keyvault set-policy \ --name <key-vault-name> \ --object-id <principal-id> \ --key-permissions get wrapKey unwrapKey
PowerShell kullanma (şablon yok)
Hem yeni hem de güncelleştirilmiş çalışma alanları için komutunuza şu parametreleri ekleyin:
location
: Çalışma alanı konumuManagedDiskKeyVaultPropertiesKeyName
: Anahtar adıManagedDiskKeyVaultPropertiesKeyVaultUri
: Key Vault URI'sıManagedDiskKeyVaultPropertiesKeyVersion
: Anahtar sürümüManagedDiskRotationToLatestKeyVersionEnabled
: Anahtarın (true
veyafalse
) otomatik döndürmesini etkinleştirin. Bu, isteğe bağlı bir alandır. Varsayılan değer false.
Çalışma alanı oluşturma veya güncelleştirme:
Yönetilen disk parametrelerini kullanarak çalışma alanı oluşturma örneği:
$workspace = New-AzDatabricksWorkspace -Name <workspace-name> \ -ResourceGroupName <resource-group-name> \ -location $keyVault.Location \ -Sku premium \ -ManagedDiskKeyVaultPropertiesKeyName $key.Name \ -ManagedDiskKeyVaultPropertiesKeyVaultUri $keyVault.VaultUri \ -ManagedDiskKeyVaultPropertiesKeyVersion $key.Version -ManagedDiskRotationToLatestKeyVersionEnabled
Yönetilen disk parametrelerini kullanarak çalışma alanını güncelleştirme örneği:
$workspace = Update-AzDatabricksworkspace -Name <workspace-name> \ -ResourceGroupName <resource-group-name> \ -ManagedDiskKeyVaultPropertiesKeyName $key.Name \ -ManagedDiskKeyVaultPropertiesKeyVaultUri $keyVault.VaultUri \ -ManagedDiskKeyVaultPropertiesKeyVersion $key.Version -ManagedDiskRotationToLatestKeyVersionEnabled
Key Vault'a anahtar izinlerine sahip bir erişim ilkesi ekleyin:
Set-AzKeyVaultAccessPolicy -VaultName $keyVault.VaultName \ -ObjectId $workspace.ManagedDiskIdentityPrincipalId \ -PermissionsToKeys wrapkey,unwrapkey,get
ARM şablonu kullanma (Azure portalı veya CLI)
Azure hızlı başlangıç şablonlarını Azure belgelerinde inceleyebilirsiniz. ARM şablonu dağıtım seçeneklerinin listesi için ARM şablonu belgelerine bakın.
Çalışma alanı oluşturduğunuzda, çalışma alanınızın yönetilen kaynak grubunda bir disk şifreleme kümesi kaynağı da oluşturulur. Key Vault'unuza erişmek için kullanılan sistem tarafından atanan yönetilen bir kimliğe sahiptir. Azure Databricks işleminin verilerinizi şifrelemek için bu anahtarı kullanabilmesi için önce disk şifreleme kümesinin asıl kimliğini almanız ve ardından kimliğe GET
Key Vault'unuz için , WRAP
ve UNWRAP
anahtar izinlerini vermelisiniz.
Databricks, çalışma alanını oluşturmanızı veya güncelleştirmenizi ve aynı şablon dağıtımında Key Vault izinleri vermenizi önerir. Bir özel durum dışında Key Vault izinleri vermeden önce çalışma alanını oluşturmanız veya güncelleştirmeniz gerekir. Mevcut yönetilen disk müşteri tarafından yönetilen anahtar çalışma alanını yeni bir Key Vault'ta yeni anahtar kullanacak şekilde güncelleştirirseniz, mevcut disk şifreleme kümesine yeni Key Vault'a erişim izni vermeli ve çalışma alanını yeni anahtar yapılandırmasıyla güncelleştirmelisiniz.
Bu bölümdeki örnek şablon aşağıdakilerin ikisini de yapar:
- Yönetilen disk müşteri tarafından yönetilen anahtar ayarları eklemek için bir çalışma alanı oluşturur veya güncelleştirir
- Disk şifreleme kümesine Key Vault'unuza erişim verir
İki şey yapan aşağıdaki örnek ARM şablonunu kullanabilirsiniz:
- Yönetilen disk müşteri tarafından yönetilen anahtarla çalışma alanı oluşturun veya güncelleştirin.
- Anahtar erişim ilkesi oluşturun.
Zaten bir ARM şablonu kullanıyorsanız, örnek şablondaki parametreleri, kaynakları ve çıkışları mevcut şablonunuzla birleştirebilirsiniz.
{
"$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": [
"premium"
],
"metadata": {
"description": "The pricing tier of workspace"
}
},
"apiVersion": {
"type": "string",
"defaultValue": "2023-02-01",
"allowedValues": [
"2023-02-01",
"2022-04-01-preview"
],
"metadata": {
"description": "The API version to use to create the workspace resources"
}
},
"keyVaultName": {
"type": "string",
"metadata": {
"description": "The Key Vault name used for CMK"
}
},
"keyName": {
"type": "string",
"metadata": {
"description": "The key name used for CMK"
}
},
"keyVersion": {
"type": "string",
"metadata": {
"description": "The key version used for CMK"
}
},
"keyVaultResourceGroupName": {
"type": "string",
"metadata": {
"description": "The resource group name of the Key Vault used for CMK"
}
},
"enableAutoRotation": {
"type": "bool",
"defaultValue": false,
"allowedValues": [
true,
false
],
"metadata": {
"description": "Whether managed disk picks up new key versions automatically"
}
}
},
"variables": {
"managedResourceGroupName": "[concat('databricks-rg-', parameters('workspaceName'), '-', uniqueString(parameters('workspaceName'), resourceGroup().id))]"
},
"resources": [
{
"type": "Microsoft.Databricks/workspaces",
"name": "[parameters('workspaceName')]",
"location": "[resourceGroup().location]",
"apiVersion": "[parameters('apiVersion')]",
"sku": {
"name": "[parameters('pricingTier')]"
},
"properties": {
"managedResourceGroupId": "[concat(subscription().id, '/resourceGroups/', variables('managedResourceGroupName'))]",
"encryption": {
"entities": {
"managedDisk": {
"keySource": "Microsoft.Keyvault",
"keyVaultProperties": {
"keyVaultUri": "[concat('https://', parameters('keyVaultName'), environment().suffixes.keyvaultDns)]",
"keyName": "[parameters('keyName')]",
"keyVersion": "[parameters('keyVersion')]"
},
"rotationToLatestKeyVersionEnabled": "[parameters('enableAutoRotation')]"
}
}
}
}
},
{
"type": "Microsoft.Resources/deployments",
"apiVersion": "2020-06-01",
"name": "addAccessPolicy",
"resourceGroup": "[parameters('keyVaultResourceGroupName')]",
"dependsOn": [
"[resourceId('Microsoft.Databricks/workspaces', parameters('workspaceName'))]"
],
"properties": {
"mode": "Incremental",
"template": {
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "0.9.0.0",
"resources": [
{
"type": "Microsoft.KeyVault/vaults/accessPolicies",
"apiVersion": "2019-09-01",
"name": "[concat(parameters('keyVaultName'), '/add')]",
"properties": {
"accessPolicies": [
{
"objectId": "[reference(resourceId('Microsoft.Databricks/workspaces', parameters('workspaceName')), '2023-02-01').managedDiskIdentity.principalId]",
"tenantId": "[reference(resourceId('Microsoft.Databricks/workspaces', parameters('workspaceName')), '2023-02-01').managedDiskIdentity.tenantId]",
"permissions": {
"keys": [
"get",
"wrapKey",
"unwrapKey"
]
}
}
]
}
}
]
}
}
}
],
"outputs": {
"workspace": {
"type": "object",
"value": "[reference(resourceId('Microsoft.Databricks/workspaces', parameters('workspaceName')))]"
}
}
}
Şablonu Azure portalı, CLI veya diğer araçlar da dahil olmak üzere istediğiniz araçlarla kullanın. Aşağıdaki şablon dağıtım stratejileri için ayrıntılara yer verilmiştir:
Azure portalını kullanarak ARM şablonu uygulama
Azure portalında ARM şablonu kullanarak çalışma alanı oluşturmak veya güncelleştirmek için aşağıdakileri yapın:
Yalnızca başlangıçta mevcut bir çalışma alanına anahtar ekliyorsanız tüm işlem kaynaklarını (kümeler, havuzlar) sonlandırın. Bu adımı gerçekleştiremezseniz, güncelleştirme sırasında kaynaklar otomatik olarak sonlandırılır ve bu da bazı iş yükü türlerinde sorunlara neden olabilir. Anahtarı eklemeden önce tüm işlem kaynaklarını sonlandırmak için kapalı kalma süresini planlayın. Güncelleştirme tamamlandıktan sonra durdurduğunuz işlem kaynaklarını başlatacaksınız. Yönetilen diskler için müşteri tarafından yönetilen anahtarı olan bir çalışma alanı için işlem kaynaklarını sonlandırmadan anahtarı döndürebilirsiniz.
Azure Portal’ında oturum açın.
Kaynak oluştur'a ve ardından Şablon dağıtımı (özel şablonlar kullanarak dağıtma) öğesine tıklayın.
Özel dağıtım sayfasında, düzenleyicide Kendi şablonunuzu oluşturun'a tıklayın.
Örnek şablonun içeriğini düzenleyiciye yapıştırın.
Kaydet'e tıklayın.
Parametre değerlerinizi girin.
Var olan bir çalışma alanını güncelleştirmek için, çalışma alanını oluşturmak için kullandığınız parametreleri kullanın. Müşteri tarafından yönetilen anahtarı ilk kez eklemek için, yukarıdaki şablonda gösterildiği gibi altında
resources.properties.encryption.entities.managedDisk
anahtarla ilgili parametreleri ekleyin. Anahtarı döndürmek için anahtarla ilgili parametrelerin bazılarını veya tümünü değiştirin.Önemli
Bir çalışma alanını güncelleştirirseniz, kaynak grubu adı ve şablondaki çalışma alanı adı, kaynak grubu adıyla ve var olan çalışma alanınızın çalışma alanı adıyla aynı olmalıdır.
Gözden Geçir ve Oluştur’a tıklayın.
Doğrulama sorunlarını çözün ve oluştur'a tıklayın.
Önemli
Anahtarı döndürürseniz, çalışma alanı güncelleştirmesi tamamlanana kadar eski anahtarı silmeyin.
Azure CLI kullanarak ARM şablonu uygulama
Bu bölümde, Azure CLI ile ARM şablonu kullanarak anahtarınızla çalışma alanı oluşturma veya güncelleştirme işlemleri açıklanmaktadır.
Yalnızca başlangıçta mevcut bir çalışma alanına anahtar ekliyorsanız tüm işlem kaynaklarını (kümeler, havuzlar) sonlandırın. Bu adımı gerçekleştiremezseniz, güncelleştirme sırasında kaynaklar otomatik olarak sonlandırılır ve bu da bazı iş yükü türlerinde sorunlara neden olabilir. Bu güncelleştirmeyi zamanlamayı ve kapalı kalma süresini planlamayı düşünebilirsiniz. Yalnızca anahtarı döndüren bu adım gerekli değildir.
Şablonunuzun için
resources.properties.encryption.entities.managedDisk
bölümünü ve ilgili parametrelerinikeyvaultName
, ,keyName
keyVersion
vekeyVaultResourceGroupName
içerip içermediğini denetleyin. Bunlar orada değilse, örnek bir şablon için bu bölümün önceki bölümlerine bakın ve bu bölümü ve parametreleri şablonunuzla birleştirin.az deployment group create
komutunu çalıştırın. Kaynak grubu adı ve çalışma alanı adı, var olan bir çalışma alanının kaynak grubu adı ve çalışma alanı adıyla aynıysa, bu komut yeni bir çalışma alanı oluşturmak yerine var olan çalışma alanını güncelleştirir. Mevcut bir dağıtımı güncelleştiriyorsanız, daha önce kullanılan kaynak grubu ve çalışma alanı adını kullandığınızdan emin olun.az deployment group create --resource-group <existing-resource-group-name> \ --template-file <file-name>.json \ --parameters workspaceName=<workspace-name> \ keyvaultName=<key-vault-name> \ keyName=<key-name> keyVersion=<key-version> \ keyVaultResourceGroupName=<key-vault-resource-group>
Önemli
Anahtarı döndürürseniz, eski anahtarı yalnızca çalışma alanı güncelleştirmesi tamamlandıktan sonra silebilirsiniz.
5. Adım: İşlem kaynaklarınızın anahtarınızı kullandığını onaylayın (isteğe bağlı)
Yönetilen disk müşteri tarafından yönetilen anahtar özelliğinin çalışma alanı için etkinleştirildiğini onaylamak için:
Aşağıdakilerden birini yaparak Azure Databricks çalışma alanı ayrıntılarınızı alın:
Azure Portalı
Azure CLI
Şu komutu çalıştırın:
az databricks workspace show --resource-group <resource group name> --name <workspace name>
Yönetilen disk şifreleme parametreleri altındadır
properties
. Örneğin:"properties": { "encryption": { "entities": { "managedDisk": { "keySource": "Microsoft.Keyvault", "keyVaultProperties": { "keyVaultUri": "<key-vault-uri>", "keyName": "<key-name>", "keyVersion": "<key-version>" }, "rotationToLatestKeyVersionEnabled": "<rotation-enabled>" } } }
PowerShell
Get-AzDatabricksWorkspace -Name <workspace-name> -ResourceGroupName <resource-group-name> | Select-Object -Property ManagedDiskKeySource, ManagedDiskKeyVaultPropertiesKeyVaultUri, ManagedServicesKeyVaultPropertiesKeyName, ManagedServicesKeyVaultPropertiesKeyVersion, ManagedDiskRotationToLatestKeyVersionEnabled
Çıktıda döndürülen özelliklerin değerlerini gözden geçirin:
ManagedDiskKeySource : Microsoft.Keyvault ManagedDiskKeyVaultPropertiesKeyVaultUri : <key-vault-uri> ManagedServicesKeyVaultPropertiesKeyName : <key-name> ManagedServicesKeyVaultPropertiesKeyVersion : <key-version> ManagedDiskRotationToLatestKeyVersionEnabled : <rotation-enabled>
Çalışma alanınız için test için kullanılacak herhangi bir işlem kaynağı oluşturun:
-
İşlem kaynağı başarıyla başlatılamazsa, bunun nedeni genellikle disk şifreleme kümesine Key Vault'unuza erişmek için uygun izinleri vermeniz gerekir.
Azure portalında Çalışma Alanları'na ve ardından çalışma alanınızın adına tıklayın.
Çalışma alanı sayfasında, çalışma alanınızın içinde olduğu yönetilen kaynak grubunun adına tıklayın.
Kaynak grubu sayfasındaki Kaynaklar'ın altında bir sanal makinenin adına tıklayın.
Sanal makine sayfasının sol tarafındaki Ayarlar altında Diskler'e tıklayın.
Diskler sayfasındaki Veri diskleri'nin altında, diskinizin Şifreleme alanının değerine
SSE with CMK
sahip olduğunu onaylayın.
6. Adım: Önceden sonlandırılan işlem kaynaklarını başlatma
Bu adım, yalnızca çalışma alanını ilk kez anahtar ekleyecek şekilde güncelleştirdiyseniz gereklidir; bu durumda, önceki adımda çalışan işlem kaynaklarını sonlandırdınız. Yeni bir çalışma alanı oluşturduysanız veya anahtarı yalnızca döndüriyorsanız, işlem kaynakları önceki adımlarda sonlandırılmamıştır; bu durumda bu adımı atlayabilirsiniz.
- Çalışma alanı güncelleştirmesinin tamamlandığından emin olun. Anahtar şablondaki tek değişiklikse, bu genellikle beş dakikadan kısa sürede tamamlar, aksi takdirde daha fazla zaman alabilir.
- Daha önce sonlandırdığınız işlem kaynaklarını el ile başlatın.
İşlem kaynaklarının hiçbiri başarıyla başlatılamazsa, bunun nedeni genellikle disk şifreleme kümesine Key Vault'unuza erişim izni vermeniz gerekir.
Anahtarı daha sonra döndürme
Mevcut bir çalışma alanında zaten anahtarı olan iki tür anahtar döndürmesi vardır:
- Otomatik döndürme: Çalışma alanınız içinse
rotationToLatestKeyVersionEnabled
true
, disk şifreleme kümesi anahtar sürümü değişikliğini algılar ve en son anahtar sürümüne işaret eder. - El ile döndürme: Mevcut yönetilen disk müşteri tarafından yönetilen anahtar çalışma alanını yeni bir anahtarla güncelleştirebilirsiniz. Yukarıdaki yönergeleri, başlangıçta var olan çalışma alanına anahtar ekliyor gibi izleyin. Önemli fark, çalışan işlem kaynaklarını sonlandırmanız gerekmemesidir.
Her iki döndürme türü için de Azure Sanal Makine depolama hizmeti yeni anahtarı otomatik olarak alır ve veri şifreleme anahtarını şifrelemek için kullanır. Azure Databricks işlem kaynaklarınız etkilenmez. Daha fazla bilgi için Azure belgelerindeki Müşteri tarafından yönetilen anahtarlar bölümüne bakın.
Anahtarı döndürmeden önce işlem kaynaklarını sonlandırmanız gerekmez.
Sorun giderme
Küme ile başarısız oluyor KeyVaultAccessForbidden
Sorun, bir kümenin aşağıdaki hatayla başlayamaz olmasıdır:
Cloud Provider Launch Failure: KeyVaultAccessForbidden
Çalışma alanınızın yönetilen kaynak grubunda oluşturulan disk şifreleme kümesine Key Vault'unuza erişim izni verin. Gereken izinler: GET
, WRAPKEY
, UNWRAPKEY
.
Dağıtım türünüz için 4. Adım: Bir çalışma alanı oluşturun veya güncelleştirin alt kısmını yeniden okuyun ve belirli izinlerle Key Vault erişim ilkesi güncelleştirmesine özellikle dikkat edin.
Anahtar parametreler eksik
Sorun, yönetilen disk müşteri tarafından yönetilen anahtar parametrelerinin eksik olmasıdır.
ARM şablonunuzun Microsoft.Databricks/workspaces
kaynağı için doğru API sürümünü kullandığını onaylayın. Yönetilen disk müşteri tarafından yönetilen anahtar özelliği yalnızca 2022-04-01-preview
değerine eşit veya ondan yüksek API sürümüyle kullanılabilir. Diğer API sürümlerini kullanıyorsanız çalışma alanı oluşturulur veya güncelleştirilir ancak yönetilen disk parametreleri yok sayılır.
Çalışma alanı güncelleştirmesi ile başarısız oluyor ApplicationUpdateFail
Sorun, yönetilen disk özellikli bir çalışma alanı için aşağıdaki hatayla başarısız olan bir çalışma alanı güncelleştirme veya düzeltme eki işlemidir:
Failed to update application: `<workspace name>`, because patch resource group failure. (Code: ApplicationUpdateFail)
Key Vault'unuza disk şifreleme kümesi erişimi verin, ardından etiket ekleme gibi çalışma alanı güncelleştirme işlemleri gerçekleştirin.
Erişim ilkesi eksik
Sorun şu hatadır:
ERROR CODE: BadRequest MESSAGE: Invalid value found at accessPolicies[14].ObjectId: <objectId>
Yukarıdaki nesne kimliğine sahip erişim ilkesi Key Vault'unuzda geçersiz. Key Vault'unuza yeni erişim ilkeleri eklemek için bu ilkeyi kaldırmanız gerekir.
Kayıp anahtarlar kurtarılamaz
Kayıp anahtarlar kurtarılamaz. Anahtarınızı kaybeder veya iptal ederseniz ve kurtaramazsanız Azure Databricks işlem kaynakları artık çalışmaz. Çalışma alanının diğer işlevleri etkilenmez.
Kaynak
- Azure belgelerinde Azure yönetilen diskleri
- Azure belgelerinde Azure Disk Depolama sunucu tarafı şifrelemesi