存储加密

当MaxCompute项目中存有敏感信息如个人身份信息、财务记录、健康记录等,开启数据存储加密可保护这些数据不被未授权者访问。MaxCompute支持通过密钥管理服务KMS(Key Management Service)对数据进行加密存储,提供数据静态保护能力,满足企业监管和安全合规需求。

存储加密机制

MaxCompute通过KMS托管密钥,实现数据存储加密或解密功能。数据存储加密机制如下:

  • MaxCompute以项目为单位,通过KMS加密或解密存储在MaxCompute的数据。

  • KMS生成和管理您的主密钥CMK(Customer Master Key),并保障密钥的安全性。

  • MaxCompute支持的加密算法为AES256、AESCTR和RC4。

  • MaxCompute支持通过默认密钥(MaxCompute Default Key)和自带密钥(BYOK)加密或解密数据。

    • 创建MaxCompute项目空间时,您可以选择密钥MaxCompute Default Key

      MaxCompute会在KMS上自动创建1个密钥作为CMK。您可以通过KMS控制台查看自动创建的密钥信息。

    • 为满足不同场景的业务和安全需求,MaxCompute支持通过自带密钥(BYOK)加密或解密数据。

      通过自带密钥(BYOK)加密或解密数据时,您需要手动开通KMS,开通后您可以通过KMS创建特定的密钥,即自带密钥(BYOK),并在创建MaxCompute项目空间时,选择该密钥作为CMK。在KMS上创建CMK的详情请参见CreateKey

      说明

      如果项目使用自带密钥(BYOK),您在创建MaxCompute项目空间时,需要根据界面提示,完成RAM授权,以便MaxCompute可以正常创建使用自带密钥(BYOK)的项目空间。

  • MaxCompute支持通过RAM自定义权限策略管控新建项目是否加密,策略内容详情请参见权限策略

费用说明

MaxCompute自身的数据存储加密功能不收取费用,但MaxCompute在数据加密或解密过程中会与KMS服务的API交互。KMS服务会产生一定费用,计费详情请参见KMS服务计费说明

使用限制

MaxCompute的数据存储加密功能使用限制如下:

  • 如果您使用自带密钥(BYOK)加密或解密数据,您需要在当前MaxCompute项目所在地域开通KMS。

  • Hologres外部表访问MaxCompute的场景中,Hologres需为V1.1及以上版本,给Hologres授予KMS权限,BYOK仅支持使用上海Region的KMS,详情请参见查询MaxCompute加密数据(BYOK模式)

  • 您在KMS上对自带密钥(BYOK)的操作(例如禁用或删除),会影响MaxCompute对数据的加密或解密操作。由于MaxCompute服务涉及缓存,您在KMS的相关操作会在24小时内生效。

  • 目前不支持对已经创建的项目变更存储加密功能:关闭存储加密功能或更改存储加密的算法。

  • 存量项目新开通存储加密,不会自动对存量数据进行加密(不影响正常读写操作),如果需要对存量数据加密,需要手工读出数据再写入。

操作步骤

新建项目开通存储加密

  • 方式一:在MaxCompute控制台上创建项目开通存储加密。

    1. 进入密钥管理服务开通页,选中密钥管理服务服务协议,单击立即开通,开通KMS服务。开通KMS

      说明

      如果您所在区域已开通KMS服务,可跳过该步骤。

    2. 登录MaxCompute控制台,在左上角选择地域。

    3. 在左侧导航栏,选择工作区 > 项目管理

    4. 项目管理页面,单击新建项目

    5. 新建项目对话框,根据界面提示配置参数。

      如下参数需重点关注。

      参数

      说明

      计算资源付费类型

      默认计算Quota的计费类型。

      默认Quota

      用于实现计算资源分配。

      不指定计算Quota的情况下,该项目发起的作业将消耗默认Quota资源。更多计算资源使用请参见计算资源-Quota使用

      单SQL消费限制

      单SQL消费的最高阈值。

      单位:扫描量(GB)*复杂度。非必填项,当选择按量付费计费类型时建议设置,可以避免非预期的单SQL消费过高。同时也建议配置实时消费监控告警,多方位监控限制消费超出预期,详情请参见消费监控告警

      数据类型

      MaxCompute数据类型包含1.0数据类型2.0数据类型Hive兼容类型

      您需要根据业务情况选择合适的数据类型版本,三种数据类型版本的区别请参见数据类型版本说明

      是否加密

      选择需要加密,指定创建的MaxCompute项目开启数据存储加密功能,需要选择密钥和对应算法:

      • 密钥:项目空间使用的密钥类型,包含默认密钥(MaxCompute Default Key)和自带密钥(BYOK)。默认密钥(MaxCompute Default Key)是MaxCompute内部创建的默认密钥。

      • 算法:密钥支持的加密算法,包含AES256、AESCTR和RC4。

    6. 单击确定,完成新建项目。

  • 方式二:在DataWorks里开启MaxCompute数据存储加密功能。

    1. 进入密钥管理服务开通页,选中密钥管理服务服务协议,单击立即开通,开通KMS服务。开通KMS

      说明

      如果您所在区域已开通KMS服务,可跳过该步骤。

    2. 登录DataWorks控制台,创建工作空间。详情请参见创建工作空间

    3. 工作空间创建成功后,在DataWorks提供的大数据优质数据源推荐列表中,单击MaxCompute后的立即绑定

    4. 在弹出的数据开发(DataStudio)数据源页面,单击新建数据源,选择MaxCompte,根据界面指引创建数据源。详情请参见通过新建MaxCompute项目创建数据源

      在选择创建MaxCompute项目后,勾选需要加密并配置对应的密钥算法

      image

    5. 单击新建数据源并绑定数据开发,完成创建。

      开启数据存储加密功能后,MaxCompute会自动完成项目数据读写过程中的加密或解密操作。

存量项目开通存储加密

  • 注意事项:

    • 开通存储加密需修改MaxCompute项目基础属性的参数,此操作权限通过RAM进行鉴权,需要拥有对应项目的Super_Administrator角色权限。

    • 配置MaxCompute项目的权限属性和IP白名单的参数,需要拥有对应项目的管理权限(Admin)角色包括Super_Administrator、Admin或自定义管理类权限,详情请参见项目管理类权限一览表

    • 只支持未开通存储加密的项目开通存储加密,已经开通存储加密的项目不允许关闭存储加密和更改加密算法。

  • 操作步骤:

    1. 登录MaxCompute控制台,在左上角选择地域。

    2. 在左侧导航栏,选择工作区 > 项目管理

    3. 项目管理页面,单击目标项目操作列的管理

    4. 项目配置页面的参数配置页签,单击基础属性区域的编辑

    5. 存储加密状态选择需要加密

    6. 加密设置对话框,选择密钥算法后单击确定

      • 密钥:项目空间使用的密钥类型,包含默认密钥(MaxCompute Default Key)和自带密钥(BYOK)。默认密钥(MaxCompute Default Key)是MaxCompute内部创建的默认密钥。

      • 算法:密钥支持的加密算法,包含AES256、AESCTR和RC4。

    7. 单击提交,完成存量项目开通存储加密功能。

相关文档

  • 您还可以使用基于ACL和角色管理的方式,实现对Project级别、表级别的授权,保证只有经过授权的用户才能访问数据,详情请参见ACL权限控制

  • 当项目用户具备查询敏感数据的权限,但又不希望看到完整的敏感数据信息,可以对查询结果进行数据动态脱敏,详情请参见数据动态脱敏

  • 当仅需要对表中部分数据进行加密,可使用MaxCompute提供的加密函数,详情请参见加密函数