本文为您介绍MaxCompute的动态脱敏功能以及该功能如何使用。

动态脱敏功能说明

使用此功能前您需要开通数据保护伞服务。

MaxCompute提供了对SQL查询任务结果的动态脱敏功能,可以帮助您有效地保护个人身份识别数据。动态脱敏功能仅对上层数据进行脱敏,不会影响底层数据存储。目前内置支持脱敏的数据类型为:身份证、手机号、电子邮箱、银行卡、车牌号、IP地址以及MAC地址。

您也可以通过数据保护伞服务,自定义您的脱敏数据类型和脱敏策略。详细请参见自定义动态脱敏规则

开启动态脱敏功能

  1. 项目Owner或管理员在客户端运行如下语句安装脱敏Package。
    install package aegis.aegis_package;
  2. 为账号授权Project的数据脱敏权限。
    1. 登录数据保护伞控制台。
    2. 单击左侧导航栏中的规则配置 > 数据脱敏管理,进入数据脱敏管理
    3. 脱敏场景中选择MaxCompute底层脱敏(maxcompute_desense_code),并单击右侧选择脱敏project
    4. 授权账号脱敏,从未脱敏project列表选择需要脱敏的项目显示在脱敏project列表中,勾选我同意授权数据保护伞对以上账号进行脱敏并单击确定

使用动态脱敏功能

  • Session级别。需要在运行的SQL前加如下脱敏参数设置语句和SQL语句一起提交,该SQL语句运行结果会被脱敏。
    set odps.output.field.formatter=aegis:masking_v1;
    set odps.isolation.session.enable=true;
  • Project级别。使用如下语句设置Project脱敏参数,设置完成后,该Project下所有SQL语句的运行结果会被脱敏。
    setproject odps.output.field.formatter=aegis:masking_v1;

示例

原始查询的SQL如下。
select * from tbl_user;
脱敏查询SQL如下。
set odps.output.field.formatter=aegis:masking_v1;
set odps.isolation.session.enable=true;

select * from tbl_user;