Aracılığıyla paylaş


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

  1. Bir Anahtar Kasası oluşturma:

    az keyvault create --name <keyVaultName> --resource-group <resourceGroupName> --location <location> --sku <sku> --enable-purge-protection
    
  2. 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:

  1. Şu komutu çalıştırın:

    az keyvault key create \
    --name <key-name> \
    --vault-name <key-vault-name> \
    --protection software
    
  2. Çı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
  3. 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:

  1. Şu komutu çalıştırın:

    az keyvault key show --name <key-name> --vault-name <key-vault-name>
    
  2. 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.
  3. 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.

  4. 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

  1. 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>
    
  2. 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)

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.

  1. Çalışma alanı oluşturmaya veya güncelleştirmeye başlayın:

    Anahtarla yeni bir çalışma alanı oluşturun:

    1. Azure Portalı giriş sayfasına gidin ve sayfanın sol üst köşesindeki Kaynak oluştur'a tıklayın.
    2. Arama çubuğuna yazın Azure Databricks ve Azure Databricks'e tıklayın.
    3. Azure Databricks pencere öğesinden Oluştur'u seçin.
    4. Temel bilgiler ve sekmelerindeki form alanlarına değerleri girin.
    5. Ş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:

    1. tüm işlem kaynaklarını (kümeler, havuzlar) sonlandırın.
    2. Azure portalının Azure Databricks giriş sayfasına gidin.
    3. Mevcut Azure Databricks çalışma alanınıza gidin.
    4. Sol taraftaki panelden Şifreleme sekmesini açın.
    5. Müşteri tarafından yönetilen anahtarlar bölümünde Yönetilen Diskler etkinleştirin.
  2. Şifreleme alanlarını ayarlayın.

    Show fields in the Managed Disks section of the Azure Databricks blade

    • 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.
  3. 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.

  4. Çalışma alanınız dağıtıldıktan sonra yeni Azure Databricks çalışma alanınıza gidin.

  5. Azure Databricks çalışma alanınızın Genel Bakış sekmesinde Yönetilen Kaynak Grubu'na tıklayın.

  6. 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.

  7. Azure portalında, bu özellik için kullandığınız anahtarı yapılandırmak için kullanılan Azure Key Vault'a gidin.

  8. 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.

  9. Anahtar izinleri bölümünün altındaki İzinler sekmesinde Alma, Anahtar Açma ve Sarmalama anahtarını etkinleştirin.

  10. İleri'ye tıklayın.

  11. 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.

    Enter the name of disk encryption set and select the result

  12. 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 veya false) 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.

  1. Ç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ğinin principalId değerini kaydedin. Bu, daha sonraki bir adımda asıl kimlik olarak kullanılır.

  2. 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ı konumu
  • ManagedDiskKeyVaultPropertiesKeyName: Anahtar adı
  • ManagedDiskKeyVaultPropertiesKeyVaultUri: Key Vault URI'sı
  • ManagedDiskKeyVaultPropertiesKeyVersion: Anahtar sürümü
  • ManagedDiskRotationToLatestKeyVersionEnabled: Anahtarın (true veya false) otomatik döndürmesini etkinleştirin. Bu, isteğe bağlı bir alandır. Varsayılan değer false.
  1. Ç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
      
  2. 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 GETKey Vault'unuz için , WRAPve 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:

  1. 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.

  2. Azure Portal’ında oturum açın.

  3. Kaynak oluştur'a ve ardından Şablon dağıtımı (özel şablonlar kullanarak dağıtma) öğesine tıklayın.

  4. Özel dağıtım sayfasında, düzenleyicide Kendi şablonunuzu oluşturun'a tıklayın.

  5. Örnek şablonun içeriğini düzenleyiciye yapıştırın.

    Edit deployment page of the Azure custom deployment portal

  6. Kaydet'e tıklayın.

  7. 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.

    Project details page of the Azure custom deployment portal

  8. Gözden Geçir ve Oluştur’a tıklayın.

  9. 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.

  1. 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.

  2. Şablonunuzun için resources.properties.encryption.entities.managedDisk bölümünü ve ilgili parametrelerini keyvaultName, , keyNamekeyVersionve keyVaultResourceGroupNameiç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.

  3. 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:

  1. Aşağıdakilerden birini yaparak Azure Databricks çalışma alanı ayrıntılarınızı alın:

    • Azure Portalı

      1. Azure portalında Çalışma Alanları'na ve ardından çalışma alanınızın adına tıklayın.
      2. Çalışma alanı sayfasında JSON görünümü'ne tıklayın.
      3. API sürümüne eşit veya daha 2022-04-01-preview yüksek bir API sürümüne tıklayın.
    • 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>
      
  2. Çalışma alanınız için test için kullanılacak herhangi bir işlem kaynağı oluşturun:

  3. Azure portalında Çalışma Alanları'na ve ardından çalışma alanınızın adına tıklayın.

  4. Çalışma alanı sayfasında, çalışma alanınızın içinde olduğu yönetilen kaynak grubunun adına tıklayın.

  5. Kaynak grubu sayfasındaki Kaynaklar'ın altında bir sanal makinenin adına tıklayın.

  6. 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 CMKsahip 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.

  1. Ç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.
  2. 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 rotationToLatestKeyVersionEnabledtrue , 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