数据安全中心 DSC(Data Security Center)提供列加密功能,可以对RDS数据库表中已扫描识别的敏感数据列进行访问加密,避免非授权人员通过云平台软件或数据库连接工具直连访问到敏感数据明文,实现数据在数据库内可用不可见,有效防御来自云平台外部和内部的安全威胁,让云上数据成为用户的私有资产。本文介绍如何配置数据列加密。

功能原理

数据安全中心的列加密功能包含加密策略和角色管理两部分配置。加密策略定义加密算法和加密的RDS数据库、表以及列范围,角色用于管控访问所有加密策略中列数据的数据库账号以及权限。

角色名称

权限说明

白名单

白名单账号不受列加密策略影响,可直接明文访问敏感列信息。

运维管理员

运维管理员账号对列加密策略中生效的数据具备密文访问权限,且支持该账号以SDK方式使用密钥进行解密后查看明文。

其他管理员

数据库账号默认归属为其他管理员,对加密策略中生效的列数据仅具备密文访问权限,且无法通过任何方式进行解密。因此,强烈建议先完成账号角色管理,再进行列加密策略配置。

已授予角色(运维管理员)权限的用户查询数据库表中加密列数据时,RDS会返回加密后数据,在客户端应用时才解密为明文数据,使得数据在除了应用客户端以及数据库内的外部流动中全程以密文形式存在。

image

计费说明

DSC为列加密服务免费提供1个字段的加密额度。后续使用该服务,您需要开启列加密服务并购买足够的列加密数,按照包年包月模式计费。计费详情,请参见计费概述

前提条件

创建加密策略

  1. 登录数据安全中心控制台

  2. 在左侧导航栏,单击数据治理 > 列加密

  3. 单击创建加密策略

  4. 在右侧面板,设置加密参数,然后单击提交

    1. 输入策略名称,便于您识别策略内容。

      策略名称在当前账号下保持唯一。创建加密策略完成后,不支持修改策略名称。

    2. 选择加密算法

      目前仅支持默认加密算法:AES-28-GCM

    3. 设置生效范围

      image

      可通过以下方式选择需要加密的RDS数据库表和列。

      • 单击从识别结果添加,在弹出的面板左侧,通过敏感等级、分类标签和识别模型,筛选目标数据库表和列,然后在左侧实例列表中,选中要添加的RDS数据库表和列,单击确定

        image

      • 单击手动添加,在生效实例列表中,对应选择生效的实例、库、表、列,然后单击操作列的保存

        中显示敏感识别任务识别出的敏感字段,您可以单击添加列,输入要加密的字段名称。

        image

创建加密策略完成后,您可以在策略列表的操作列,执行以下操作:

  • 单击详情,确认对应实例的列加密策略已生效。

  • 单击编辑,修改对应加密策略的生效范围,不支持修改列加密策略的名称。

  • 单击删除,删除加密策略。

配置角色权限

对于加密策略中已生效的加密列数据,默认账号仅具备密文访问权限。您需要根据业务场景,配置可明文访问或支持解密密文数据的对应数据库账号角色。

  1. 数据治理 > 列加密页面,单击角色管理

  2. 角色权限设置面板,单击角色名称(白名单运维管理员)对应操作列的配置账号

  3. 单击关联账号下拉框。

  4. 单击添加自定义账号,输入账号名称,单击确定

    您可重复此操作,添加多个账号。

  5. 单击确定

客户端使用说明

您可以使用全密态客户端驱动程序EncJDBC接入目标RDS数据库,通过Java应用程序访问数据库中加密的列数据。EncJDBC能够自动完成密文数据的解密并返回明文数据,过程对应用透明。具体内容,请参见EncJDBC