Ti trovi qui:
Configurazione della relazione Trust Snowflake per Clean Room Identity Boost
Per ogni invito alla collaborazione per il caso d'uso Identity Boost, completare l'impostazione Snowflake richiesta e quindi accettare l'invito in Data 360. Data 360 testa automaticamente la connessione Snowflake al momento dell'accettazione.
Versioni (Edition) richieste
| Disponibile nelle versioni: Enterprise Edition (organizzazione iniziale) |
| Non è possibile ricevere o accettare inviti alla collaborazione nella Developer Edition. |
| Autorizzazioni utente necessarie | |
|---|---|
| Per creare una connessione Snowflake Data Federation in Data 360: | Profilo o insieme di autorizzazioni Amministratore di sistema:
|
Prima di iniziare:
- Completamento della pianificazione dell'ambiente Snowflake per Identity Boost.
- Aprire l'invito alla collaborazione in sospeso in Data 360 e prendere nota di questi valori nella procedura guidata di accettazione dell'invito alla collaborazione per le camere bianche, necessari nei passaggi di impostazione seguenti:
- ID esterno: identificativo univoco generato da Data 360 per questa collaborazione
- Consumer Salesforce Domain URL: il dominio dell'organizzazione Salesforce del consumatore
Impostazione dell'ambiente Snowflake
-
Nel foglio di lavoro Snowflake, aprire l'editor SQL e completare queste operazioni per impostare i contenitori di dati, le autorizzazioni e l'utente del servizio.
Nota Questi esempi di codice sono solo a titolo indicativo. Testare e convalidare tutto il codice in un Sandbox prima di utilizzarlo in produzione. -
Creare un database e uno schema dedicati per questo cliente in modo che i suoi dati rimangano isolati da altre collaborazioni.
CREATE DATABASE CUSTOMER_DB; CREATE SCHEMA CUSTOMER_DB.ENRICHED_OUTPUT;Prendere nota dei nomi del database e dello schema, che vengono inseriti in Data 360 quando si accetta l'invito.
-
Creare le tabelle di output.
Queste sono le tabelle in cui scrive il processo di arricchimento. Definire tutti i nomi delle colonne tra virgolette doppie per mantenere le maiuscole e minuscole. Senza virgolette doppie, Snowflake aggiunge automaticamente maiuscole e minuscole ai nomi delle colonne, causando errori quando Data 360 legge le tabelle.
Importante Definire una chiave principale in ogni tabella di output. Data 360 legge i metadati della chiave principale quando rileva le tabelle e la collaborazione non può diventare attiva se in una tabella di output manca una chiave principale. Per le tabelle email e telefono, definire la chiave principale nella colonna del valore del punto di contatto anziché l'ID parte, poiché un ID parte può essere ripetuto tra i record.-- 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 );
Nota I nomi delle tabelle visualizzati qui sono esempi. Utilizzare i nomi effettivi dichiarati nel JSON dei metadati aggiuntivo specificato quando si accetta l'invito. Data 360 utilizza i valoriobjectApiNamein quel JSON per trovare le tabelle nello schema Snowflake. -
Distribuire il processo di arricchimento e configurarlo in modo che sia destinato allo schema del cliente.
Impostare il codice processo per la lettura dalla condivisione dati Snowflake creata da Data 360 nell'ambiente dopo l'accettazione, eseguire la risoluzione dell'identità rispetto al grafico dell'identità e scrivere un output arricchito nel database e nello schema creato.
Non eseguire ancora il processo: i dati del consumatore non saranno disponibili nell'ambiente Snowflake finché non si accetta l'invito in Data 360.
Nota Se si utilizza un singolo account Snowflake per più clienti, il processo di arricchimento può accedere a tutti i database di quell'account. Limitare il ruolo di esecuzione del processo esclusivamente al database e allo schema di questo cliente e controllare regolarmente le sovvenzioni dei ruoli per verificare che non vi sia accesso tra clienti. -
Creare un ruolo dedicato per Data 360.
Un ruolo dedicato è un insieme denominato di autorizzazioni assegnato all'utente del servizio OIDC Snowflake.
CREATE ROLE IF NOT EXISTS DATACLOUD_SF_ROLE; -
Concedere al ruolo l'accesso a un magazzino, a un database e a uno schema.
Per visualizzare i magazzini disponibili nel proprio account, accedere ad Amministrazione > Magazzini nella console Snowflake e prendere nota del nome del magazzino che si desidera utilizzare. Questi comandi consentono al ruolo di utilizzare il magazzino e di accedere al database e allo schema del cliente.
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;Sostituire
MY_WHcon il nome del magazzino,CUSTOMER_DBcon il database creato eENRICHED_OUTPUTcon lo schema creato. Prendere nota del nome del magazzino, che viene immesso in Data 360 quando si accetta l'invito. -
Concedere al ruolo l'autorizzazione per la lettura delle tabelle di output.
Data 360 legge le tabelle di output arricchite dopo l'esecuzione del processo di arricchimento per creare i DMO arricchiti nell'organizzazione consumatore. Queste sovvenzioni concedono al ruolo l'accesso SELECT su tutte le tabelle di output, sia quelle esistenti che quelle create in seguito.
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; -
Creare un utente del servizio con Trust OIDC (Workload Identity Federation).
Si tratta di un utente Snowflake dedicato che Data 360 utilizza per connettersi all'account Snowflake e leggere le tabelle di output arricchite. A differenza di un utente normale, non ha password, ma considera affidabili i token di accesso emessi dall'organizzazione Salesforce del consumatore. Solo Data 360, autenticato come organizzazione consumatore specifica, può accedere come questo utente.
Utilizzare l'ID esterno e l'URL Dominio Salesforce consumatore indicati nella sezione Prima di iniziare.
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: immettere l'URL del Dominio Salesforce consumatore seguito da/services/connectors. Indica a Snowflake quale organizzazione Salesforce può emettere token di accesso per questo utente. Ad esempio,https://yourcompany.my.salesforce.com/services/connectors.SUBJECT: immettere l'ID esterno. Questo blocca il Trust in questa collaborazione specifica: anche se la stessa organizzazione Salesforce invia un token, quel token non può accedere ai dati di un cliente diverso.OIDC_AUDIENCE_LIST: immettere l'URL del Dominio Salesforce consumatore senza suffisso di percorso. Ad esempio,https://yourcompany.my.salesforce.com.
Nota Creare un utente del servizio: non convertire un utente esistente. La modifica di un utente Snowflake esistente in un utente di servizio rimuove la possibilità per la persona di accedere a Snowflake in modo interattivo e combina le autorizzazioni quotidiane con l'accesso al computer. In questo modo l'account diventa più difficile da controllare e revocare. Un utente del servizio dedicato mantiene l'accesso a Data 360 completamente isolato e facile da rimuovere. Se si utilizza un singolo account Snowflake per più clienti, includere il nome del cliente nel nome utente del servizio per evitare conflitti, ad esempioCustomer1_DC_User.Prendere nota del nome utente del servizio: viene immesso in Data 360 quando si accetta l'invito.
-
Assegnare il ruolo all'utente del servizio.
GRANT ROLE DATACLOUD_SF_ROLE TO USER sf_oidc_user;L'utente del servizio dispone delle autorizzazioni impostate. -
Prima di passare a Data 360, verificare di disporre di questi valori dall'ambiente Snowflake: immetterli nella procedura guidata di accettazione.
Campo in Data 360 Valore in Snowflake URL account Snowflake URL completo dell'account Snowflake, ad esempio https://myorg.snowflakecomputing.comUtente Service Nome assegnato all'utente del servizio Nome data warehouse Il nome del magazzino utilizzato Nome database Il nome del database creato Nome schema Il nome dello schema creato
Accettazione dell'invito alla collaborazione in Data 360
- Tornare alla procedura guidata di accettazione dell'invito alla collaborazione per le camere bianche in Data 360 ed eseguire i seguenti passaggi di accettazione: selezionare uno spazio dati e quindi creare o selezionare un modello mappato.
-
Nella sezione Snowflake Trust Relationship, verificare che i valori dell'ID esterno e dell'URL Dominio Salesforce consumatore visualizzati nella pagina corrispondano a quelli utilizzati nei campi
SUBJECTeISSUERdurante la creazione dell'utente di servizio in Snowflake.Questi valori sono di sola lettura. Data 360 li visualizza qui in modo che sia possibile verificare che l'impostazione di Snowflake sia corretta prima di procedere. -
Nella sezione Impostazioni connessione Snowflake, immettere i valori indicati nei passaggi di impostazione.
- URL account Snowflake: URL completo dell'account Snowflake, ad esempio
https://myorg.snowflakecomputing.com - Utente Service: il nome dell'utente Service creato in Snowflake
- Data Warehouse Name: il nome del magazzino associato all'utente del servizio
- Nome database: il database creato in Snowflake
- Nome schema: lo schema creato in Snowflake
- URL account Snowflake: URL completo dell'account Snowflake, ad esempio
-
Fare clic su Test Connection (Test connessione).
Data 360 tenta di connettersi all'account Snowflake utilizzando l'utente del servizio. Se il test non riesce, verificare che i valori di
SUBJECTeISSUERdell'utente del servizio Snowflake corrispondano esattamente all'ID esterno e all'URL Dominio Salesforce consumatore visualizzati nella pagina. Verificare inoltre che l'account Snowflake si trovi in una regione compatibile con la regione Data 360 del consumatore. - Fare clic su Avanti e accettare l'invito.
