通过控制台配置列加密规则

本文介绍在使用列加密(全密态)功能时,如何通过RDS控制台设置列加密规则及相关用户角色权限。

前提条件

  • RDS MySQL实例的大版本为MySQL 5.78.0,且内核小版本大于等于20240731。

    说明

    如何升级内核小版本,请参见升级内核小版本

  • 已开通全密态功能

  • 配置数据保护规则的账号必须是高权限账号。

功能介绍

列加密配置包含两个核心部分:

  • 列加密规则:定义需加密的数据列范围(按库、表、字段)。

  • 角色权限设置:控制不同数据库账号对明文或密文数据的访问能力。

在配置列加密规则前,强烈建议先为必要账号配置明文查看权限

  • 在未对数据库账号进行具体角色权限分配的情况下,系统将默认所有数据库账号为其他管理员(查看密文)

  • 若未配置角色权限,但直接设置了列加密规则,可能导致业务系统出现乱码或访问异常。

注意事项

  • 数据保护规则一旦配置生效,在目标数据库实例范围内全局有效,不需要重复配置。

  • 建议使用不同的数据库账号,分别用于管理规则和在线应用,如无必要不应使在线应用具备管理权限。

  • 请谨慎授予对全密态元数据表的读写权限,否则用户可能通过修改全密态元数据表内容而绕过全密态安全防护。

操作步骤

  1. 访问RDS实例列表,在上方选择地域,单击目标实例ID。

  2. 在左侧导航栏,单击数据安全性

  3. 单击列加密页签,进行角色权限和列加密规则配置。

配置或修改角色权限

  1. 选择角色权限设置页签,根据角色权限,单击对应操作列的配置账号修改账号

    说明

    角色权限说明如下:

    • 超级管理员:可查看所有敏感数据的明文内容。

    • 运维管理员:具有密文查看敏感数据的权限。该角色可自定义专属密钥,实现数据的即时加解密操作。

    • 其他管理员:无权访问。仅可查看密文,且无法对数据进行解密。

  2. 配置账号页面配置以下参数,并单击确定

    您可根据当前操作需求灵活调整用户权限。例如,可多次访问配置账号界面执行操作,先将用户a配置为超级管理员,再将用户b配置为超级管理员,两次配置都会成功。如果您需要取消某个用户的权限,您需要将其配置为其他管理员。

    参数

    是否必填

    说明

    过期时间

    仅当角色名称为超级管理员时,有此参数。

    当过期时间到达时,相应的超级管理员权限会被重置为默认的其他管理员(无权访问)权限。

    关联账号

    从下拉列表中选择一个或多个已存在的数据库账号。

    自定义账户

    类似关联账号,您需手动输入一个或多个数据库账号名,多个账号间用英文逗号(,)分隔。

新增或修改列加密规则

  1. 选择列加密规则页签,单击新增或已有规则操作列的修改

  2. 在弹窗页面配置以下参数,并单击确定

    参数

    是否必填

    说明

    规则名称

    加密规则的名称,长度不超过30个字符。创建后不可更改,如需调整名称,需删除原规则后重新创建。

    数据库名

    需要应用当前规则的数据库名称。应用范围如下:

    • 所有数据库:规则作用于实例内全部数据库。

    • 包含:仅作用于指定数据库,需填写一个或多个数据库名,多个数据库名间用英文逗号(,)分隔。

    表名

    需要应用当前规则的数据表名称。应用范围如下:

    • 所有数据表:规则作用于当前范围内的所有表。

    • 包含:仅作用于指定表,需填写一个或多个数据表名,多个表名间用英文逗号(,)分隔。

    字段名

    需要应用当前规则的字段名称。应用范围如下:

    • 所有数据列:规则作用于当前范围内的所有字段。

    • 包含:仅作用于指定字段,需填写一个或多个字段名,多个字段名间用英文逗号(,)分隔。

删除列加密规则

列加密页签下,单击列加密规则,选择需要删除的规则,单击删除