当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控制台上创建项目开通存储加密。
进入密钥管理服务开通页,选中密钥管理服务服务协议,单击立即开通,开通KMS服务。
说明如果您所在区域已开通KMS服务,可跳过该步骤。
登录MaxCompute控制台,在左上角选择地域。
在左侧导航栏,选择工作区 > 项目管理。
在项目管理页面,单击新建项目。
在新建项目对话框,根据界面提示配置参数。
如下参数需重点关注。
参数
说明
计算资源付费类型
默认计算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。
单击确定,完成新建项目。
方式二:在DataWorks里开启MaxCompute数据存储加密功能。
进入密钥管理服务开通页,选中密钥管理服务服务协议,单击立即开通,开通KMS服务。
说明如果您所在区域已开通KMS服务,可跳过该步骤。
登录DataWorks控制台,创建工作空间。详情请参见创建工作空间。
工作空间创建成功后,在DataWorks提供的大数据优质数据源推荐列表中,单击MaxCompute后的立即绑定。
在弹出的数据开发(DataStudio)数据源页面,单击新建数据源,选择MaxCompte,根据界面指引创建数据源。详情请参见通过新建MaxCompute项目创建数据源。
在选择创建MaxCompute项目后,勾选需要加密并配置对应的密钥和算法。
单击新建数据源并绑定数据开发,完成创建。
开启数据存储加密功能后,MaxCompute会自动完成项目数据读写过程中的加密或解密操作。
存量项目开通存储加密
注意事项:
开通存储加密需修改MaxCompute项目基础属性的参数,此操作权限通过RAM进行鉴权,需要拥有对应项目的Super_Administrator角色权限。
配置MaxCompute项目的权限属性和IP白名单的参数,需要拥有对应项目的管理权限(Admin)角色包括Super_Administrator、Admin或自定义管理类权限,详情请参见项目管理类权限一览表。
只支持未开通存储加密的项目开通存储加密,已经开通存储加密的项目不允许关闭存储加密和更改加密算法。
操作步骤:
登录MaxCompute控制台,在左上角选择地域。
在左侧导航栏,选择工作区 > 项目管理。
在项目管理页面,单击目标项目操作列的管理。
在项目配置页面的参数配置页签,单击基础属性区域的编辑。
存储加密状态选择需要加密。
在加密设置对话框,选择密钥和算法后单击确定。
密钥:项目空间使用的密钥类型,包含默认密钥(MaxCompute Default Key)和自带密钥(BYOK)。默认密钥(MaxCompute Default Key)是MaxCompute内部创建的默认密钥。
算法:密钥支持的加密算法,包含AES256、AESCTR和RC4。
单击提交,完成存量项目开通存储加密功能。