Snowflake Data Clean Rooms:身份和数据提供商连接器¶
备注
Snowflake Data Clean Rooms 目前不支持数据主体同意管理。客户有责任确保其已获得使用其 Clean Room 中关联的数据的所有必要权利和同意。客户在使用 Data Clean Room 时,还必须确保遵守所有适用的法律和法规,包括与第三方连接器相关的法律法规。
重要
第三方连接器不由 Snowflake 提供,并可能受附加条款的约束。 提供这些集成是为了方便您的使用,但您必须对从这些集成发送或接收的任何内容负责。
客户有责任获得与使用 Snowflake Data Clean Room 有关的任何必要同意。请确保您在使用 Snowflake Data Clean Room 时遵守适用的法律和法规,包括与用于激活目的的第三方连接器相关的法律和法规。
概述¶
当不同的值引用同一个实体时,可使用身份连接器来解析和联接表之间的实体。例如,如果身份提供商知道两个不同的电子邮件指的是同一个人,且 Table1 使用电子邮件 1,而 Table2 使用电子邮件 2,则通过使用身份连接器,您就可以将这两个不同的电子邮件作为同一个实体联接起来。
为了使身份连接器能够在 Clean Room 中使用,DCR 管理员必须首先 配置 Clean Room 以使该连接器可供 Clean Room 创建者使用。
Acxiom Real ID 连接器¶
Acxiom Real ID 可让您在 Snowflake 中安全地生成 Real IDs,而无需将个人可识别信息 (PII) 转移到 Snowflake 账户之外。
小技巧
如需更多帮助,请阅读 Acxiom Real ID 文档 (https://acxiom.my.salesforce.com/sfc/p/#80000000Lm8w/a/8b0000011nke/tK9CJE0OvFfutuk4CZjBYb3eDT5qXAfTJItUa7GOGl0) 或联系 accrealid@acxiom.com 以获得支持。
先决条件¶
在配置 Acxiom 连接器之前,您必须联系 Acxiom 寻求帮助以安装他们的本机应用程序。
在 Clean Room 管理员配置连接器之前,Acxiom 本机应用程序的所有者必须:
登录 Snowsight。
假设拥有 Acxiom 本机应用程序的所有权角色。例如,如果
acxiom_admin_role
角色是 Acxiom 本机应用程序的所有者,请执行:USE ROLE acxiom_admin_role;
执行以下命令以授予 Snowflake Data Clean Rooms 对 Acxiom
realid_app_role
应用程序角色的访问权限:GRANT APPLICATION ROLE <acxiom_app_database>.realid_app_role TO ROLE samooha_app_role;
配置 Acxiom Real ID 连接器¶
要配置 Acxiom Real ID 连接器,请执行以下步骤:
在 Web 应用程序 中登录 Clean Room 环境。
在左侧导航栏中,选择 Connectors。
选择 Identity & Data Providers 选项卡。
展开 Acxiom - Real ID。
在 Application Database 字段中,输入由 Acxiom 本机应用程序安装的应用程序数据库的名称。
在 Warehouse 下拉列表中,选择仓库规模。我们推荐
DCR_WH_XLarge
,但您可以阅读 Acxiom 关于仓库规模和性能的指导 (https://acxiom.my.salesforce.com/sfc/p/#80000000Lm8w/a/8b0000011nke/tK9CJE0OvFfutuk4CZjBYb3eDT5qXAfTJItUa7GOGl0)。有关创建用于 Snowflake Data Clean Rooms 的仓库的更多信息,请参阅 添加仓库选项。选择 Save。
Acxiom Real ID 转码连接器¶
Acxiom Real ID 的转码功能让您能够生成 Acxiom Real IDs 与商业合作伙伴 Acxiom Real IDs 的交叉表,而无需将 PII 转移到您的 Snowflake 账户之外。
小技巧
如需更多帮助,请阅读 Acxiom Real ID 转码应用程序 (https://acxiom.my.salesforce.com/sfc/p/#80000000Lm8w/a/8b000000pVgm/iUAr_yl7KsnqJhgV8qk1xbR49XDurWxgu0lzyubnnO8) 或联系 accrealid@acxiom.com 以获得支持。
先决条件¶
您必须安装 Acxiom Real ID 本机应用程序,如 前文所述。
您必须安装 Acxiom Real ID 转码应用程序。
联系您的合作者,以获取他们在安装 Acxiom Real ID Transcoding 本机应用程序时生成的客户端 ID 和客户端密钥。
在 Clean Room 管理员配置连接器之前,Acxiom 本机应用程序的所有者必须:
登录 Snowsight。
假设拥有 Acxiom 本机应用程序的所有权角色。例如,如果
acxiom_admin_role
角色是 Acxiom 本机应用程序的所有者,请执行:USE ROLE acxiom_admin_role;
执行以下命令以授予 Snowflake Data Clean Rooms 对 Acxiom
realid_app_role
应用程序角色的访问权限:GRANT APPLICATION ROLE <acxiom_app_database>.realid_app_role TO ROLE samooha_app_role;
配置 Acxiom Real ID 转码连接器¶
要配置 Acxiom Real ID 转码连接器:
在 Web 应用程序 中登录 Clean Room 环境。
在左侧导航栏中,选择 Connectors。
选择 Identity & Data Providers 选项卡。
展开 Acxiom Real ID Transcoding。
在 Application Database 字段中,输入由 Acxiom 本机应用程序安装的应用程序数据库的名称。
在 Client ID 字段中,输入您在安装本机应用程序时由 Acxiom 提供的客户 ID。
在 Client Secret 字段中,输入您在安装本机应用程序时由 Acxiom 提供的客户端密钥。
在 Warehouse 下拉列表中,选择仓库规模。我们推荐
DCR_WH_Medium
,但您可以阅读 Acxiom 关于仓库规模和性能的指导 (https://acxiom.my.salesforce.com/sfc/p/#80000000Lm8w/a/8b0000011nke/tK9CJE0OvFfutuk4CZjBYb3eDT5qXAfTJItUa7GOGl0)。有关创建用于 Snowflake Data Clean Rooms 的仓库的更多信息,请参阅 添加仓库选项。在 Acxiom Collaborator 部分,当一个或多个合作者安装 Acxiom Real ID Transcoding 本机应用程序时,将他们与客户端 ID 及为他们生成的客户端密钥一起选中。如果合作者不在列表中,您必须 将他们添加到 Clean Room 环境中。
选择 Save。
LiveRamp 身份解析连接器¶
LiveRamp 的嵌入式身份会解析个人身份信息 (PII) 或设备标识符,将其转为持久、匿名的 RampID,并通过 Snowflake Marketplace 中的 LiveRamp 原生应用程序提供。在配置 LiveRamp 身份解析连接器以便在 Snowflake Clean Room 中使用之前,您必须首先安装 LiveRamp 原生应用程序。有关说明,请参阅 LiveRamp 文档中的 在 Snowflake 中设置 LiveRamp 原生应用程序 (https://docs.liveramp.com/identity/en/set-up-the-liveramp-native-app-in-snowflake.html#set-up-the-liveramp-native-app-in-snowflake)。
小技巧
如需更多帮助,请参阅 LiveRamp 文档中的 ` Snowflake中的 LiveRamp 嵌入式身份`_,或者发送电子邮件至 snowflake@liveramp.com 寻求支持。
以下是如何将您的 Clean Room 环境与 LiveRamp 身份解析原生应用程序集成的方法:
在 Clean Room Web 应用程序的左侧导航中,选择 Connectors。
选择 Identity & Data Providers 选项卡。
展开 LiveRamp - Identity Resolution & Translation。
在 Configuration Table 字段中,输入授权给 LiveRamp 原生应用程序的应用程序数据库名称 LiveRamp。
输入 LiveRamp 提供的客户端 ID 和密钥,以对此工作流程进行身份验证
在 Warehouse 下拉列表中,选择 仓库规模。根据操作中使用的数据集,我们为大多数基于 PII 的执行类型推荐 2XL 仓库。
选择 Save。
对于所有基于 RampID 的用例,您不得尝试重新识别相关个人身份,也不得对 RampID 进行反向工程。对于身份连接器中使用的任何表,必须保留已知身份数据 (PII) 和假名数据分离。在设置过程中,可以为解析和消除冲突过程将列标记为 PII;其他任何敏感标识符列(例如 SSN)均需在连接表之前完全移除。如果您需要帮助或有疑问,请与您的 LiveRamp 团队联系。
LiveRamp RampID 转换连接器¶
LiveRamp 的 RampID 转换功能允许将 RampID 从一个合作伙伴域编码转码到另一个合作伙伴域编码,这样您就可以将持久保留的假名标识符相互匹配,而无需共享敏感的底层标识符。此功能可通过 Snowflake Marketplace 中的 LiveRamp 原生应用程序获得。
在配置此连接器以用于 Snowflake Clean Room 之前,必须先安装 LiveRamp 原生应用程序。
小技巧
如需更多帮助,请参阅 LiveRamp 文档中的 ` Snowflake中的 LiveRamp 嵌入式身份`_,或者发送电子邮件至 snowflake@liveramp.com 寻求支持。
要配置 LiveRamp 转换原生应用程序:
登录 Snowsight。
在 Clean Room Web 应用程序的左侧导航中,选择 Connectors。
选择 Identity & Data Providers 选项卡。
展开 LiveRamp - Identity Resolution & Translation。
在 Configuration Table 字段中,输入授权给 LiveRamp 原生应用程序的应用程序数据库名称 LiveRamp。
输入 LiveRamp 为此工作流程的身份验证提供的客户端 ID 和密钥。
在 Warehouse 下拉列表中,选择 仓库规模。仅对于身份转换工作流程,可以使用较小的仓库大小。
在 RampID Collaborators 下,输入以下内容:
在 Snowflake Collaborator 字段中,输入协作者 Snowflake 账户的 账户定位器。
在 Target Domain 字段中,输入您的协作者 RampID 空间的 LiveRamp 目标域编码。这是一个四字符标识符:如需更多信息,请联系 LiveRamp。
选择 Save。
Merkury 身份连接器¶
Merkury 身份连接器使得将特定的个人可识别信息 (PII) 转换为伪匿名的 Merkury ID 成为可能。
如需额外帮助,请联系 rekey@merkle.com
第 1 步:安装 Merkury 身份连接器本机应用程序¶
安装 Merkury 身份连接器本机应用程序。您必须联系 Merkury 以获取安装本机应用程序的帮助。
向 SAMOOHA_APP_ROLE 角色授予权限:
登录 Snowsight。
假设该角色拥有 Merkury 本机应用程序的所有权。例如,如果 ACCOUNTADMIN 角色是 Merkury 本机应用程序的所有者,则执行
USE ROLE ACCOUNTADMIN;
执行以下命令以授予 Snowflake Data Clean Room 访问 Merkury
DCR_DB_ROLE
的应用程序角色:
GRANT APPLICATION ROLE <merkury_app_database>.DCR_DB_ROLE TO ROLE samooha_app_role;
第 2 步:配置 Merkury 身份连接器本机应用程序¶
:ref:` 登录到您的网络应用程序中的 Clean Room。<label-cleanroom_web_app_sign_in>`
在左侧导航栏中,选择 Connectors。
选择 Identity & Data Providers 选项卡。
展开 Merkury Identity Connector。
在 Application database 字段中,输入由 Merkury Identity 本机应用程序安装的应用程序数据库的名称。
验证您的身份。
TransUnion TruAudience Identity 连接器¶
TransUnion TruAudience Identity 使用在线和离线标识符提供消费者数据清理、丰富和匹配解决方案。它将表中的行与 TransUnion 身份相匹配,可用于联接协作者表中的行。
使用 TransUnion 集成时,请注意以下几点:
Snowflake 在匹配身份时不考虑 TransUnion 分数筛选器。包含所有匹配项。
当提供商(而不是使用者)运行重叠受众分析等分析时,不同的协作 IDs 基于使用者的计数,而不是提供商的计数。
您不能使用 SQL 查询模板对协作 ID 进行聚合。
本节描述了如何为 TransUnion TruAudience Identity 配置连接器。您必须是 DCR 管理员,才能安装和配置此连接器。
在配置连接器后,Snowflake 会维护一个缓存,将 TransUnion 合作伙伴 IDs 映射到唯一标识源表中记录的值。作为管理员,您可以 管理此缓存,例如,从缓存中删除特定记录。
- 先决条件
在 Clean Room 环境中配置 TransUnion TruAudience 身份连接器之前,必须完成以下内容:
- 第 1 步:安装 TransUnion 本机应用程序
使用 Snowflake Marketplace 安装 TransUnion TruAudience Identity 的本机应用程序。
- 第 2 步:向 Clean Rooms 本机应用程序授予权限
在安装完 TransUnion 本机应用程序,但 Clean Room 管理员尚未配置连接器时,TransUnion 本机应用程序的所有者必须按照以下步骤操作:
登录 Snowsight。
假设角色拥有 TransUnion 本机应用程序的所有权。例如,如果
tu_admin_role
角色是 TransUnion 本机应用程序的所有者,请执行:USE ROLE tu_admin_role;
授予 Snowflake Data Clean Rooms 对第 1 步中安装的 TransUnion 应用程序角色和 TransUnion 表的访问权限:
GRANT APPLICATION ROLE <transunion_app_database>.tru_app_public TO ROLE SAMOOHA_APP_ROLE; GRANT SELECT, INSERT ON TABLE SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.PUBLIC.SAMOOHA_INTERNAL_TRANSUNION_ID_GENERATION_RECORDS TO ROLE SAMOOHA_APP_ROLE;
- 第 3 步:确保所需的存储过程存在
TransUnion 连接器依赖于存储过程,而在某些 Clean Room 环境中存储过程可能不存在。为了确保存储过程存在,请以具有 ACCOUNTADMIN 角色的用户身份执行以下命令:
USE ROLE ACCOUNTADMIN; DESCRIBE PROCEDURE SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.PUBLIC.GRANT_EXTERNAL_APP_ROLE;
如果收到过程不存在的错误,则必须使用以下命令来定义该过程:
USE ROLE ACCOUNTADMIN; CREATE OR REPLACE PROCEDURE SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.PUBLIC.GRANT_EXTERNAL_APP_ROLE(APP_ROLE string, APPLICATION string) RETURNS string LANGUAGE SQL EXECUTE AS OWNER AS $$ GRANT APPLICATION ROLE IDENTIFIER(:APP_ROLE) TO APPLICATION IDENTIFIER(:APPLICATION); $$; GRANT USAGE ON PROCEDURE SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.PUBLIC.GRANT_EXTERNAL_APP_ROLE(string, string) TO ROLE SAMOOHA_APP_ROLE;
配置连接器
要配置 TransUnion TruAudience Identity 连接器,请执行以下步骤:
在 Web 应用程序 中登录 Clean Room 环境。
在左侧导航栏中,选择 Connectors。
选择 Identity & Data Providers 选项卡。
展开 TransUnion - TruAudience Identity。
在 Application Database 字段中,输入由 TransUnion 本机应用程序安装的应用程序数据库的名称。
在 Collaboration Key 字段中,输入从 TransUnion 收到的用于授权的协作密钥。
选择一个在 Clean Room 用户将表与 TransUnion TruAudience Identity 集成时使用的仓库。
如果想在一个小时内完成身份匹配的过程,请使用以下指南来帮助选择合适的仓库规模:
行数
仓库规模
< 100 万
大
100 万
XLarge
500-1000 万,附带地址
3X-大
> 1000 万
3X-大
选择 Authenticate。
本节介绍如何使用 Web 应用程序中的 TransUnion TruAudience 身份连接器。
使用 TransUnion 连接器丰富数据:
启动 Clean Room 创建或安装过程。
到达 Specify Join Policies 步骤后,展开 Identity Hub。
选择 TransUnion (TruAudience Identity)。
在 Table 字段中,选择包含要使用 TransUnion 协作 IDs 增强的数据的表。
在 Unique Record Column 字段中,选择唯一标识表中记录的列,例如系统生成的用户 ID。
使用 User Identifiers 部分将 TransUnion 身份类型与表中的列相关联。这些列用于匹配 TransUnion 身份。这些列中的值应符合以下要求。
身份类型
格式要求
地址
地址行 – 单输入。对于具有第 1 行和第 2 行的地址,将这两个值合并为一个值。
城市 – 字符串。
州/省/直辖市 – 双字符缩写。
邮政编码 – Zip code 或 Zip code+4 形式的邮政编码。排除空格或连字符等特殊字符。
出生日期
yyy-mm-dd 格式。
设备 ID
带连字符的 IDs(36 个字符长的原始设备 IDs/MAIDs/IFAs)或不带连字符的 IDs(32 和 40 个字符长的哈希设备 IDs/MAIDs/IFAs)。
电子邮件地址
纯文本或 SHA256 哈希的小写字符串。
名字
大写或小写名称,包括昵称。排除标题和后缀。
IP 地址
点符号或整型格式的 IPv4 地址。您可以使用 PARSE_IP 函数获取整型格式。
姓氏
大写或小写名称。不包括中间首字母。
电话
十位数字,不含空格和连字符等特殊字符。
匹配的 TransUnion 身份
当 Snowflake 将表中的记录与 TransUnion 身份匹配时,协作 IDs 会添加到新列 TCUID
的表中。当协作者将该列添加到自己的某个表中时,可以根据 TransUnion 协作者 ID 匹配记录。
TransUnion TruAudience Identity 的缓存¶
Snowflake 会维护一个缓存,它会将 TransUnion 协作者 IDs 映射到源表中唯一标识记录的值。例如,缓存可能将每个协作者 ID 映射到源表的 user_id
列中的值。缓存存储在 SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.PUBLIC.SAMOOHA_INTERNAL_TRANSUNION_ID_GENERATION_RECORDS
表中。此表包含以下列:
列
数据类型
描述
inputid
VARCHAR
集成期间选择作为 Unique Record Column 的列的值。
collaborationid
VARCHAR
根据输入 ID 和其他集成参数生成的 TransUnion 协作 ID。
lastprocessed
TIMESTAMP_NTZ
TransUnion 生成协作 ID 时的时间戳。
可以对缓存执行以下操作:
- 删除缓存
TRUNCATE SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.PUBLIC.SAMOOHA_INTERNAL_TRANSUNION_ID_GENERATION_RECORDS;
- 从缓存中删除特定记录
您可以通过将特定记录指定为单引号值的逗号分隔列表来从缓存中删除这些记录。例如,要删除输入 IDs 为
123456
和abcedf
的记录,请执行以下操作:DELETE FROM SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.PUBLIC.SAMOOHA_INTERNAL_TRANSUNION_ID_GENERATION_RECORDS WHERE inputid IN ('123456', 'abcedf');
- 根据单独数据集中的输入 IDs 删除多条记录
当输入 IDs 存在于另一个表的列中时,可以从缓存中删除多条记录。例如,如果要删除的输入 IDs 在
my_db.my_schema.ref_table
表的user_id
列中列出,请执行以下操作:DELETE FROM SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.PUBLIC.SAMOOHA_INTERNAL_TRANSUNION_ID_GENERATION_RECORDS WHERE INPUTID IN ( SELECT user_id as INPUTID FROM my_db.my_schema.ref_table );
- 添加批次中的所有记录
您可以将存在于 TransUnion 视图中的批次中的所有记录添加到缓存中。
INSERT INTO SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.PUBLIC.SAMOOHA_INTERNAL_TRANSUNION_ID_GENERATION_RECORDS ( INPUTID, COLLABORATIONID, LASTPROCESSED SELECT INPUTID, COLLABORATIONID, LASTPROCESSED FROM <TRANSUNION_APPLICATION_DATABASE>.SHARE_SCHEMA.REF_MATCHING_OUTPUT_VIEW WHERE BATCHID = '<BATCH_ID>';
- 合并批次中的所有记录
您可以使用相应的新协作 IDs 和新的最后处理时间戳覆盖现有的输入 ID 记录,从而将存在于 TransUnion 视图中的批次中的所有记录合并到缓存中。
MERGE INTO SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.PUBLIC.SAMOOHA_INTERNAL_TRANSUNION_ID_GENERATION_RECORDS CT USING <TRANSUNION_APPLICATION_DATABASE>.SHARE_SCHEMA.REF_MATCHING_OUTPUT_VIEW OT ON CT.INPUTID = OT.INPUTID AND OT.BATCHID = '<BATCH_ID>' WHEN MATCHED THEN UPDATE SET CT.COLLABORATIONID = OT.COLLABORATIONID, CT.LASTPROCESSED = OT.LASTPROCESSED WHEN NOT MATCHED THEN INSERT ( INPUTID, COLLABORATIONID, LASTPROCESSED ) VALUES ( OT.INPUTID, OT.COLLABORATIONID, OT.LASTPROCESSED );
- 为输入 ID 记录添加协作者 IDs
您可以为输入 ID 记录添加协作者 IDs,这些输入记录以列的形式存在于数据集内,同时也存在于特定批次中。
INSERT INTO SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.PUBLIC.SAMOOHA_INTERNAL_TRANSUNION_ID_GENERATION_RECORDS ( INPUTID, COLLABORATIONID, LASTPROCESSED ) SELECT INPUTID, COLLABORATIONID, LASTPROCESSED FROM <TRANSUNION_APPLICATION_DATABASE>.SHARE_SCHEMA.REF_MATCHING_OUTPUT_VIEW WHERE INPUTID IN ( SELECT <column_name_containing_input_ids_to_be_added> as INPUTID FROM <dataset_fqtn_containing_input_ids_to_be_added> ) AND BATCHID = '<BATCH_ID>';