数据存储加密

概述

Lakehouse 支持对存储在对象存储中的表数据进行服务端加密(Server-Side Encryption),采用 AES-256 加密算法,确保您的数据在存储层面得到安全保护。

您可以根据安全合规需求,选择使用云厂商提供的托管密钥,或使用您自有的 KMS 密钥进行加密。

加密模式

Lakehouse 提供两种加密模式:

模式说明
托管加密(推荐)使用云厂商对象存储服务提供的托管密钥进行加密,无需额外配置
自定义 KMS 加密使用您自有的 KMS 密钥进行加密,需提供 KMS ARN(ID) 和 KMS Region

加密范围

  • 您可以在工作空间级别统一开启加密,开启后该工作空间内新建的数据对象将默认加密存储。
  • 可以在任意时刻对工作空间设置开启加密,开启后不会影响工作空间中已有的表,只会对新建表应用加密。

使用方式

在创建工作空间时开启加密

  1. 在创建工作空间页面,开启「存储加密」开关。

  2. 如果您希望使用托管加密,KMS ARN 留空即可。

  3. 如果您希望使用自定义 KMS 密钥:

    • 填写您的 KMS 密钥 ARN。
    • 填写 KMS Region。

在修改工作空间时调整加密设置

  • 如果工作空间未使用自定义 KMS 密钥,您可以自由开启或关闭加密开关。
  • 如果工作空间已使用自定义 KMS 密钥,加密设置将被锁定,无法关闭加密或修改密钥配置。

密钥管理

  • 每个数据对象在其生命周期内只能使用一个密钥,密钥不可变更。
  • 您可以创建多个密钥,在加密不同工作空间的数据对象时选用不同的密钥。
  • 使用自定义 KMS 密钥后,KMS ARN 和 KMS Region 将变为只读,不可修改。

KMS 请求费用与缓存机制

由于数仓场景下会频繁读写数据,使用自定义 KMS 密钥容易达到云厂商 KMS 服务的 QPS 请求上限,并产生大量的 KMS API 请求费用。为此,Lakehouse 采用了密钥缓存机制来减少对 KMS 的 API 调用,缓存有效期为 5 分钟。这意味着当 KMS 密钥被撤销或失效后,最多仍有 5 分钟的窗口期可以对加密数据进行读写。

常见问题

Q:开启工作空间加密后,历史数据会被加密吗

不会。开启加密仅对之后新建的数据对象生效,已有数据不受影响。

Q:可以对已加密的表取消加密吗

不可以。表的加密操作不可逆。

Q:自定义 KMS 密钥配置后可以修改吗

不可以。一旦配置了自定义 KMS 密钥,密钥信息和加密开关均不可修改。

Q:自定义 KMS 密钥丢失了怎么办

请务必妥善保管您的自定义 KMS 加密密钥。一旦密钥遗失,Lakehouse 中使用该密钥加密的数据将永久不可读取,且无法恢复。

Q:使用自定义 KMS 加密会产生额外费用吗

会。每次数据读写都需要调用 KMS API 进行加解密,虽然 Lakehouse 通过 5 分钟的密钥缓存机制减少了请求次数,但在高频读写场景下仍可能产生可观的 KMS 请求费用。该费用产生在您的 KMS 密钥所在的云账户中。建议优先使用托管加密模式以避免此类费用。

联系我们
预约咨询
微信咨询
电话咨询