首页 > 解决方案 > 数据从 Azure 传输到 Snowflake 时使用什么加密?

问题描述

我的源数据位于 Azure Blob 中。我通过 ADF 管道将其加载到雪花表中。我知道雪花对其数据使用 E2E 加密,而且我们可以在雪花中提供 COPY COMMAND 时使用主密钥。我知道密钥保管库可以在 Azure 中用于源和接收器。

但是,这对我来说不是很清楚。对于从 azure 移动到雪花表的文件,加密究竟是如何工作的。客户端加密(主密钥)可能吗?还有其他方法可以做到这一点吗?

标签: azureencryptionsnowflake-cloud-data-platformazure-data-factoryazure-keyvault

解决方案


当数据存储在云存储服务中时,用户可以选择使用客户端加密对数据文件进行加密。

客户端加密为管理云存储中的数据提供了一个安全系统。客户端加密意味着用户在将存储的数据加载到 Snowflake 之前对其进行加密。云存储服务仅存储数据的加密版本,从不包含明文数据。

要从客户提供的阶段加载客户端加密数据,您可以使用CREATE STAGE创建一个带有附加 MASTER_KEY 参数的命名阶段对象,然后将数据从阶段加载到您的雪花表中。MASTER_KEY 参数需要使用 Base64 编码的 256 位高级加密标准 (AES) 密钥。

主密钥是客户秘密主密钥的 Base64 编码字符串。与所有其他凭据一样,此主密钥通过传输层安全性 (HTTPS) 传输到 Snowflake,并以加密方式存储在元数据存储中。只有客户和 Snowflake 的查询处理组件暴露在主密钥下,因此能够解密存储在阶段中的数据。

请访问Snowflake中的数据加密以获取详细信息。

您还可以查看https://www.snowflake.com/blog/data-encryption-with-customer-managed-keys-for-azure/


推荐阅读