全部产品

组织系统配置

组织系统配置包含设置数据采集服务,设置AES密钥

  1. 单击页面右上角的Dingtalk_20201127161713,从左侧导航栏选择组织系统配置

  2. 采集服务设置:购买数据采集功能包后,可开启回流数据同步服务(默认关闭),将加工后的行为数据同步至ADB3.0数据库;开启采集日志同步服务(默认关闭),将数据采集日志同步至MaxCompute项目。

    单击编辑,进行以下配置,单击保存完成设置。数据采集

    说明

    采集数据同步服务、采集日志同步服务可以不同时开启。

    • 开启并配置采集数据同步服务。

      • 开启采集数据同步服务开关。

      • 选择同步到的数据库,支持ADB3.0。

      • 自定义数据同步到的表名后缀。仅初始化时支持自定义,一旦保存,不可修改,否则影响行为数据的同步。

      • 右侧显示采集数据最近一次成功同步时间,下方显示相应的维表表名(根据同步到ADB的行为数据自动加工的行为维表)。

      • 设置数据存储周期

        说明

        若存储周期由大改小,例如由60天修改为45天,则次日同步时,会将最老的16天数据删除。

    • 开启并配置采集日志同步服务。日志格式说明,请参见实时日志

      • 开启采集日志同步服务开关。

      • 填写用于访问MaxCompute的AccessKey ID、AccessKey Secret和MaxCompute英文项目名。AccessKey信息可通过主账号登录RAM控制台获取。

  3. AES密钥设置:输入AES密钥,单击保存完成设置。

    密钥请向您方进行AES加密操作的开发人员获取,AES加密操作说明,请参见下面的AES加密函数

    在数据集或受众推送到数据银行或进行广告营销时,若ID已被AES加密,将使用AES密钥进行解密。p190473

    AES加密函数

    当ID字段储存在MaxCompute、ADB3.0时,您可以使用AES加密函数对ID进行AES加密。

    MaxCompute

    进行AES加密之前,需要在MaxCompute添加下面的自定义函数。MaxCompute自定义函数开发操作,请参见IntelliJ IDEA Java UDF开发最佳实践

    import com.aliyun.odps.udf.UDF;
    
    import javax.crypto.Cipher;
    import javax.crypto.spec.SecretKeySpec;
    import java.nio.charset.StandardCharsets;
    import java.security.Key;
    import java.util.Base64;
    
    public class AESEncrypt extends UDF {
    
        /**
         * aes加密,默认为ecb模式,aes128位,pkcs5padding
         * 加密后由base64转为字符串
         * @param data 待加密数据
         * @param secret 16位长度的密钥
         * @return
         * @throws Exception
         */
        public String evaluate(String data, String secret) throws Exception {
            Key k = new SecretKeySpec(secret.getBytes(StandardCharsets.UTF_8), "AES");
            Cipher cipher = Cipher.getInstance("AES/ECB/PKCS5Padding");
            cipher.init(Cipher.ENCRYPT_MODE, k);
            byte[] encryptData = cipher.doFinal(data.getBytes(StandardCharsets.UTF_8));
            return new String(Base64.getEncoder().encode(encryptData), StandardCharsets.UTF_8);
        }
    }
    

    使用以上函数对ID进行AES加密时:

    • data:传入需要加密的ID字段。

    • secret:自定义的16位密钥。

    注意

    不支持多个密钥,请始终使用唯一密钥,并妥善保管该密钥,否则可能导致部分数据无法解密。

    加密示例:

    新建一张加密表,在插入数据的时候调用加密函数,加密原始表的字段。 已在MaxCompute添加自定义函数aes_encrypt。

    原始表:

    create table source_table (id string, type string);
    insert into source_table values('65598', 'oneid');
    insert into source_table values('65599', 'oneid');

    加密表:

    create table target_table (id string, type string);
    insert into target_table select aes_encrypt(id, '1234567890123456'), type from source_table;

    ADB3.0

    ADB3.0已提供AES加密函数aes_encrypt,您直接使用即可。

    加密示例:

    新建一张加密表,在插入数据的时候调用加密函数,加密原始表的字段。

    原始表:

    create table source_table (id string, type string);
    insert into source_table values('65598', 'oneid');
    insert into source_table values('65599', 'oneid');

    加密表:

    create table target_table (id string, type string);
    insert into target_table select to_base64(aes_encrypt(CAST(id AS VARBINARY), '1234567890123456')), type from source_table;
    注意

    请使用自定义的16位密钥替换示例中的“1234567890123456”。不支持多个密钥,请始终使用唯一密钥,并妥善保管该密钥,否则可能导致部分数据无法解密。