列加密概述

更新时间:2025-04-09 10:33:04

完成对已授权的RDS(MySQLPostgreSQL)、PolarDB MySQL数据库中敏感数据分类分级后,您可以使用数据安全中心 DSC(Data Security Center)列加密功能,进一步保护敏感列数据免受未授权访问。该功能确保即使通过云平台软件或数据库工具也无法直接查看明文数据。

功能优势

  • 数据可用不可见:加密后的数据在数据库中保持可用状态,但仅授权用户可解密查看。

  • 增强安全性:有效抵御来自内外部的安全威胁,确保数据安全。

  • 增强私有资产保护:使您的云上数据成为真正意义上的私有资产,防止未授权访问。

利用DSC的列加密功能,您可以显著提升敏感数据的安全性,同时满足合规要求。

功能介绍

数据安全中心的列加密功能包括两大部分:加密设置账号权限管理。前者定义了加密算法、加密方式及加密范围(数据库实例、库、表和列),后者则控制哪些数据库账号可以访问已加密的数据及其权限。

加密原理

  • 加密算法列加密功能采用行业标准的AES-128-GCMAES-256-GCM加密算法对指定列数据进行加密。

  • 加密方式:列加密功能支持通过本地密钥KMS密钥两种方式管理指定数据库的加密密钥

    • 本地密钥:在本地环境中生成和保存加密密钥。

    • (推荐)KMS密钥使用密钥管理服务(KMS)托管指定数据库的加密密钥。DSC支持使用在KMS中自行创建或管理的用户主密钥。密钥类型说明,请参见密钥管理类型

  • 账号权限说明:

    账号指已授权接入DSCRDS MySQL版、RDS PostgreSQL版或PolarDB MySQL版的数据库下拉取到的对应数据库账号。

    权限说明如下:

    权限

    说明

    权限

    说明

    密文权限(JDBC解密)

    默认访问已加密列数据的密文,支持该账号以SDK方式通过全密态客户端驱动程序使用本地密钥KMS密钥进行解密后查看明文。

    密文权限(无解密权限)

    仅支持访问已加密列数据的密文,不支持该账号以任何方式进行解密后查看明文。

    明文权限

    开启数据库列加密后,设置为明文权限的账号,不受列加密设置影响,可直接明文访问加密列信息。

数据库加密限制

支持的数据库类型

支持的版本

支持的加密算法

支持的加密方式

支持的权限

支持的数据库类型

支持的版本

支持的加密算法

支持的加密方式

支持的权限

RDS MySQL

大版本为MySQL 5.7MySQL 8.0,且内核小版本大于或等于20240731。

  • AES-128-GCM。

  • AES-256-GCM:内核小版本大于或等于20241231时才支持。

  • 本地密钥。

  • KMS密钥:内核小版本大于或等于20241231时才支持。

  • 密文权限(无解密权限):仅使用本地密钥支持,为默认权限。

  • 密文权限(JDBC解密):使用KMS密钥时为默认权限。

  • 明文权限。

RDS PostgreSQL

大版本为PostgreSQL 16,且内核小版本必须大于或等于20241230。

AES-256-GCM。

本地密钥。

  • 密文权限(JDBC解密)(默认权限)。

  • 明文权限。

PolarDB MySQL

大版本为MySQL 5.7MySQL 8.0,且数据库代理版本必须大于或等于2.8.36。

重要

如果设置PolarDB MySQL数据库的列加密策略,必须使用数据库代理地址(可读可写模式)连接数据库。如果使用主地址,会导致列加密策略不生效。具体操作,请参见配置数据库代理管理连接地址

AES-128-GCM。

本地密钥。

计费说明

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

如果数据库列加密配置中加密方式KMS密钥,KMS侧会收取托管密钥的费用。具体计费,请参见产品计费

使用流程简介

配置列加密流程
访问加密列数据示例

为目标数据库配置列加密的流程如下图所示。具体内容,请参见配置数据库的列加密

image

配置列加密后,用密文权限的数据库账号查询加密列时,数据库返回密文数据。可在客户端解密后获取明文,确保数据在客户端与数据库外的传输过程中全程加密。

image

客户端使用说明

阿里云提供了JavaGo语言的全密态客户端驱动,使用具备密文权限(JDBC解密)的数据库账号可解密后访问目标数据库中加密列的明文数据。

编程语言

支持的数据库类型

相关文档

编程语言

支持的数据库类型

相关文档

Java

  • RDS MySQL

  • RDS PostgreSQL

  • PolarDB MySQL

集成EncJDBC(支持使用本地密钥和KMS密钥解密)

Go

  • RDS MySQL

  • PolarDB MySQL

集成GoLang驱动(仅支持使用本地密钥解密)

  • 本页导读 (1)
  • 功能优势
  • 功能介绍
  • 加密原理
  • 数据库加密限制
  • 计费说明
  • 使用流程简介
  • 客户端使用说明
AI助理

点击开启售前

在线咨询服务

你好,我是AI助理

可以解答问题、推荐解决方案等