本文以业务应用使用云数据库 MySQL 场景为例,介绍从0开始接入数据安全网关(CASB)的基本流程。
本例中,接入前业务应用使用如下信息访问数据库,表中存在三个敏感字段
name
、phone
和address
,数据库中的敏感字段明文存储。IP: 172.16.48.7Port: 3306User: rootPassword: db123456Database: casbtestdbTable: casbtesttable

步骤1:接入准备
1. 服务及账号授权。
1.1 开通密钥管理系统(KMS)服务并完成 KMS 对数据安全网关(CASB)的角色授权,详情请参见 使用 KMS 加密并授权。
1.2 账号授权及策略配置,详情请参见 账号授权管理。
3. 本例中,使用的 CASB 实例信息如下。

步骤2:绑定代理和数据库
1. 新建元数据,将数据库添加到 CASB 的元数据中。详情请参见 添加云元数据。

2. 采集元数据表结构,将数据库的表结构信息更新到 CASB 元数据中。详情请参见 元数据表结构管理。


3. 绑定元数据到 CASB 代理,将元数据绑定到 CASB 代理的某个端口。详情请参见 代理资源管理。
说明
本例中,将创建的 metadata_demo 元数据库绑定到了代理的
10103
端口,代理的访问地址为172.16.0.48:10103
。
4. 创建访问代理地址的账号密码。详情请参见 创建代理账号。
说明:
本例中,对代理地址
172.16.0.48:10103
创建了casbroot
账号,密码为casb123456
。
5. 验证代理的绑定状态。
到此为止,CASB 已将完成数据库和代理的绑定,应用此时可通过 CASB 代理访问数据库。
说明:
数据库的连接信息为:
mysql -h172.16.48.7 -P3306 -uroot -pdb123456 casbtestdb
。代理的连接信息为:
mysql -h172.16.0.48 -P10103 -ucasbroot -pcasb123456 casbtestdb
。
6. 因尚未配置数据库的字段加解密策略,此时 CASB 代理相当于是透明代理。
步骤3:配置加密策略
1. 确认字段长度和编码类型是否满足密文存储需求。
根据参考文档 密文长度计算,计算各字段中明文加密后的最大密文长度,若最大密文长度大于当前的字段长度定义,需调整字段长度大小。本例中各字段长度定义已足够存储密文,不对字段长度定义进行修改。
注意:
长度变更后,需重新采集元数据表结构。
加密字段需使用区分大小写的
collation
,如 utf8_general_bin
。2. 配置字段加密策略,详情请参见 创建策略。
说明:
本例中,对
name
和address
字段使用SM4
加密,phone
字段使用AES
加密,并分别用了key1
,key2
,key3
三个不同的密钥。
3. 验证字段加密效果。
通过代理,写入明文数据。
通过代理,读取到新写入的数据和历史的数据均为明文。
直连数据库,读取到新写入的数据为密文。

4. 存量数据加密,创建全量加密任务并启动后,CASB 后台会自动对存量的明文数据进行加密。详情请参见 创建全量加密任务。

5. 全量加密任务执行完成后,直连数据库查询,所有数据均为密文。通过代理查询,所有数据均为明文。

步骤4:配置脱敏策略
1. 创建代理账号
casbroot
访问代理时的脱敏策略,详情请参见 新建脱敏策略。说明:
本例中,
name
字段使用了内置的中文姓名
脱敏算法,phone
字段使用了内置的保留前三后三
脱敏算法,address
字段使用了内置的置空
脱敏算法。
2. 验证脱敏效果。
配置脱敏策略后,再使用
casbroot
通过代理访问数据库时,name
、phone
、address
三个字段返回的数据均已进行了相应的脱敏,业务无法获取原始明文信息。

3. 至此,业务应用已完成加解密和脱敏功能的接入。安全组配置、访问控制、数据库操作审计、敏感数据识别等更多功能配置和使用,请参见 CASB 文档。