组织系统配置包含设置数据采集服务,设置AES密钥。
单击页面右上角的
,从左侧导航栏选择组织系统配置。
采集服务设置:购买数据采集功能包后,可开启回流数据同步服务(默认关闭),将加工后的行为数据同步至ADB3.0数据库;开启采集日志同步服务(默认关闭),将数据采集日志同步至MaxCompute项目。
单击编辑,进行以下配置,单击保存完成设置。
说明采集数据同步服务、采集日志同步服务可以不同时开启。
开启并配置采集数据同步服务。
开启采集数据同步服务开关。
选择同步到的数据库,支持ADB3.0。
自定义数据同步到的表名后缀。仅初始化时支持自定义,一旦保存,不可修改,否则影响行为数据的同步。
右侧显示采集数据最近一次成功同步时间,下方显示相应的维表表名(根据同步到ADB的行为数据自动加工的行为维表)。
设置数据存储周期。
说明若存储周期由大改小,例如由60天修改为45天,则次日同步时,会将最老的16天数据删除。
开启并配置采集日志同步服务。日志格式说明,请参见实时日志。
开启采集日志同步服务开关。
填写用于访问MaxCompute的AccessKey ID、AccessKey Secret和MaxCompute英文项目名。AccessKey信息可通过主账号登录RAM控制台获取。
AES密钥设置:输入AES密钥,单击保存完成设置。
密钥请向您方进行AES加密操作的开发人员获取,AES加密操作说明,请参见下面的AES加密函数。
在数据集或受众推送到数据银行或进行广告营销时,若ID已被AES加密,将使用AES密钥进行解密。
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”。不支持多个密钥,请始终使用唯一密钥,并妥善保管该密钥,否则可能导致部分数据无法解密。
在文档使用中是否遇到以下问题
更多建议
匿名提交