字段加解密 DRDS支持字段级别的加解密功能,本文为您介绍该功能的具体使用方法。 注意 本功能尚在小范围公测中,请注意评估功能可能带来的风险并谨慎使用。 前提条件 已创建库表。 目标库表为分片表,且已设置分片规则。设置分片规则的操作,请参见库表管理。 背景信息 DRDS支持字段级别的加解密,通过该功能,可以为您的库表字段进行加密,提高数据安全性。 开启字段加密后,DRDS根据用户配置的字段,将DML类型的SQL语句中对应的字段重写为加密内容后写入到底层数据中。对DQL类型的SQL,如果用户有解密权限,会根据字段解密被加密的字段内容。适用于需要对用户身份证、电话号码等敏感信息加密的场景。 使用限制 仅V5.1.20.0.4及以后版本创建的实例,支持字段加密功能。 仅支持字符串类型的字段进行加密。 开启、关闭或修改字段均对存量数据不生效,仅对新增数据生效。 只支持对表的字段进行加密。 注意事项 开启加密功能后,仅对增量数据进行加密。因此您需要自行处理数据库中原始的存量数据。 开启加密功能后,如果您执行的SQL语句含有加密字段,则存在如下限制: 注意 如果您执行的SQL语句不含有加密字段,则不影响SQL语句执行结果。 支持进行like 和等值查询,比如name是加密字段时,您可以执行如下操作: plaintext select id , name from student where student.name 'xxx'; select id , name from student where 'xxx 'student.name ; SQL语句中涉及加密的字段,只支持单表的查询,包括包含单表自身的子查询,比如 select name from (select name from student ) a ,加密字段的条件只能放到子查询语句中。 不支持join语句里含有加密字段。 不支持对加密字段进行函数计算。 不支持加密字段作为查询条件时不区分大小写功能。如果设置了不区分大小写功能,则加密后大小写对应的加密数据没有大小写对应关系,不区大小写功能将会失效。 加密字段不支持比较操作,如:大于、小于、ORDER BY、BETWEEN 等。 加密字段不支持计算操作,如:AVG、SUM 以及计算表达式。 加密字段只支持字符类型。 不支持udpate 加密字段A 字段B 语法。