Azure Key Vault加密解密可以在Databricks中进行吗?

Can Azure Key Vault Encryption Decryption be performed in Databricks?

我有一些加密的 Azure Blob,我需要使用 this Azure Key Vault 机制对其进行解密。是否有可能在数据块中使用 Scala 或 Python 来进行解密?我不确定这两种语言中是否有任何库可以让我进行解密?如果您知道任何库或有一些可以在 Python 或 Scala 中运行的示例代码,那将非常有帮助。

谢谢!

尝试使用 Azure Storage Client Library for Python 支持在上传到 Azure 存储之前在客户端应用程序中加密数据,并在下载到客户端时解密数据。

Use the Encryption via the envelope technique contains the following steps

1) Azure 存储客户端库生成一个内容加密密钥 (CEK),这是一次性使用的对称密钥关键。

2) 用户数据使用此内容加密密钥 (CEK) 加密

3) 然后使用 密钥加密密钥 (KEK) 包装(加密)CEK。 KEK 由密钥标识符标识,可以是非对称密钥对或对称密钥,在本地进行管理。存储客户端库本身永远无法访问 KEK。该库调用 KEK 提供的密钥包装算法。如果需要,用户可以选择为密钥 wrapping/unwrapping 使用自定义提供程序

4) 然后将加密数据上传到Azure存储服务。包装的密钥与一些额外的加密元数据一起存储为元数据(在 blob 上)或与加密数据(队列消息和 table 实体)进行插值。

Decryption via the envelope technique: contains the following steps

1) 客户端库假定用户在本地管理密钥加密密钥 (KEK)。用户不需要知道用于加密的特定密钥。相反,可以设置和使用将不同的密钥标识符解析为密钥的密钥解析器。

2) 客户端库下载 加密数据以及存储在服务上的任何加密 material

3) 包装的 内容加密密钥 (CEK) 然后使用 密钥加密解包(解密)密钥 (KEK)。同样,客户端库无权访问 KEK。它只是调用自定义提供程序的解包算法

4) 内容加密密钥 (CEK) 然后用于解密加密的用户数据。

有关详细信息和分步过程,请参阅此 document