Вы находитесь здесь:
Настройка взаимосвязи Snowflake Trust для повышения идентификации чистой комнаты
Для каждого приглашения к сотрудничеству для сценария использования повышения идентификации выполните обязательную настройку Snowflake, а потом примите приглашение в Data 360. Data 360 тестирует подключение Snowflake автоматически при принятии.
Требуемые версии
| Доступно в версиях: Enterprise Edition (домашняя организация) |
| В Developer Edition невозможно получать или принимать приглашения на сотрудничество. |
| Требуемые полномочия пользователя | |
|---|---|
| Для создания подключения Snowflake Data Federation в Data 360: | Профиль системного администратора или набор полномочий:
|
Перед началом работы:
- Завершите планирование среды Snowflake для повышения подлинности.
- Откройте отложенное приглашение на сотрудничество в Data 360 и запишите эти значения в мастере принятия приглашения на сотрудничество «Чистая комната» — они нужны в следующих этапах настройки:
- Внешний код — уникальный идентификатор, созданный Data 360 для данного сотрудничества
- URL-адрес Consumer Salesforce Domain — домен организации Salesforce пользователя
Настройка среды Snowflake
-
В рабочей таблице Snowflake откройте редактор SQL и выполните данные задачи для настройки контейнеров данных, полномочий и пользователя службы.
Примечание Данные примеры кода предназначены только для руководства. Протестируйте и проверьте весь код в безопасной среде, прежде чем использовать его в производстве. -
Создайте специальную базу данных и схему для этого клиента, чтобы его данные оставались изолированными от других совместных проектов.
CREATE DATABASE CUSTOMER_DB; CREATE SCHEMA CUSTOMER_DB.ENRICHED_OUTPUT;Обратите внимание на базы данных и имена схем — вы вводите их в Data 360 при принятии приглашения.
-
Создайте таблицы вывода.
Ниже указаны таблицы, в которые записывается задание на пополнение. Определите имена всех столбцов в двойных кавычках для сохранения обращения. Без двойных кавычек Snowflake автоматически добавляет прописные буквы в имена столбцов, что приводит к ошибкам при чтении таблиц Data 360.
Важно! Определите основной ключ в каждой таблице вывода. Data 360 считывает метаданные основного ключа при обнаружении таблиц, и сотрудничество не может быть активным, если в таблице вывода отсутствует основной ключ. В таблицах электронной почты и телефонов определите основной ключ в столбце значений точки контакта, а не код стороны, поскольку код стороны может повторяться в записях.-- 1. Bridge Table: links consumer Individual IDs to your internal IDs CREATE OR REPLACE TABLE CUSTOMER_DB.ENRICHED_OUTPUT.PartnerIndBridgeTable ( "SourceId" VARCHAR(255), -- Consumer's Individual ID "PartnerIndividualId" VARCHAR(255) -- Your internal unique identifier ); -- 2. Individual Table: enriched name and identity attributes CREATE OR REPLACE TABLE CUSTOMER_DB.ENRICHED_OUTPUT.PartnerBoostedIndividualTable ( "IndividualId" VARCHAR(255), -- Matches PartnerIndividualId in bridge table "ssot__FirstName__c" VARCHAR(255), "ssot__LastName__c" VARCHAR(255), "EnrichmentTimestamp" TIMESTAMP_NTZ ); -- 3. Email Table: enriched email addresses CREATE OR REPLACE TABLE CUSTOMER_DB.ENRICHED_OUTPUT.PartnerBoostedEmailTable ( "PartyId" VARCHAR(255), -- Links to IndividualId in table 2 "EnrichedEmail" VARCHAR(255), "EnrichmentTimestamp" TIMESTAMP_NTZ ); -- 4. Phone Table: enriched phone numbers CREATE OR REPLACE TABLE CUSTOMER_DB.ENRICHED_OUTPUT.PartnerBoostedPhoneTable ( "PartyId" VARCHAR(255), -- Links to IndividualId in table 2 "EnrichedPhone" VARCHAR(50), "EnrichmentTimestamp" TIMESTAMP_NTZ );
Примечание Ниже указаны примеры имен таблиц. Используйте фактические имена, указанные в дополнительных метаданных JSON, предоставленных при принятии приглашения. Data 360 использует значенияobjectApiNameв этом JSON для поиска таблиц в схеме Snowflake. -
Разверните задание по обогащению и настройте его для нацеливания на схему этого клиента.
Настройте код задания для чтения из общего доступа к данным Snowflake, создаваемого Data 360 в среде после принятия, выполните разрешающую способность при опознавании по графику удостоверения и запишите обогащенный вывод в созданную базу данных и схему.
Пока не выполняйте задание — данные пользователя будут доступны в среде Snowflake только после принятия приглашения в Data 360.
Примечание Если вы используете одну организацию Snowflake для нескольких клиентов, задание пополнения может получить доступ ко всем базам данных в этой организации. Охватите роль выполнения задания строго базой данных и схемой этого клиента и регулярно проверяйте предоставление ролей, чтобы подтвердить отсутствие межклиентского доступа. -
Создайте выделенную роль для Data 360.
Выделенная роль — это именованный набор полномочий, назначаемых пользователю службы OIDC Snowflake.
CREATE ROLE IF NOT EXISTS DATACLOUD_SF_ROLE; -
Предоставьте роли доступ к складу, базе данных и схеме.
Чтобы просмотреть доступные в организации склады, перейдите в «Администратор» > «Склады» на консоли Snowflake и запишите имя нужного склада. Эти команды предоставляют роли полномочие на использование склада и доступ к базе данных и схеме этого клиента.
GRANT USAGE ON WAREHOUSE MY_WH TO ROLE DATACLOUD_SF_ROLE; GRANT USAGE ON DATABASE CUSTOMER_DB TO ROLE DATACLOUD_SF_ROLE; GRANT USAGE ON SCHEMA CUSTOMER_DB.ENRICHED_OUTPUT TO ROLE DATACLOUD_SF_ROLE;Замените
MY_WHименем склада,CUSTOMER_DBсозданной базой данных иENRICHED_OUTPUTсозданной схемой. Обратите внимание на имя склада — введите его в Data 360 при принятии приглашения. -
Предоставьте роли полномочие на чтение таблиц результатов.
Data 360 считывает таблицы обогащенного вывода после выполнения задания обогащения для создания обогащенных DMO в организации пользователя. Эти гранты предоставляют роли SELECT доступ во всех таблицах вывода, как в существующих таблицах, так и в любых таблицах, созданных позже.
GRANT SELECT ON ALL TABLES IN SCHEMA CUSTOMER_DB.ENRICHED_OUTPUT TO ROLE DATACLOUD_SF_ROLE; GRANT SELECT ON FUTURE TABLES IN SCHEMA CUSTOMER_DB.ENRICHED_OUTPUT TO ROLE DATACLOUD_SF_ROLE; -
Создайте пользователя службы с помощью Workload Identity Federation (OIDC) Trust.
Это специальный пользователь Snowflake, используемый Data 360 для подключения к организации Snowflake и чтения расширенных таблиц вывода. В отличие от обычного пользователя, у него нет пароля — вместо этого он доверяет маркерам входа, выданным организацией Salesforce пользователя. Только Data 360, проверенная как организация определенного пользователя, может войти от имени этого пользователя.
Используйте внешний код и URL-адрес Consumer Salesforce Domain, отмеченные в разделе «Перед началом».
CREATE OR REPLACE USER sf_oidc_user WORKLOAD_IDENTITY = ( TYPE = OIDC ISSUER = 'https://yourcompany.my.salesforce.com/services/connectors' SUBJECT = 'your-external-id' OIDC_AUDIENCE_LIST = ('https://yourcompany.my.salesforce.com') ) TYPE = SERVICE DEFAULT_ROLE = DATACLOUD_SF_ROLE;ISSUER— введите URL-адрес домена Consumer Salesforce, за которым следует/services/connectors. Это сообщает Snowflake, какая организация Salesforce может выдавать маркеры входа для этого пользователя. Например,https://yourcompany.my.salesforce.com/services/connectors.SUBJECT— Введите внешний код. Это прикрепляет Trust к конкретному сотрудничеству. Даже если организация Salesforce отправляет маркер, этот маркер не имеет доступа к данным другого клиента.OIDC_AUDIENCE_LIST— введите URL-адрес домена Consumer Salesforce без суффикса пути. Например,https://yourcompany.my.salesforce.com.
Примечание Создайте пользователя службы — не преобразуйте существующего пользователя. Изменение текущего пользователя Snowflake на сервисного пользователя лишает его возможности интерактивного входа в Snowflake и смешивает его ежедневные полномочия с компьютерным доступом. Данное действие затрудняет аудит организации и ее отзыв. Выделенный пользователь службы сохраняет доступ Data 360 полностью изолированным и легким для удаления. Если вы используете одну организацию Snowflake для нескольких клиентов, добавьте имя клиента в имя пользователя службы во избежание конфликтов, например,Customer1_DC_User.Обратите внимание на имя пользователя службы — введите его в Data 360 при принятии приглашения.
-
Назначьте роль пользователю службы.
GRANT ROLE DATACLOUD_SF_ROLE TO USER sf_oidc_user;Пользователь службы имеет настроенные полномочия. -
Прежде чем перейти на Data 360, убедитесь в наличии данных значений из среды Snowflake — введите их в мастере принятия.
Поле в данных 360 Значение в Snowflake URL-адрес организации Snowflake Полный URL-адрес организации Snowflake (например, https://myorg.snowflakecomputing.com)Пользователь службы Имя, данное пользователю службы Имя хранилища данных Используемое имя склада Имя базы данных Имя созданной базы данных Имя схемы Имя созданной схемы
Принятие приглашения на сотрудничество в Data 360
- Вернитесь в мастер принятия приглашения на сотрудничество «Чистая комната» в Data 360 и выполните данные действия принятия: выберите пространство данных, а потом создайте или выберите соотнесенный шаблон.
-
В разделе «Взаимосвязь Snowflake Trust» проверьте соответствие значений внешнего кода и URL-адреса домена Salesforce, отображаемых на странице, значениям, использованным в полях
SUBJECTиISSUERпри создании пользователя службы в Snowflake.Данные значения доступны только для чтения. Данные 360 отображают их здесь, чтобы вы могли убедиться в правильности настройки Snowflake, прежде чем продолжить. -
В разделе «Параметры подключения Snowflake» введите значения, отмеченные на этапах настройки.
- URL-адрес организации Snowflake: полный URL-адрес организации Snowflake, например,
https://myorg.snowflakecomputing.com - Пользователь службы: имя созданного в Snowflake пользователя службы
- Имя хранилища данных: имя склада, связанное с пользователем услуги
- Имя базы данных: база данных, созданная в Snowflake
- Имя схемы: схема, созданная в Snowflake
- URL-адрес организации Snowflake: полный URL-адрес организации Snowflake, например,
-
Щелкните «Тестирование подключения».
Data 360 пытается подключиться к организации Snowflake посредством пользователя службы. Если тест не удается, проверьте точное соответствие значений
SUBJECTиISSUERв пользователе службы Snowflake Внешнему коду и URL-адресу домена Salesforce, отображаемому на странице. Также проверьте совместимость организации Snowflake с регионом Data 360 пользователя. - Нажмите «Далее» и примите приглашение.
