tencent cloud

文档反馈

开启透明数据加密

最后更新时间:2023-07-05 11:40:23

    操作场景

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

    限制条件

    • 实例架构须为双节点、三节点。
    • 实例类型须为 MySQL 5.7、MySQL 8.0。
    • 已开通密钥管理服务 KMS。如未开通,可在开通数据加密过程中根据引导开通 KMS。
    • 已授予 KMS 密钥权限。如未授予,可在开通数据加密过程中根据引导进行授权。
    • 操作账号需具有 QcloudAccessForMySQLRole 的权限,如无权限,可在开通数据加密过程中根据引导进行授权。
      说明:

      • 加密使用的密钥由 密钥管理服务 KMS 产生和管理,云数据库 MySQL 不提供加密所需的密钥和证书。
      • 透明数据加密(Transparent Data Encryption,TDE)功能不会额外收费,但密钥管理服务 KMS 有可能产生额外费用,请参考 计费概述
    • 当账号处于欠费状态时,无法从 KMS 获取密钥,可能导致迁移、升级等任务无法正常进行,请参见 欠费说明

    注意事项

    • 撤销授权关系后,重启会造成 MySQL 数据库不可用。
    • TDE 加密功能开通后无法关闭。
    • 开启 TDE 加密功能后,用户如果要恢复数据到本地,需要先解密数据。
    • 开启 TDE 加密功能后,可提高静态数据的安全性,但同时会影响访问加密数据库的读写性能,请结合实际情况选择开启 TDE 加密功能。
    • 如果主实例关联只读实例或灾备实例,只需主动开通主实例的数据加密功能即可,只读实例和灾备实例的数据加密会一并开通。
    • 开启 TDE 加密功能后,当账号处于欠费状态时,无法从 KMS 获取密钥,可能导致迁移、升级等任务无法正常进行。
    • 开启 TDE 加密功能后,会增加 CPU 资源的消耗,大约会影响5%左右的性能。
    • 开启 TDE 加密功能后,经过数据库身份验证的应用和用户可以透明地访问应用数据。

    操作步骤

    开启 TDE 加密功能

    1. 登录 MySQL 控制台,在实例列表,单击实例 ID 或操作列的管理,进入管理页面。
    2. 选择数据安全页,单击加密状态后的开关。
      注意:

      • 启用数据加密功能的实例,不支持使用物理备份恢复至其他主机上的自建数据库。
      • 数据加密开通后不可关闭。
    3. 在弹出的对话框,开通 KMS 服务和授予 KMS 密钥权限,选择密钥后,单击加密
      • 选择使用腾讯云自动生成的密钥时,由腾讯云自动生成密钥。
      • 选择使用已有自定义密钥时,可选择自己创建的密钥。
        说明:

        如无自定义密钥,需单击前往创建,在密钥管理系统控制台创建密钥,详情请参见 创建密钥

    加密数据表

    开启 TDE 加密功能后,用户需对 MySQL 的表执行如下 DDL 操作才能进行数据加密。

    • 如果您在创建表时对表进行加密,请执行如下命令:

      CREATE TABLE t1 (c1 INT) ENCRYPTION='Y';
      
    • 如果您对已创建的表进行加密,请执行如下命令:

      ALTER TABLE t1 ENCRYPTION='Y';
      

    解密数据表

    开启 TDE 加密功能后,用户还需要对 MySQL 的表进行如下 DDL 操作才能进行数据解密。
    如果您要对加密的表进行解密,请执行如下命令:

    ALTER TABLE t1 ENCRYPTION='N';
    
    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持