Snowflake Data Clean Rooms: 아이덴티티 및 데이터 제공자 커넥터예요.

Snowflake Data Clean Rooms: 아이덴티티 및 데이터 제공자 커넥터예요.

서비스 종료 안내

레거시 Provider 및 Consumer Data Clean Rooms는 단종될 예정이에요. 자세한 일정과 마이그레이션 안내는 서비스 종료 타임라인을 참고하세요.

참고

Snowflake Data Clean Rooms는 현재 정보주체 동의 관리를 지원하지 않아요. 고객은 Clean Rooms에서 연결된 데이터를 사용하는 데 필요한 모든 권리와 동의를 확보했는지 확인할 책임이 있어요. 또한 고객은 Data Clean Rooms를 사용할 때 제3자 커넥터와 관련된 경우를 포함하여 모든 관련 법률 및 규정을 준수해야 해요.

중요

제3자 커넥터는 Snowflake가 제공하는 것이 아니며 추가 약관이 적용될 수 있어요. 이러한 통합은 편의를 위해 제공되지만, 통합을 통해 전송되거나 수신되는 모든 콘텐츠에 대한 책임은 고객에게 있어요.

고객은 Snowflake Data Clean Rooms 사용과 관련하여 필요한 모든 동의를 얻을 책임이 있어요. Snowflake Data Clean Rooms를 사용할 때, 특히 활성화 목적의 제3자 커넥터와 관련하여 관련 법률 및 규정을 준수하고 있는지 확인해 주세요.

출처: 문서

본문


개요

아이덴티티 커넥터를 사용하면 서로 다른 값이 동일한 엔티티를 가리킬 때 테이블 간의 엔티티를 식별하고 조인할 수 있어요. 예를 들어, 아이덴티티 공급자가 서로 다른 두 이메일이 같은 사람을 가리킨다는 것을 알고 있고, Table1이 email 1을 사용하고 Table2가 email 2를 사용한다면, 아이덴티티 커넥터를 사용하여 이 두 개의 서로 다른 이메일을 동일한 엔티티로 조인할 수 있답니다.

클린 룸에서 아이덴티티 커넥터를 사용하려면 관리자가 먼저 클린 룸을 구성하여 해당 커넥터를 클린 룸 생성자에게 제공해야 해요.

TransUnion TruAudience Identity 커넥터

TransUnion TruAudience Identity는 온라인 및 오프라인 식별자를 사용하여 소비자 데이터 정리, 강화, 매칭 솔루션을 제공해요. 테이블의 행을 TransUnion 아이덴티티와 매칭하며, 이 아이덴티티는 협력자 테이블의 행을 조인하는 데 사용할 수 있어요.

TransUnion 통합을 사용할 때 다음 사항을 유의하세요.

  • Snowflake는 아이덴티티를 매칭할 때 TransUnion 점수 필터를 고려하지 않아요. 모든 매치가 포함됩니다.

  • 소비자가 아닌 제공자가 Overlap Audience Analysis와 같은 분석을 실행하는 경우, 고유한 협업 ID는 제공자의 수가 아닌 소비자의 수를 기준으로 해요.

  • SQL Query 템플릿을 사용하여 협업 ID를 집계할 수 없어요.

이 섹션에서는 TransUnion TruAudience Identity용 커넥터를 구성하는 방법을 설명해요. 이 커넥터를 설치하고 구성하려면 MANAGE_DCR_CONNECTORS 역할이 있어야 해요.

커넥터를 구성한 후 Snowflake는 TransUnion 협업 ID를 소스 테이블의 레코드를 고유하게 식별하는 값에 매핑하는 캐시를 유지 관리해요. 관리자는 이 캐시를 관리할 수 있어요. 예를 들어, 캐시에서 특정 레코드를 삭제할 수 있죠.

사전 요구 사항

클린 룸 환경에서 TransUnion TruAudience Identity 커넥터를 구성하기 전에 다음 작업을 완료해야 해요.

1단계: TransUnion 네이티브 앱 설치

Snowflake Marketplace를 사용하여 TransUnion TruAudience Identity용 네이티브 앱을 설치하세요.

2단계: 클린 룸 네이티브 앱에 권한 부여

TransUnion 네이티브 앱이 설치된 후, 클린 룸 관리자가 커넥터를 구성하기 전에 TransUnion 네이티브 앱의 소유자는 다음 단계를 수행해야 해요.

Snowsight에 로그인하세요.

TransUnion 네이티브 앱에 대한 소유 권한이 있는 역할을 맡으세요. 예를 들어, tu_admin_role 역할이 TransUnion 네이티브 앱의 소유자라면 다음을 실행하세요:

USE ROLE tu_admin_role;

Snowflake Data Clean Rooms에 TransUnion 애플리케이션 역할과 1단계에서 설치한 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 커넥터는 저장 프로시저에 의존하는데, 일부 클린 룸 환경에는 이 프로시저가 없을 수 있어요. 저장 프로시저가 존재하는지 확인하려면 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 커넥터를 구성하려면:

클린 룸 UI에 로그인하세요.

왼쪽 탐색에서 Connectors를 선택하세요.

Identity & Data Providers 탭을 선택하세요.

TransUnion - TruAudience Identity를 펼치세요.

Application Database 필드에 TransUnion 네이티브 앱으로 설치된 애플리케이션 데이터베이스의 이름을 입력하세요.

