【产品技术】加密系列06:DWS数据库加密
在DWS中,我们可以为集群启用数据库加密,以保护静态数据。为集群启用加密时,该集群及其快照的数据都会得到加密处理。可以在创建集群时启用加密。加密是集群的一项可选且不可变的设置。要从未加密的集群更改为加密集群(或反之),必须从现有集群导出数据,然后在已启用数据库加密的新集群中重新导入这些数据。
如果希望加密,可以在集群创建时启用加密。虽然加密是DWS集群中的一项可选设置,但我们建议您为包含敏感数据的集群启用该设置。
注意仅有专业版密钥管理中的密钥才能对数据库进行加密。
哪些用户有权限使用DWS数据库加密
安全管理员(拥有“Security Administrator”权限)可以直接授权DWS访问KMS,使用加密功能。
普通用户(没有“Security Administrator”权限)使用加密功能时,根据该普通用户是否为当前区域或者项目内第一个使用加密特性的用户,
作如下区分:
是,即该普通用户是当前区域或者项目内第一个使用加密功能的,需先联系安全管理员进行授权,然后再使用加密功能。
否,即区域或者项目内的其他用户已经使用过加密功能,该普通用户可以直接使用加密功能。
对于一个租户而言,同一个区域内只要安全管理员成功授权DWS访问KMS,则该区域内的普通用户都可以直接使用加密功能。
如果当前区域内存在多个项目,则每个项目下都需要安全管理员执行授权操作。
使用KMS加密DWS数据库流程
当选择KMS对DWS进行密钥管理时,加密密钥层次结构有三层。按层次结构顺序排列,这些密钥为主密钥(CMK)、集群加密密钥 (CEK)、数据库加密密钥 (DEK)。
主密钥用于给CEK加密,保存在KMS中。
CEK用于加密DEK,CEK明文保存在DWS集群内存中,密文保存在DWS服务中。
DEK用于加密数据库中的数据,DEK明文保存在DWS集群内存中,密文保存在DWS服务中。
密钥使用流程如下:
用户选择主密钥。
DWS随机生成CEK和DEK明文。
KMS使用用户所选的主密钥加密CEK明文并将加密后的CEK密文导入到DWS服务中。
DWS使用CEK明文加密DEK明文并将加密后的DEK密文保存到DWS服务中。
DWS将DEK明文传递到集群中并加载到集群内存中。
当该集群重启时,集群会自动通过API向DWS请求DEK明文,DWS将CEK、DEK密文加载到集群内存中,再调用KMS使用主密钥CMK来解密CEK,并加载到集群内存中,最后用CEK明文解密DEK,并加载到集群内存中,返回给集群。
使用KMS加密DWS数据库(控制台)
加密数据库
打开“加密数据库”开关状态,表示启用数据库加密。每个区域的每个项目首次启用数据库加密时,系统会弹出一个“创建委托”的对话框,单击“是”创建委托以授权DWS访问KMS,若单击“否”将不会启用加密功能。然后在“密钥名称”的下拉列表中选择已创建的密钥。如果没有密钥,可以登录KMS服务进行创建。
关闭“加密数据库”开关状态,表示不启用数据库加密。
创建委托
打开“加密数据库”开关,如果当前未授权DWS访问KMS,则会弹出“创建委托”对话框,单击“是”,授权DWS访问KMS,当授权成功后,DWS可以获取KMS密钥用来加解密云硬盘。
当需要使用数据库加密功能时,需要授权DWS访问KMS。如果您有授权资格,则可直接授权。如果权限不足,需先联系拥有“Security Administrator”权限的用户授权,然后再重新操作。
加密设置
- 点赞
- 收藏
- 关注作者
评论(0)