本文介绍在使用列加密(全密态)功能时,如何通过RDS控制台设置列加密规则及相关用户角色权限。
前提条件
功能介绍
列加密能力的配置分为两部分:
列加密规则:指定您需要加密数据库中的哪些数据列。
角色权限设置:使不同的数据库账号可以看到不同的明文、密文。
在配置列加密规则前,强烈建议您先对用户权限进行配置,给需要的账号配置明文查看权限。这样,可以预先避免对正在运行的业务系统产生可能的影响。
在未对数据库账号进行具体角色权限分配的情况下,系统将默认所有数据库账号为其他管理员(查看密文)。如果您先设置了列加密规则,但没有进行角色权限设置,您的业务系统中可能出现加密乱码。
注意事项
数据保护规则一旦配置生效,在目标数据库实例范围内全局有效,不需要重复配置。
建议使用不同的数据库账号,分别用于管理规则和在线应用,如无必要不应使在线应用具备管理权限。
请谨慎授予对全密态元数据表的读写权限,否则用户可能通过修改全密态元数据表内容而绕过全密态安全防护。
操作步骤
访问RDS实例列表,在上方选择地域,单击目标实例ID。
在左侧导航栏,单击数据安全性。
单击列加密页签,进行角色权限和列加密规则配置。
配置或修改角色权限
选择角色权限设置页签,根据角色权限,单击对应操作列的配置账号或修改账号。
说明角色权限说明如下:
超级管理员:具有明文查看一切敏感数据的权限。
运维管理员:具有密文查看敏感数据的权限。该角色可自定义专属密钥,实现数据的即时加解密操作。
其他管理员:无权访问。该角色只能查看密文,且无法对数据进行解密。
在配置账号弹窗页面配置以下参数,并单击确定。
参数
是否必填
说明
过期时间
是
仅当角色名称为超级管理员时,有此参数。
当过期时间到达时,相应的超级管理员权限会被重置为默认的其他管理员(无权访问)权限。
关联账号
否
在下拉框中,选择零或多个数据库账号。
自定义账户
否
类似关联账号,但需要您手动输入。填写一个或多个数据库账号名,多个账号间用英文逗号(,)分隔。
配置账号允许您根据当前操作需求灵活调整用户权限。例如,您可以多次访问配置账号界面执行操作,先将用户a配置为超级管理员,再将用户b配置为超级管理员,两次配置都会成功。如果您需要取消某个用户的权限,您需要将其配置为其他管理员。
新增或修改列加密规则
选择列加密规则页签,单击新增或已有规则操作列的修改。
在弹窗页面配置以下参数,并单击确定。
参数
是否必填
说明
规则名称
是
加密规则的名称。长度不超过30个字符。
数据库名
否
需要应用当前规则的数据库名称。支持如下选项:
所有数据库:表示当前规则对该实例中的所有数据库生效。
包含:表示当前规则仅对目标数据库生效,需在文本框中填入一个或多个数据库名,多个数据库名之间用英文逗号(,)分隔。
数据表名
否
需要应用当前规则的数据表名称。支持如下选项:
所有数据表:表示当前规则对该实例中的所有数据表生效。
包含:表示当前规则仅对目标数据表生效,需在文本框中填入一个或多个数据表名,多个表名之间用英文逗号(,)分隔。
数据列名
否
需要应用当前规则的数据列名称。支持如下选项:
所有数据列:表示当前规则对该实例中的所有数据列生效。
包含:表示当前规则仅对目标数据列生效,需在文本框中填入一个或多个数据列名,多个列名之间用英文逗号(,)分隔。
删除列加密规则
在列加密页签下,单击列加密规则,选择需要删除的规则,单击删除。