开启透明数据加密

最近更新时间:2024-05-16 17:59:52

我的收藏

操作场景

云数据库 PostgreSQL 提供透明数据加密(Transparent Data Encryption,TDE)功能,透明加密指数据的加解密操作对用户透明,支持对数据文件进行实时 I/O 加密和解密,在数据写入磁盘前进行加密,从磁盘读入内存时进行解密,可满足静态数据加密的合规性要求。

限制条件

TDE 加密功能仅可在创建实例时开通,且开通后无法关闭。
支持加密功能的内核版本为:v10.17_r1.11
内核对应小版本等于或高于 v10.17_r1.2、v11.12_r1.2、v12.7_r1.2、v13.3_r1.2、v14.2_r1.0,支持加密功能。
须先开通密钥管理服务 KMS。如未开通,可通过 开通 KMS 提前购买 KMS 密钥管理服务。
若使用子账号进行操作,必须要创建用于授权云数据库 PostgreSQL 操作 KMS 的服务角色,可使用主账号访问 此链接 进行角色创建。
子账号必须具有“cam:PassRole”,“kms:GetServiceStatus”,“kms:GetRegions”的权限,如无权限,可使用主账号为操作账号进行赋予。
说明:
加密使用的密钥由 密钥管理服务 KMS 产生和管理,云数据库 PostgreSQL 不提供加密所需的密钥和证书。
透明数据加密 TDE 功能不会额外收费,但密钥管理服务 KMS 有可能产生额外费用,请参见 计费概述
当账号处于欠费状态时,无法从 KMS 获取密钥,可能导致迁移、升级等任务无法正常进行,请参见 欠费说明

注意事项

透明数据加密功能开启后不可关闭,如果解除了密钥授权,重启数据库会导致不可用。
开启 TDE 加密功能后,数据备份也会被同时加密,当备份文件被泄露时,无需担心数据泄露。若需要通过备份恢复数据,请使用云数据库 PostgreSQL 克隆实例 功能。
开启 TDE 加密功能后,可提高静态数据的安全性,但同时会影响访问加密数据库的读写性能,请结合实际情况选择开启 TDE 加密功能。根据实际测试平均损耗在2% - 3%。
如果主实例关联只读实例,只读实例会自动打开加密功能,且无法被管理。
开启 TDE 加密功能后,账户余额需大于等于0,否则会因为无法访问密钥管理系统而导致实例迁移失败。
为了避免实例误删除等意外场景,腾讯云特设置了密钥删除保护措施,若实例配置了 数据加密,则在实例隔离与实例下线后不会立即解绑密钥,直到实例在回收站中下线后的第三天后才支持从 KMS 中 删除密钥

操作步骤

1. 登录 PostgreSQL 购买页,在是否开启加密选项中,开启数据库加密功能。
2. 在弹出的对话框,选择密钥,单击确认加密
注意:
启用数据加密功能的实例,不支持使用物理备份恢复至其他主机上的自建数据库。
数据加密开通后不可关闭。
KMS 服务:若未开启 KMS 密钥管理服务,则需要 购买 KMS 密钥管理服务
KMS 密钥授权:若提示未授权,可通过单击授权链接,进入角色授权页面,使得云数据库 PostgreSQL 可以使用服务角色操作 KMS 密钥管理服务。
选择密钥
根据实例地域选择 KMS 密钥管理服务的地域,若提示“可选的 KMS 地域为空”,则代表当前地域不支持 KMS 服务,无法开启加密。
选择使用腾讯云自动生成的密钥时,由腾讯云自动生成密钥。
选择使用已有自定义密钥(BYOK)时,可选择自己创建的密钥。
说明:
如无自定义密钥,可单击前往创建,在密钥管理系统控制台创建密钥,详情请参见 创建密钥