在云环境中,数据库内的敏感数据可能面临被平台运维人员或通过失窃的数据库账号访问的风险。PolarDB-X的全密态数据库功能通过在客户端对数据进行加解密,确保数据在数据库服务端始终以密文形态存储和处理。即使数据库管理员或高权限账号直接访问数据库,也无法获取数据明文,从而有效防止云上数据泄露。
功能架构
功能简介
全密态数据库的核心原理是在应用客户端通过特定的驱动(EncJDBC)完成数据的加解密,而数据库服务端仅存储和处理密文。密钥由您自行管理,不托管在数据库服务端。其主要功能特性如下:
业务无感知 您的应用程序无需修改业务逻辑代码,仅需将标准的JDBC驱动替换为全密态驱动(EncJDBC),即可接入全密态能力。
灵活加密配置 您可以根据业务需求,通过数据安全中心(DSC)灵活指定需要加密的具体库、表和列。
分级权限管理 支持为不同数据库账号设置明文或密文权限。授权账号可访问明文数据,而其他账号(如运维、开发)只能访问密文数据。
密钥保护 加密密钥由您完全掌控,可以通过参数动态传递给EncJDBC驱动。您可以选择使用自有的密钥管理服务,密钥仅在客户端内存中参与运算,不在云端留存。
应用场景
针对不同业务场景所面临的不同数据安全问题,以下列举了一些全密态数据库适用的典型场景:
保护应用数据,防止数据库端泄露 此场景适用于您作为应用服务方,希望防止数据库服务及其运维人员接触到业务敏感数据明文。加密操作在您的应用侧完成,数据库仅处理密文。
保护客户隐私,实现端到端加密 此场景适用于处理高度敏感的客户数据(如个人健康、财务信息)。数据在客户端(例如手机App)进行加密,确保即使是您作为应用服务方,也无法获取客户的个人数据明文,从而最大程度保护最终客户的隐私。
安全可靠的加密数据共享 由于密钥由数据所有者持有,您可以在不泄露自身密钥的前提下,将加密后的数据安全地分享给第三方,既满足业务协作需求,又能遵循数据安全与合规要求。
前提条件
实例版本:大于等于polardb-2.5.0_5.4.20-20250714_xcluster8.4.20-20250703。
已购买数据安全中心(DSC),且购买足够的列加密授权配额。如果您未开通列加密功能或列加密授权配额不足,您可以进行版本升级。
说明需确保购买的数据安全中心实例所在地域支持列加密功能。详细信息,请参见支持的地域。
计费说明
全密态数据库功能本身不收取额外费用。
但该功能依赖数据安全中心(DSC)进行加密配置和管理,您需要购买DSC并确保拥有足够的列加密授权配额。详细计费信息,请参见计费概述。
注意事项
性能开销
客户端加解密会消耗应用侧的CPU资源,加密的列越多,性能开销越大。在典型TPC-C模型下,全量列加密约有10%的性能损耗。建议您仅对必要的敏感列进行加密,以平衡安全与性能。详情请参见性能测试报告。
协议限制
全密态功能当前仅支持
text protocol
,不支持binary protocol
。这意味着JDBC客户端无法使用Prepare
协议执行SQL查询加密数据。