完成对已授权的RDS(MySQL或PostgreSQL)、PolarDB MySQL数据库中敏感数据分类分级后,您可以使用数据安全中心 DSC(Data Security Center)列加密功能,进一步保护敏感列数据免受未授权访问。该功能确保即使通过云平台软件或数据库工具也无法直接查看明文数据。
功能优势
数据可用不可见:加密后的数据在数据库中保持可用状态,但仅授权用户可解密查看。
增强安全性:有效抵御来自内外部的安全威胁,确保数据安全。
增强私有资产保护:使您的云上数据成为真正意义上的私有资产,防止未授权访问。
利用DSC的列加密功能,您可以显著提升敏感数据的安全性,同时满足合规要求。
功能介绍
数据安全中心的列加密功能包括两大部分:加密设置和账号权限管理。前者定义了加密算法、加密方式及加密范围(数据库实例、库、表和列),后者则控制哪些数据库账号可以访问已加密的数据及其权限。
加密原理
加密算法:列加密功能采用行业标准的AES-128-GCM、AES-256-GCM加密算法对指定列数据进行加密。
加密方式:列加密功能支持通过本地密钥和KMS密钥两种方式管理指定数据库的加密密钥。
账号权限说明:
账号指已授权接入DSC的RDS MySQL版、RDS PostgreSQL版或PolarDB MySQL版的数据库下拉取到的对应数据库账号。
权限说明如下:
权限
说明
权限
说明
密文权限(JDBC解密)
默认访问已加密列数据的密文,支持该账号以SDK方式通过全密态客户端驱动程序使用本地密钥或KMS密钥进行解密后查看明文。
密文权限(无解密权限)
仅支持访问已加密列数据的密文,不支持该账号以任何方式进行解密后查看明文。
明文权限
开启数据库列加密后,设置为明文权限的账号,不受列加密设置影响,可直接明文访问加密列信息。
数据库加密限制
支持的数据库类型 | 支持的版本 | 支持的加密算法 | 支持的加密方式 | 支持的权限 |
支持的数据库类型 | 支持的版本 | 支持的加密算法 | 支持的加密方式 | 支持的权限 |
RDS MySQL版 | 大版本为MySQL 5.7或MySQL 8.0,且内核小版本大于或等于20240731。 |
|
|
|
RDS PostgreSQL版 | 大版本为PostgreSQL 16,且内核小版本必须大于或等于20241230。 | AES-256-GCM。 | 本地密钥。 |
|
PolarDB MySQL版 | 大版本为MySQL 5.7或MySQL 8.0,且数据库代理版本必须大于或等于2.8.36。 | AES-128-GCM。 | 本地密钥。 |
计费说明
DSC为列加密服务免费提供1个列的加密额度。后续使用该服务,您需要开启列加密服务并购买足够的列加密数,按照包年包月模式计费。计费详情,请参见计费概述。
如果数据库列加密配置中加密方式为KMS密钥,KMS侧会收取托管密钥的费用。具体计费,请参见产品计费。
使用流程简介
为目标数据库配置列加密的流程如下图所示。具体内容,请参见配置数据库的列加密。
配置列加密后,用密文权限的数据库账号查询加密列时,数据库返回密文数据。可在客户端解密后获取明文,确保数据在客户端与数据库外的传输过程中全程加密。
客户端使用说明
阿里云提供了Java和Go语言的全密态客户端驱动,使用具备密文权限(JDBC解密)的数据库账号可解密后访问目标数据库中加密列的明文数据。
编程语言 | 支持的数据库类型 | 相关文档 |
编程语言 | 支持的数据库类型 | 相关文档 |
Java |
| 集成EncJDBC(支持使用本地密钥和KMS密钥解密) |
Go |
| 集成GoLang驱动(仅支持使用本地密钥解密) |
- 本页导读 (1)
- 功能优势
- 功能介绍
- 加密原理
- 数据库加密限制
- 计费说明
- 使用流程简介
- 客户端使用说明