PolarDB-P提供了透明数据加密TDE(Transparent Data Encryption)功能。TDE可对数据文件执行实时I/O加密和解密,数据在写入磁盘之前进行加密,从磁盘读入内存时进行解密。TDE不会增加数据文件的大小,开发人员无需更改任何应用程序,即可使用TDE功能。

前提条件

背景信息

TDE通过在数据库层执行静止数据加密,阻止可能的攻击者绕过数据库直接从存储中读取敏感信息。经过数据库身份验证的应用和用户可以继续透明地访问应用数据(不需要更改应用代码或配置),而尝试读取表空间文件中的敏感数据的OS用户以及尝试读取磁盘或备份信息的不法之徒将不允许访问明文数据。

PolarDB-O TDE加密使用的密钥由密钥管理服务(KMS)产生和管理,PolarDB不提供加密所需的密钥和证书。您不仅可以使用阿里云自动生成的密钥,也可以使用自带的密钥材料生成数据密钥,然后授权PolarDB使用。

注意事项

  • TDE开通后无法关闭。
  • 仅支持在创建集群的过程中开启TDE。
  • 开通TDE后,如果是I/O密集型(I/O bound)场景,可能会对数据库性能产生一定影响。
  • 使用已有自定义密钥时,需要注意:
    • 禁用密钥、设置密钥删除计划或者删除密钥材料都会造成密钥不可用。
    • 撤销授权关系后,重启PolarDB集群会导致PolarDB集群不可用。
    • 需要使用主账号或者具有AliyunSTSAssumeRoleAccess权限的账号。

操作步骤

  1. 登录PolarDB控制台
  2. 在控制台左上角,选择集群所在地域。
  3. 集群列表页面,单击创建新集群
  4. PolarDB购买页面,配置PolarDB购买信息,选择开启TDE
    说明 更多关于购买页面的信息,请参见创建PolarDB-P集群
    -O开启TDE
  5. 单击页面右侧的立即购买
  6. 在确认订单页面,确认订单信息,阅读和勾选服务协议,单击去支付
    说明 完成支付后,集群将在十分钟左右创建成功。

查看TDE状态

  1. 登录PolarDB控制台
  2. 在控制台左上角,选择集群所在地域。
  3. 找到目标集群,单击集群ID。
  4. 在左侧导航栏单击配置与管理 > 安全管理
  5. TDE配置页签,查看TDE状态
    -O TDE配置

切换为自定义密钥

  1. 登录PolarDB控制台
  2. 在控制台左上角,选择集群所在地域。
  3. 找到目标集群,单击集群ID。
  4. 在左侧导航栏单击配置与管理 > 安全管理
  5. TDE配置页签,单击TDE状态右侧的切换为自定义密钥
    切换为自定义密钥
  6. 设置TDE对话框中,选择使用已有自定义密钥
    说明 如果没有自定义密钥,需要单击前往创建,在密钥管理服务控制台创建密钥并导入自带的密钥材料。详情请参见管理密钥
    使用已有自定义密钥
  7. 单击确定

常见问题

  • 开启TDE后,常用数据库工具(Navicat等)还能正常使用吗?

    答:可以正常使用。

  • 加密后查看数据为什么还是明文的?

    答:查询数据时会解密并读取到内存,所以是明文显示。开启TDE后存储的数据是加密的。

相关API

API 描述
CreateDBCluster 创建PolarDB集群,开启透明数据加密TDE。
说明 DBType参数需要为PostgreSQL或Oracle。