存储加密

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

存储加密机制

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

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

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

  • MaxCompute支持的加密算法为AES256、AESCTRRC4。

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

    • 默认密钥(MaxCompute Default Key)

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

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

      • 通过自带密钥(BYOK)加密或解密数据时,需要手动开通KMSCreateKey,即自带密钥(BYOK)。

      • 并根据界面提示,完成RAM授权,以便MaxCompute可以正常创建使用自带密钥(BYOK)的项目空间。

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

适用范围

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

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

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

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

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

费用说明

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

新建项目开通存储加密

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

方式一:通过MaxCompute控制台开启数据存储加密功能

  1. 若所在地域已开通密钥管理服务,该步骤可忽略。

    密钥管理服务开通页,单击立即开通,开通KMS服务。

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

  3. 在左侧导航栏,选择管理配置 > 项目管理

  4. 内部项目页签,单击新建项目

  5. 在弹出的新增项目对话框,根据界面提示文案配置项目信息,单击确认

    • 存储加密选择需要加密,然后选择密钥和对应算法

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

      • 使用默认密钥(MaxCompute Default Key)时,选择MaxCompute Default Key

      • 使用自带密钥(BYOK)时,选择CMK

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

方式二:在DataWorks中开启数据存储加密功能

  1. 若所在地域已开通密钥管理服务,该步骤可忽略。

    密钥管理服务开通页,单击立即开通,开通KMS服务。

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

  3. 在左侧导航栏选择工作空间

  4. 工作空间列表页面,单击创建工作空间

    详情请参见创建工作空间

  5. 绑定MaxCompute计算资源。

    1. 工作空间创建成功后,在工作空间列表页面,单击目标工作空间对应的操作列的管理

    2. 空间详情页面,单击左侧导航栏计算资源

    3. 计算资源页面,单击绑定计算资源,选择MaxCompute

    4. 填写绑定MaxCompute计算资源基本信息

      • 选择MaxCompute项目时单击新建

      • 存储加密选择需要加密,然后选择密钥和对应算法

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

        • 使用默认密钥(MaxCompute Default Key)时,选择MaxCompute Default Key

        • 使用自带密钥(BYOK)时,选择CMK

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

存量项目开通存储加密

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

  1. 权限配置

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

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

    • 详情请参见项目管理类权限一览表使用RAM进行访问控制

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

  3. 在左侧导航栏,选择管理配置 > 项目管理

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

  5. 项目配置页面,选择参数配置页签。

  6. 基础属性区域,单击编辑

    • 存储加密选择需要加密,然后选择密钥和对应算法

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

      • 使用默认密钥(MaxCompute Default Key)时,选择MaxCompute Default Key

      • 使用自带密钥(BYOK)时,选择CMK

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

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

相关文档

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

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

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