Collaboration Key 필드에 인증을 위해 TransUnion에서 받은 협업 키를 입력하세요.

클린 룸 사용자가 TransUnion TruAudience Identity와 테이블을 통합할 때 사용할 웨어하우스를 선택하세요.

1시간 이내에 아이덴티티 매칭 과정을 완료하려면 다음 지침을 참고하여 적절한 웨어하우스 크기를 선택하세요.

행 수 웨어하우스 크기
< 100k Large
100만 XLarge
주소 포함 500만~1000만 3X-Large
> 1000만 3X-Large

Authenticate를 선택하세요.

이 섹션에서는 클린 룸 UI에서 TransUnion TruAudience Identity 커넥터를 사용하는 방법을 설명해요.

TransUnion 커넥터로 데이터를 강화하려면:

클린 룸 생성 또는 설치 프로세스를 시작하세요.

Specify Join Policies 단계에 도달하면 Identity Hub를 펼치세요.

**TransUnion (TruAudience Identity)**를 선택하세요.

Table 필드에서 TransUnion 협업 ID로 강화하려는 데이터가 포함된 테이블을 선택하세요.

Unique Record Column 필드에서 테이블의 레코드를 고유하게 식별하는 열을 선택하세요. 예를 들어, 시스템 생성 사용자 ID가 될 수 있어요.

User Identifiers 섹션을 사용하여 TransUnion 아이덴티티 유형을 테이블의 열과 연결하세요. 이러한 열은 TransUnion 아이덴티티를 매칭하는 데 사용돼요. 이 열의 값은 다음 요구 사항을 충족해야 해요.

PARSE_IP


ID 유형 형식 요구 사항
주소 Address Line — 단일 입력. 주소 1과 2가 있는 경우 두 값을 하나의 값으로 결합하세요. City — 문자열. State — 두 글자 약어. Zip — 우편번호 또는 우편번호+4. 공백이나 하이픈 같은 특수 문자는 제외하세요.
생년월일 yyyy-mm-dd 형식.
기기 ID 하이픈이 있는 ID(36자 길이의 원시 Device ID/MAID/IFA) 또는 하이픈이 없는 ID(32자 및 40자 길이의 해시된 Device ID/MAID/IFA).
이메일 일반 텍스트 또는 SHA256 해시된 소문자 문자열.
이름 대문자 또는 소문자 이름(별명 포함). 호칭과 접미사는 제외하세요.
IP 주소 점 표기법 또는 정수 형식의 IPv4 주소. 정수 형식을 얻으려면 함수를 사용할 수 있습니다.
성 대문자 또는 소문자 이름. 중간 이니셜은 제외하세요.
전화번호 공백이나 하이픈 같은 특수 문자 없이 10자리 숫자.

일치된 TransUnion ID

Snowflake가 테이블의 레코드를 TransUnion ID와 일치시키면 협업자 ID가 TCUID라는 새 열로 테이블에 추가됩니다. 협업자가 해당 열을 자신의 테이블 중 하나에 추가하면 TransUnion 협업자 ID를 기준으로 레코드를 일치시킬 수 있습니다.

TransUnion TruAudience Identity 캐시

Snowflake는 TransUnion 협업자 ID를 소스 테이블에서 레코드를 고유하게 식별하는 값에 매핑하는 캐시를 유지 관리합니다. 예를 들어, 캐시는 각 협업자 ID를 소스 테이블의 user_id 열의 값에 매핑할 수 있습니다. 캐시는 SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.PUBLIC.SAMOOHA_INTERNAL_TRANSUNION_ID_GENERATION_RECORDS 테이블에 저장됩니다. 이 테이블에는 다음 열이 포함됩니다:

``****````

Column Data type Description
inputid VARCHAR Value from the column selected as the Unique Record Column during the integration.
collaborationid VARCHAR TransUnion collaboration ID generated based on the input ID and other integration parameters.
lastprocessed TIMESTAMP_NTZ Timestamp when TransUnion generated the collaboration ID.

You can perform the following actions on a cache:

Delete the cache

TRUNCATE SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.PUBLIC.SAMOOHA_INTERNAL_TRANSUNION_ID_GENERATION_RECORDS;

Delete specific records from the cache

You can delete specific records from the cache by specifying them as a comma-separated list of single-quoted values. For example, to delete the records with input IDs of 123456 and abcedf, execute:

DELETE FROM SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.PUBLIC.SAMOOHA_INTERNAL_TRANSUNION_ID_GENERATION_RECORDS
  WHERE inputid IN ('123456', 'abcedf');

Delete multiple records based on input IDs in a separate dataset

You can delete multiple records from the cache when the input IDs are present in a column of another table. For example, if the input IDs to be deleted are listed in the user_id column of the my_db.my_schema.ref_table table, execute:

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
  );

Add all records from a batch

You can add all of the records from a batch that is present in TransUnion’s view to the cache.

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>';

Merge all records from a batch

You can merge all of the records from a batch that is present in TransUnion’s view to the cache by overwriting existing input ID records with the corresponding new collaboration IDs and new last-processed timestamps.

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
  );

Add collaborator IDs for input ID records

You can add collaborator IDs for input ID records present as a column in a dataset and also present in a specific batch.

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>';

더 알아보기 (Learn more)