Vous êtes ici :
Configuration de la relation Snowflake Trust pour booster l'identité en salle blanche
Pour chaque invitation à collaborer dans le cas d'utilisation d'Identity boost, complétez la configuration Snowflake requise, puis acceptez l'invitation dans Data 360. Data 360 teste automatiquement la connexion Snowflake lors de l'acceptation.
Éditions requises
| Disponible avec : Enterprise Edition (organisation domestique) |
| Vous ne pouvez pas recevoir ni accepter dans Developer Edition des invitations à collaborer. |
| Autorisations utilisateur requises | |
|---|---|
| Pour créer une connexion Snowflake Data Federation dans Data 360 : | Profil ou ensemble d'autorisations Administrateur système :
|
Avant de commencer :
- Terminez Planification de votre environnement Snowflake pour Identity Boost.
- Ouvrez l'invitation à la collaboration en attente dans Data 360 et notez les valeurs ci-dessous dans l'assistant Accepter l'invitation à la collaboration en salle blanche, dont vous avez besoin dans les étapes de configuration suivantes :
- External ID : un identifiant unique généré par Data 360 pour cette collaboration
- URL du domaine Salesforce consommateur : le domaine de l'organisation Salesforce du consommateur
Configuration de votre environnement Snowflake
-
Dans votre feuille de calcul Snowflake, ouvrez l'éditeur SQL, puis effectuez les tâches ci-dessous pour configurer les conteneurs de données, les autorisations et l'utilisateur de service.
Remarque Ces exemples de code sont donnés à titre indicatif. Testez et validez tout le code dans une organisation sandbox avant de l'utiliser en production. -
Créez une base de données et un schéma dédiés pour ce client afin d'isoler ses données des autres collaborations.
CREATE DATABASE CUSTOMER_DB; CREATE SCHEMA CUSTOMER_DB.ENRICHED_OUTPUT;Notez les noms de base de données et de schéma, vous les saisissez dans Data 360 en acceptant l'invitation.
-
Créez les tableaux de sortie.
Voici les tableaux dans lesquels votre tâche d'enrichissement écrit. Définissez tous les noms de colonne entre guillemets doubles pour préserver la casse. Sans guillemet double, Snowflake met automatiquement les noms de colonne en majuscules, ce qui entraîne des erreurs lorsque Data 360 lit les tableaux.
Important Définissez une clé primaire dans chaque tableau de sortie. Data 360 lit les métadonnées de clé primaire lorsqu'il découvre vos tableaux, et la collaboration ne peut pas devenir active si une clé primaire est manquante dans un tableau de sortie. Pour les tableaux E-mail et Téléphone, définissez la clé primaire dans la colonne de valeur du point de contact plutôt que l'ID de partie, car un ID de partie peut se répéter entre les enregistrements.-- 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 );
Remarque Les noms de tableau affichés ici sont des exemples. Utilisez les noms réels déclarés dans le JSON de métadonnées supplémentaires que vous fournissez en acceptant l'invitation. Data 360 utilise les valeurs deobjectApiNamede ce JSON pour rechercher les tableaux de votre schéma Snowflake. -
Déployez votre tâche d'enrichissement et configurez-la pour cibler le schéma de ce client.
Configurez votre code de tâche pour lire à partir du partage de données Snowflake que Data 360 crée dans votre environnement après l'acceptation, exécutez la résolution de l'identité par rapport à votre graphique d'identité, et écrivez une sortie enrichie dans la base de données et le schéma que vous avez créés.
N'exécutez pas encore la tâche, les données du consommateur ne sont pas disponibles dans votre environnement Snowflake tant que vous n'avez pas accepté l'invitation dans Data 360.
Remarque Si vous utilisez un seul compte Snowflake pour plusieurs clients, la tâche d'enrichissement peut accéder à toutes les bases de données de ce compte. Étendez le rôle d'exécution de la tâche strictement à la base de données et au schéma de ce client, et auditez régulièrement les attributions de rôles pour confirmer l'absence d'accès entre clients. -
Créez un rôle dédié pour Data 360.
Un rôle dédié est un ensemble nommé d'autorisations que vous attribuez à l'utilisateur de service Snowflake OIDC.
CREATE ROLE IF NOT EXISTS DATACLOUD_SF_ROLE; -
Accordez au rôle l'accès à un entrepôt, à une base de données et à un schéma.
Pour afficher les entrepôts disponibles dans votre compte, accédez à Administrateur > Entrepôts dans la console Snowflake, puis notez le nom de l'entrepôt que vous souhaitez utiliser. Ces commandes accordent au rôle l'autorisation d'utiliser l'entrepôt et d'accéder à la base de données et au schéma de ce client.
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;Remplacez
MY_WHpar le nom de l'entrepôt,CUSTOMER_DBpar la base de données que vous avez créée etENRICHED_OUTPUTpar le schéma que vous avez créé. Notez le nom de l'entrepôt : vous le saisissez dans Data 360 en acceptant l'invitation. -
Accordez l'autorisation de rôle pour lire les tableaux de sortie.
Data 360 lit les tableaux de sortie enrichis après l'exécution de la tâche d'enrichissement pour créer les objets modèle de données enrichis dans l'organisation du consommateur. Ces autorisations accordent au rôle SELECT l'accès à tous les tableaux de sortie, aussi bien à vos tableaux existants qu'à tous les tableaux que vous créez ultérieurement.
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; -
Créez un utilisateur de service avec Workload Identity Federation (OIDC) Trust.
Il s'agit d'un utilisateur Snowflake dédié que Data 360 utilise pour se connecter à votre compte Snowflake et lire les tableaux de sortie enrichis. Contrairement à un utilisateur habituel, il n'a pas de mot de passe, mais fait confiance aux jetons de connexion émis par l'organisation Salesforce du consommateur. Seule Data 360, authentifiée en tant qu'organisation de ce consommateur spécifique, peut se connecter au nom de cet utilisateur.
Utilisez l'ID externe et l'URL du domaine Salesforce consommateur que vous avez indiqués dans la section Avant de commencer.
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: saisissez l'URL du domaine Salesforce consommateur suivie de/services/connectors. Cela indique à Snowflake quelle organisation Salesforce peut émettre des jetons de connexion pour cet utilisateur. Par exemple,https://yourcompany.my.salesforce.com/services/connectors.SUBJECT: saisissez l'ID externe. Cela épingle le Trust à cette collaboration spécifique — même si la même organisation Salesforce envoie un jeton, ce jeton ne peut pas accéder aux données d'un autre client.OIDC_AUDIENCE_LIST: saisissez l'URL du domaine Salesforce consommateur sans suffixe de chemin. Par exemple,https://yourcompany.my.salesforce.com.
Remarque Créer un utilisateur de service : ne convertissez pas un utilisateur existant. Le changement d'un utilisateur Snowflake existant en utilisateur de service retire à cette personne la possibilité de se connecter à Snowflake de façon interactive et combine ses autorisations quotidiennes avec l'accès machine. Cela rend le compte plus difficile à auditer et plus difficile à révoquer. Un utilisateur de service dédié garde l'accès à Data 360 totalement isolé et facile à retirer. Si vous utilisez un seul compte Snowflake pour plusieurs clients, insérez le nom du client dans le nom d'utilisateur du service afin d'éviter les conflits, par exempleCustomer1_DC_User.Notez le nom d'utilisateur du service : vous le saisissez dans Data 360 en acceptant l'invitation.
-
Attribuez le rôle à l'utilisateur de service.
GRANT ROLE DATACLOUD_SF_ROLE TO USER sf_oidc_user;L'utilisateur de service dispose des autorisations que vous avez configurées. -
Avant de passer à Data 360, vérifiez que vous avez ces valeurs de votre environnement Snowflake, vous les saisissez dans l'assistant d'acceptation.
Champ dans Data 360 Valeur dans Snowflake URL du compte Snowflake L'URL complète de votre compte Snowflake, par exemple https://myorg.snowflakecomputing.comUtilisateur du service Le nom que vous avez donné à l'utilisateur du service Nom de l'entrepôt de données Le nom d'entrepôt que vous avez utilisé Nom de la base de données Le nom de la base de données que vous avez créée Nom du schéma Le nom du schéma que vous avez créé
Acceptation de l'invitation à la collaboration dans Data 360
- Revenez à l'assistant Accepter l'invitation à la collaboration en salle blanche dans Data 360 et suivez les étapes d'acceptation suivantes : sélectionnez un espace de données, puis créez ou sélectionnez un modèle mappé.
-
Dans la section Snowflake Trust Relationship, vérifiez que les valeurs External ID et Consumer Salesforce Domain URL affichées sur la page correspondent à celles que vous avez utilisées dans les champs
SUBJECTetISSUERlors de la création de l'utilisateur de service dans Snowflake.Ces valeurs sont en lecture seule. Data 360 les affiche ici pour vous permettre de confirmer que votre configuration Snowflake est correcte avant de continuer. -
Dans la section Paramètres de connexion Snowflake, saisissez les valeurs que vous avez notées dans les étapes de configuration.
- URL du compte Snowflake : l'URL complète de votre compte Snowflake, par exemple,
https://myorg.snowflakecomputing.com - Utilisateur de service : le nom de l'utilisateur de service que vous avez créé dans Snowflake
- Nom de l'entrepôt de données : le nom d'entrepôt associé à l'utilisateur de service
- Nom de la base de données : la base de données que vous avez créée dans Snowflake
- Nom du schéma : le schéma que vous avez créé dans Snowflake
- URL du compte Snowflake : l'URL complète de votre compte Snowflake, par exemple,
-
Cliquez sur Tester la connexion.
Data 360 tente de se connecter à votre compte Snowflake en utilisant l'utilisateur de service. Si le test échoue, vérifiez que les valeurs de
SUBJECTet deISSUERde votre utilisateur de service Snowflake correspondent exactement à l'ID externe et à l'URL du domaine Salesforce consommateur affichés sur la page. Vérifiez également que votre compte Snowflake se trouve dans une région compatible avec la région Data 360 du consommateur. - Cliquez sur Suivant et acceptez l'invitation.
