Sie befinden sich hier:
Konfigurieren von Snowflake Trust Relationship für die Steigerung der Reinraumidentität
Führen Sie für jede Einladung zur Zusammenarbeit für den Anwendungsfall "Identitäts-Boost" das erforderliche Snowflake-Setup aus und akzeptieren Sie dann die Einladung in Data 360. Data 360 testet die Snowflake-Verbindung automatisch bei Annahme.
Erforderliche Editionen
| Verfügbarkeit: Enterprise Edition (Startorganisation) |
| In der Developer Edition können Sie keine Einladungen zur Zusammenarbeit erhalten oder annehmen. |
| Erforderliche Benutzerberechtigungen | |
|---|---|
| Erstellen einer Snowflake-Datenverbundverbindung in Data 360: | Systemadministratorprofil oder Berechtigungssatz:
|
Bevor Sie loslegen:
- Schließen Sie die Planung Ihrer Snowflake-Umgebung für die Identitätssteigerung ab.
- Öffnen Sie die ausstehende Einladung zur Zusammenarbeit in Data 360 und notieren Sie sich diese Werte im Assistenten "Einladung zur Zusammenarbeit im Reinraum akzeptieren". Sie benötigen sie in den folgenden Setup-Schritten:
- Externe ID: Ein eindeutiger Kennzeichner, der von Data 360 für diese Zusammenarbeit generiert wird
- Salesforce-Domänen-URL des Verbrauchers – Salesforce-Organisationsdomäne des Verbrauchers
Einrichten Ihrer Snowflake-Umgebung
-
Öffnen Sie in Ihrem Snowflake-Arbeitsblatt den SQL-Editor und führen Sie diese Aufgaben aus, um die Datencontainer, Berechtigungen und den Servicebenutzer einzurichten.
Hinweis Diese Codebeispiele dienen nur zur Orientierung. Testen und validieren Sie den gesamten Code in einer Sandbox, bevor Sie ihn in der Produktion verwenden. -
Erstellen Sie eine dedizierte Datenbank und ein Schema für diesen Kunden, damit seine Daten von anderen Zusammenarbeiten isoliert bleiben.
CREATE DATABASE CUSTOMER_DB; CREATE SCHEMA CUSTOMER_DB.ENRICHED_OUTPUT;Notieren Sie sich die Datenbank- und Schemanamen, die Sie beim Annehmen der Einladung in Data 360 eingeben.
-
Erstellen Sie die Ausgabetabellen.
Dies sind die Tabellen, in die Ihr Anreicherungsauftrag schreibt. Definieren Sie alle Spaltennamen in doppelten Anführungszeichen, um den Kundenvorgang beizubehalten. Ohne doppelte Anführungszeichen setzt Snowflake Spaltennamen automatisch in Großbuchstaben, was zu Fehlern führt, wenn Data 360 die Tabellen liest.
Wichtig Definieren Sie einen Primärschlüssel für jede Ausgabetabelle. Data 360 liest Primärschlüssel-Metadaten, wenn Ihre Tabellen gefunden werden, und die Zusammenarbeit kann nicht aktiv werden, wenn in einer Ausgabetabelle ein Primärschlüssel fehlt. Definieren Sie für die E-Mail- und Telefontabellen den Primärschlüssel in der Spalte "Kontaktpunktwert" anstelle der ID der beteiligten Person, da sich eine ID der beteiligten Person datensatzübergreifend wiederholen kann.-- 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 );
Hinweis Die hier angezeigten Tabellennamen sind Beispiele. Verwenden Sie die tatsächlichen Namen, die in der zusätzlichen Metadaten-JSON angegeben sind, die Sie beim Annehmen der Einladung angeben. Data 360 verwendet dieobjectApiNamein dieser JSON, um die Tabellen in Ihrem Snowflake-Schema zu finden. -
Stellen Sie Ihren Anreicherungsauftrag bereit und konfigurieren Sie ihn so, dass er auf das Schema dieses Kunden abzielt.
Richten Sie Ihren Auftragscode so ein, dass er aus der Snowflake-Datenfreigabe gelesen wird, die Data 360 nach der Annahme in Ihrer Umgebung erstellt, führen Sie die Identitätsbestimmung anhand Ihres Identitätsdiagramms aus und schreiben Sie die angereicherte Ausgabe in die Datenbank und das Schema, die Sie erstellt haben.
Führen Sie den Auftrag noch nicht aus. Die Daten des Verbrauchers sind erst in Ihrer Snowflake-Umgebung verfügbar, nachdem Sie die Einladung in Data 360 angenommen haben.
Hinweis Wenn Sie einen einzelnen Snowflake-Account für mehrere Kunden verwenden, kann der Anreicherungsauftrag auf alle Datenbanken in diesem Account zugreifen. Grenzen Sie die Ausführungsrolle des Auftrags streng auf die Datenbank und das Schema dieses Kunden ein und überprüfen Sie regelmäßig die Rollenzuweisungen, um sicherzustellen, dass kein kundenübergreifender Zugriff erfolgt. -
Erstellen Sie eine dedizierte Rolle für Data 360.
Eine dedizierte Rolle ist ein benannter Satz von Berechtigungen, die Sie dem Snowflake OIDC-Servicebenutzer zuweisen.
CREATE ROLE IF NOT EXISTS DATACLOUD_SF_ROLE; -
Erteilen Sie der Rolle Zugriff auf ein Lagerhaus, eine Datenbank und ein Schema.
Navigieren Sie in der Snowflake-Konsole zu Administrator > Lagerhäuser und notieren Sie sich den Namen des Lagerhauses, das Sie verwenden möchten, um die in Ihrem Account verfügbaren Lagerhäuser anzuzeigen. Diese Befehle erteilen der Rolle die Berechtigung, das Lagerhaus zu verwenden und auf die Datenbank und das Schema dieses Kunden zuzugreifen.
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;Ersetzen Sie
MY_WHdurch den Namen des Lagerhauses,CUSTOMER_DBmit der von Ihnen erstellten Datenbank undENRICHED_OUTPUTmit dem von Ihnen erstellten Schema. Notieren Sie sich den Namen des Lagerhauses, den Sie beim Annehmen der Einladung in Data 360 eingeben. -
Erteilen Sie die Rollenberechtigung zum Lesen der Ausgabetabellen.
Data 360 liest die angereicherten Ausgabetabellen nach der Ausführung des Anreicherungsauftrags, um die angereicherten DMOs in der Organisation des Verbrauchers zu erstellen. Durch diese Zuschüsse erhalten Sie Zugriff auf die Rolle SELECT für alle Ausgabetabellen – sowohl für Ihre vorhandenen als auch für alle Tabellen, die Sie später erstellen.
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; -
Erstellen Sie einen Servicebenutzer mit dem Trust "Workload Identity Federation (OIDC)".
Dies ist ein spezieller Snowflake-Benutzer, der von Data 360 verwendet wird, um eine Verbindung mit Ihrem Snowflake-Account herzustellen und die angereicherten Ausgabetabellen zu lesen. Im Gegensatz zu einem normalen Benutzer verfügt er über kein Kennwort. Stattdessen vertraut er auf Anmeldetoken, die von der Salesforce-Organisation des Verbrauchers ausgestellt wurden. Nur Data 360, das als Organisation dieses bestimmten Verbrauchers authentifiziert ist, kann sich als dieser Benutzer anmelden.
Verwenden Sie die Externe ID und den URL für Salesforce-Domänen, die Sie im Abschnitt "Bevor Sie beginnen" angegeben haben.
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: Geben Sie den URL der Salesforce-Domäne für Verbraucher gefolgt von/services/connectorsein. Dadurch wird Snowflake mitgeteilt, welche Salesforce-Organisation Anmeldetoken für diesen Benutzer ausstellen kann. Beispiel:https://yourcompany.my.salesforce.com/services/connectors.SUBJECT: Geben Sie die externe ID ein. Dadurch wird der Trust mit dieser speziellen Zusammenarbeit verknüpft. Selbst wenn dieselbe Salesforce-Organisation ein Token sendet, kann dieses Token nicht auf die Daten eines anderen Kunden zugreifen.OIDC_AUDIENCE_LIST: Geben Sie den Salesforce-Domänen-URL für Verbraucher ohne Pfadsuffix ein. Beispiel:https://yourcompany.my.salesforce.com.
Hinweis Erstellen Sie einen Servicebenutzer. Konvertieren Sie keinen vorhandenen Benutzer. Durch das Ändern eines vorhandenen Snowflake-Benutzers zu einem Servicebenutzer kann sich diese Person nicht mehr interaktiv bei Snowflake anmelden und kombiniert ihre täglichen Berechtigungen mit dem Maschinenzugriff. Dadurch ist der Account schwerer zu überprüfen und zu widerrufen. Ein dedizierter Servicebenutzer hält den Zugriff auf Data 360 vollständig isoliert und lässt sich einfach entfernen. Wenn Sie einen einzelnen Snowflake-Account für mehrere Kunden verwenden, nehmen Sie den Kundennamen in den Service-Benutzernamen auf, um Konflikte zu vermeiden, beispielsweiseCustomer1_DC_User.Notieren Sie sich den Servicebenutzernamen, den Sie beim Annehmen der Einladung in Data 360 eingeben.
-
Weisen Sie die Rolle dem Servicebenutzer zu.
GRANT ROLE DATACLOUD_SF_ROLE TO USER sf_oidc_user;Der Servicebenutzer verfügt über die von Ihnen eingerichteten Berechtigungen. -
Stellen Sie vor dem Wechsel zu Data 360 sicher, dass Sie über diese Werte aus Ihrer Snowflake-Umgebung verfügen. Geben Sie sie im Akzeptanzassistenten ein.
Feld in Data 360 Wert in Snowflake Snowflake-Account-URL Der vollständige URL Ihres Snowflake-Accounts, beispielsweise https://myorg.snowflakecomputing.comServicebenutzer Der Name, den Sie dem Servicebenutzer gegeben haben Data Warehouse-Name Der von Ihnen verwendete Lagerhausname Datenbankname Der von Ihnen erstellte Datenbankname Schemaname Der von Ihnen erstellte Schemaname
Annehmen der Einladung zur Zusammenarbeit in Data 360
- Kehren Sie zum Assistenten "Einladung zur Zusammenarbeit im Reinraum akzeptieren" in Data 360 zurück und führen Sie die folgenden Akzeptanzschritte aus: Wählen Sie einen Datenbereich aus und erstellen oder wählen Sie dann eine zugeordnete Vorlage aus.
-
Überprüfen Sie im Abschnitt "Snowflake Trust Relationship" (Vertrauensstellung in Snowflake), ob die auf der Seite angezeigten Werte für die Externe ID und den Salesforce-Verbraucherdomänen-URL mit denen übereinstimmen, die Sie beim Erstellen des Servicebenutzers in Snowflake in den Feldern "
SUBJECT" und "ISSUER" verwendet haben.Diese Werte sind schreibgeschützt. In Data 360 werden sie hier angezeigt, damit Sie überprüfen können, ob Ihr Snowflake-Setup richtig ist, bevor Sie fortfahren. -
Geben Sie im Abschnitt "Snowflake-Verbindungseinstellungen" die Werte ein, die Sie in den Setup-Schritten notiert haben.
- Snowflake-Account-URL: Der vollständige URL Ihres Snowflake-Accounts, beispielsweise
https://myorg.snowflakecomputing.com - Servicebenutzer: Der Name des Servicebenutzers, den Sie in Snowflake erstellt haben
- Name des Data Warehouse: Der dem Servicebenutzer zugeordnete Lagerhausname
- Name der Datenbank: die Datenbank, die Sie in Snowflake erstellt haben
- Schemaname: Das von Ihnen in Snowflake erstellte Schema
- Snowflake-Account-URL: Der vollständige URL Ihres Snowflake-Accounts, beispielsweise
-
Klicken Sie auf Testverbindung.
Data 360 versucht, mithilfe des Servicebenutzers eine Verbindung mit Ihrem Snowflake-Account herzustellen. Wenn der Test fehlschlägt, überprüfen Sie, ob die
SUBJECT- undISSUERin Ihrem Snowflake-Servicebenutzer genau mit der auf der Seite angezeigten Externen ID und dem Salesforce-Verbraucherdomänen-URL übereinstimmen. Überprüfen Sie außerdem, ob sich Ihr Snowflake-Account in einer Region befindet, die mit der Data 360-Region des Verbrauchers kompatibel ist. - Klicken Sie auf Weiter und akzeptieren Sie die Einladung.
