настройка ключей, управляемых клиентом, для DBFS с помощью PowerShell.

Примечание.

Эта функция доступна только в плане Premium.

PowerShell можно использовать для настройки собственного ключа шифрования для шифрования учетной записи хранения рабочей области. В этой статье описывается настройка собственного ключа из хранилищ Azure Key Vault. Инструкции по использованию ключа из Azure Key Vault Managed HSM см. в разделе Настройка ключей, управляемых клиентом HSM для DBFS с помощью PowerShell.

Дополнительные сведения о ключах, управляемых клиентом для DBFS, см. в разделе "Ключи, управляемые клиентом" для корневого каталога DBFS.

Установка модуля PowerShell Azure Databricks

  1. Установите Azure PowerShell.
  2. Установите модуль PowerShell Azure Databricks.

Подготовка новой или существующей рабочей области Azure Databricks к шифрованию

Замените значения заполнителей в квадратных скобках собственными значениями. <workspace-name> — это имя ресурса, отображаемое на портале Azure.

Подготовка шифрования при создании рабочей области:

$workSpace = New-AzDatabricksWorkspace -Name <workspace-name> -Location <workspace-location> -ResourceGroupName <resource-group> -Sku premium -PrepareEncryption

Подготовка существующей рабочей области к шифрованию:

$workSpace = Update-AzDatabricksWorkspace -Name <workspace-name> -ResourceGroupName <resource-group> -PrepareEncryption

Дополнительные сведения о командлетах PowerShell для рабочих областей Azure Databricks см. в Справочнике по Az.Databricks.

Создайте новое хранилище ключей

Хранилище ключей Azure, используемое для хранения управляемых пользователем ключей для DBFS по умолчанию (root), должно иметь два параметра защиты ключей: мягкое удаление и защита от удаления.

Внимание

Хранилище ключей должно находиться в том же клиенте Azure, что и рабочая область Azure Databricks.

В модуле Az.KeyVault версии 2.0.0 и более поздних по умолчанию включается мягкое удаление при создании нового хранилища ключей.

В следующем примере создается новое хранилище ключей с включенными свойствами мягкого удаления и защиты от окончательной очистки. Замените значения заполнителей в квадратных скобках собственными значениями.

$keyVault = New-AzKeyVault -Name <key-vault> `
     -ResourceGroupName <resource-group> `
     -Location <location> `
     -EnablePurgeProtection

Сведения о том, как включить мягкое удаление и защиту от очистки в существующем хранилище ключей с помощью PowerShell, см. в статье Управление восстановлением Azure Key Vault с мягким удалением и защитой от очистки.

Предоставьте учетной записи хранилища рабочей области доступ к хранилищу ключей.

Предоставьте удостоверению учетной записи хранения рабочей области роль пользователя шифрования в службе шифрования Key Vault в вашем хранилище ключей.

New-AzKeyVaultRoleAssignment -RoleDefinitionName "Key Vault Crypto Service Encryption User" -ObjectId $workspace.StorageAccountIdentity.PrincipalId

Примечание.

Если хранилище ключей использует политики доступа вместо RBAC, используйте следующую команду:

Set-AzKeyVaultAccessPolicy `
      -VaultName $keyVault.VaultName `
      -ObjectId $workspace.StorageAccountIdentity.PrincipalId `
      -PermissionsToKeys wrapkey,unwrapkey,get

Создайте новый ключ

Создайте новый ключ в хранилище ключей с помощью командлета Add-AzKeyVaultKey . Замените значения заполнителей в квадратных скобках собственными значениями.

$key = Add-AzKeyVaultKey -VaultName $keyVault.VaultName -Name <key> -Destination 'Software'

Хранилище корневых DBFS поддерживает ключи RSA и RSA-HSM размером 2048, 3072 и 4096. Дополнительные сведения о ключах см. в статье Ключи Key Vault.

Настройка шифрования DBFS с использованием ключей, управляемых клиентом

Настройте рабочую область Azure Databricks для использования ключа, созданного в Azure Key Vault. Замените значения заполнителей в квадратных скобках собственными значениями.

Update-AzDatabricksWorkspace -ResourceGroupName <resource-group> `
      -Name <workspace-name>
     -EncryptionKeySource Microsoft.Keyvault `
     -EncryptionKeyName $key.Name `
     -EncryptionKeyVersion $key.Version `
     -EncryptionKeyVaultUri $keyVault.VaultUri

Отключение ключей, управляемых клиентом

При отключении ключей, управляемых клиентом, ваша учетная запись хранения снова будет шифроваться с помощью ключей, управляемых корпорацией Майкрософт.

Замените значения заполнителя в скобках собственными значениями и используйте переменные, определенные на предыдущих шагах.

Update-AzDatabricksWorkspace -Name <workspace-name> -ResourceGroupName <resource-group> -EncryptionKeySource Default