PolarDB PostgreSQL版提供了透明数据加密TDE(Transparent Data Encryption)功能。TDE可对数据文件执行实时I/O加密和解密,数据在写入磁盘之前进行加密,从磁盘读入内存时进行解密。TDE不会增加数据文件的大小,开发人员无需更改任何应用程序,即可使用TDE功能。
前提条件
- 集群版本为PolarDB PostgreSQL版。
- 已开通KMS。具体操作请参见购买专属KMS实例。
- 已授权RDS访问KMS。具体操作请参见授权RDS访问KMS。
背景信息
TDE通过在数据库层执行静止数据加密,阻止可能的攻击者绕过数据库直接从存储中读取敏感信息。经过数据库身份验证的应用和用户可以继续透明地访问应用数据(不需要更改应用代码或配置),而尝试读取表空间文件中的敏感数据的OS用户以及尝试读取磁盘或备份信息的不法之徒将不允许访问明文数据。
PolarDB PostgreSQL版 TDE加密使用的密钥由密钥管理服务(KMS)产生和管理,PolarDB不提供加密所需的密钥和证书。您不仅可以使用阿里云自动生成的密钥,也可以使用自带的密钥材料生成数据密钥,然后授权PolarDB使用。
注意事项
- TDE开通后无法关闭。
- 仅支持在创建集群的过程中开启TDE。
- 开通TDE后,如果是I/O密集型(I/O bound)场景,可能会对数据库性能产生一定影响。
操作步骤
- 登录PolarDB控制台。
- 在控制台左上角,选择集群所在地域。
- 在集群列表页面,单击创建新集群。
- 在PolarDB购买页面,配置PolarDB购买信息,选择开启TDE。说明 更多关于购买页面的信息,请参见创建PolarDB PostgreSQL版数据库集群。
- 单击页面右下方的立即购买。
- 在确认订单页面确认订单信息,阅读并选中服务协议,单击去支付。
- 在支付页面,确认未支付订单信息和支付方式,单击订购。说明 完成支付后,需要10~15分钟创建集群,之后您就可以在集群列表中看到新创建的集群。
查看TDE状态
- 登录PolarDB控制台。
- 在控制台左上角,选择集群所在地域。
- 找到目标集群,单击集群ID。
- 在左侧导航栏单击 。
- 在TDE配置页签,查看TDE状态。
常见问题
- 开启TDE后,常用数据库工具(Navicat等)还能正常使用吗?
答:可以正常使用。
- 加密后查看数据为什么还是明文的?
答:查询数据时会解密并读取到内存,所以是明文显示。开启TDE后存储的数据是加密的。
相关API
API | 描述 |
---|---|
CreateDBCluster | 创建PolarDB集群,开启透明数据加密TDE。 说明 DBType参数需要为PostgreSQL或Oracle。 |