存储加密
当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自身的数据存储加密功能不收取费用,但MaxComptue在数据加密或解密过程中会与KMS服务的API交互。KMS服务会产生一定费用,计费详情请参见KMS服务计费说明。
使用限制
MaxCompute的数据存储加密功能使用限制如下:
开启存储加密功能的项目,仅支持版本为V1.1及以上的Hologres外部表访问查询数据且需在开启存储加密功能前给Hologres授予KMS权限,详情请参见查询MaxCompute加密数据(BYOK模式)。
如果您使用自带密钥(BYOK)加密或解密数据,您需要根据当前MaxCompute项目所在地域情况,在要求的地域内手动开通KMS。MaxCompute地域和待开通的KMS地域对应关系如下。
MaxCompute所在地域
KMS地域
华东1(杭州)、华东2(上海)、华北2(北京)、华北3(张家口)、华南1(深圳)、西南1(成都)
华东2(上海)
除上述地域外的其他地域
与MaxCompute所在地域保持一致
您在KMS上对自带密钥(BYOK)的操作(例如禁用或删除),会影响MaxCompute对数据的加密或解密操作。由于MaxCompute服务涉及缓存,您在KMS的相关操作会在24小时内生效。
目前不支持对已经创建的项目变更存储加密功能:关闭存储加密功能或更改存储加密的算法。
存量项目新开通存储加密,不会自动对存量数据进行加密(不影响正常读写操作),如果需要对存量数据加密,需要手工读出数据再写入。
操作步骤
新建项目开通存储加密
方式一:在MaxCompute控制台上创建项目开通存储加密。
进入密钥管理服务开通页,选中密钥管理服务服务协议,单击立即开通,开通KMS服务。
说明如果您所在区域已开通KMS服务,可跳过该步骤。
登录MaxCompute控制台,在左上角选择地域。
在左侧导航栏,选择工作区 > 项目管理。
在项目管理页面,单击新建项目。
在新建项目对话框,根据界面提示配置参数。
如下参数需重点关注。
参数
说明
计算资源付费类型
默认计算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控制台,在左侧导航栏,单击工作空间列表。
在工作空间列表页面上方选择区域后,单击创建工作空间。在创建工作空间面板,配置基本配置信息,单击提交,详情请参见创建MaxCompute项目。
工作空间创建完成后,DataWorks为您提供了常用引擎的绑定入口,可直接进行引擎绑定操作,选择MaxCompute后的立即绑定。
配置引擎详情信息。选中加密,开启数据存储加密功能。
分类
参数
描
MaxCompute
资源显示名
用于定义当前引擎配置在DataWorks作为一个执行计算引擎实例的显示名称,用于在DataWorks上标识该套引擎配置(类似于该引擎在DataWorks的别名)。
您可以自定义该显示名称。 名称必须唯一。
项目来源
默认为创建项目。
付费模式
定义MaxCompute项目按照哪种付费方式进行计费,包括按量付费和包年包月。 关于MaxCompute计费模式详情请参见计费项与计费方式概述。
说明标准模式下不支持添加开发者版本的实例。
Quota组
定义MaxCompute项目使用的计算资源池。关于Quota相关说明详情请参配额。
数据类型
定义MaxCompute项目使用哪一类数据类型。包括2.0数据类型(推荐)、1.0数据类型(面向已有使用1.0数据类型用户)和Hive兼容类型(面向Hive迁移用户),详情请参见:数据类型版本说明。
是否加密
指定创建的项目空间是否需要开启数据存储加密功能。
项目名称
长度为3~27个字符,以字母开头,且只能包含字母、下划线(_)和数字。
调度访问身份
DataWorks任务提交调度后,作为在MaxCompute项目内执行代码的身份(账号)。
阿里云子账号
当前登录账号。
单击完成绑定,完成创建。
开启数据存储加密功能后,MaxCompute会自动完成项目数据读写过程中的加密或解密操作。
存量项目开通存储加密
注意事项:
开通存储加密需修改MaxCompute项目基础属性的参数,此操作权限通过RAM进行鉴权,需要拥有对应项目的Super_Administrator角色权限。
配置MaxCompute项目的权限属性和IP白名单的参数,需要拥有对应项目的管理权限(Admin)角色包括Super_Adminstrator、Admin或自定义管理类权限,详情请参见项目管理类权限一览表。
只支持未开通存储加密的项目开通存储加密,已经开通存储加密的项目不允许关闭存储加密和更改加密算法。
操作步骤:
登录MaxCompute控制台,在左上角选择地域。
在左侧导航栏,选择工作区 > 项目管理。
在项目管理页面,单击目标项目操作列的管理。
在项目配置页面的参数配置页签,单击基础属性区域的编辑。
存储加密状态选择需要加密。
在加密设置对话框,选择密钥和算法后单击确定。
密钥:项目空间使用的密钥类型,包含默认密钥(MaxCompute Default Key)和自带密钥(BYOK)。默认密钥(MaxCompute Default Key)是MaxCompute内部创建的默认密钥。
算法:密钥支持的加密算法,包含AES256、AESCTR和RC4。
单击提交,完成存量项目开通存储加密功能。