【问题标题】:Encryption at rest in Snowflake (Tri Secret Sauce)雪花中的静态加密(Tri Secret Sauce)
【发布时间】:2022-01-22 13:21:13
【问题描述】:

我想了解雪花的加密方法。我具体有两个问题:

  1. 雪花是否在写入 S3 存储桶之前加密数据?或者它只是依赖于 AWS 对 S3 存储桶的加密。
  2. Snowflake 加密中使用的密钥层次结构,如何帮助防止无权访问客户 KMS 的恶意 AWS 人员,

【问题讨论】:

    标签: amazon-web-services encryption snowflake-cloud-data-platform


    【解决方案1】:

    请看下面我的回复

    1. 雪花是否在写入 S3 存储桶之前加密数据?或者它只是依赖于 AWS 对 S3 存储桶的加密。

    回答:是的,如果您使用的是内部阶段,Snowflake 会在客户端加密数据,然后发送到云存储。内部阶段由 Snowflake 管理。如果您使用的是外部阶段,则您有责任在加载到外部阶段之前对文件进行加密。但是一旦雪花将数据从外部阶段加载到雪花表中,它就会被雪花自动加密

    1. Snowflake 加密中使用的密钥层次结构,如何帮助防止无权访问客户 KMS 的恶意 AWS 人员,

    Ans: 我没看懂这个问题。但我认为您可能需要阅读有关 Tri-Secret 安全密钥和客户管理密钥的信息

    https://docs.snowflake.com/en/user-guide/security-encryption.html#tri-secret-secure-and-customer-managed-keys

    【讨论】:

      【解决方案2】:

      对于客户管理的密钥,AMK 由两个密钥组成:AMK-S 和 AMK-C。 AMK-S 是一个随机的 256 位密钥,它与存储在 HSM 中的根密钥一起包装。 AMK-C 是第二个随机 256 位密钥,它与存储在 KMS 中的客户密钥一起包装。 AMK-S 和 AMK-C 完全随机且不相关。两个包装的密钥都存储在 Snowflake 的加密密钥层次结构中。如果其中一个密钥不匹配或不可用,这可以防止恶意访问客户数据。 我建议查看以下链接以更深入地了解此概念:

      https://www.snowflake.com/blog/customer-managed-keys/

      https://docs.snowflake.com/en/user-guide/security-encryption.html

      【讨论】:

        【解决方案3】:

        Snowflake 支持客户端加密或服务器端加密。两者都可以配置为解密 S3 存储桶中暂存的文件

        client-side encryption, Snowflake supports using a master key stored in Snowflake; using a master key stored in AWS Key Management Service (AWS KMS) is not supported.

        Server-side encryption:
        AWS_SSE_S3: Requires no additional encryption settings.
        AWS_SSE_KMS: Accepts an optional KMS_KEY_ID value.
        

        更多详情:https://docs.snowflake.com/en/user-guide/data-load-s3-encrypt.html#aws-data-file-encryption

        关于三秘密安全问题:更详细的答案:Tri-Secret benefits

        【讨论】:

          【解决方案4】:

          为了正确理解,当我们在雪花中加载数据时,首先在舞台环境中对其进行加密 - 这是在文件级别吗?

          然后,当这个阶段的数据被推送到 S3(Snowflake 的 VPC)时,它会使用 AWS 提供的数据密钥在对象级别进行加密。

          问题:

          1. 根据文档here,我的理解是原始数据文件(未加密)仅在 S3 中加密,而 Snowflake 执行此密钥层次结构以更好地保护数据密钥?
          2. 考虑到来自云提供商内部人员的一个威胁向量,我的理解是,由于数据密钥是用复合密钥包装的,因此更难解密和获取明文数据密钥。但是,数据本身仅受数据密钥保护。
          3. 这与运营数据库提供的 TDE 解决方案相比如何?

          【讨论】:

            猜你喜欢
            • 2021-10-16
            • 2020-08-14
            • 1970-01-01
            • 1970-01-01
            • 2018-03-01
            • 1970-01-01
            • 2021-12-18
            • 1970-01-01
            • 2021-10-15
            相关资源
            最近更新 更多