Passer au contenu

Configurer Snowflake pour la fédération d’identité de charge de travail

Cette page explique comment connecter Snowflake à l’ingestion de données cloud (CDI) de Braze avec la fédération d’identité de charge de travail (Workload Identity Federation). Pour les autorisations sur le rôle, l’entrepôt et la base de données, ainsi que pour le reste de la configuration de la source, consultez Intégrations d’entrepôts de données, Sources connectées ou Éditeur SQL.

Avec la fédération d’identité de charge de travail, Braze s’authentifie auprès de Snowflake en tant qu’utilisateur de service lié à l’identité AWS de Braze pour Snowflake. Cet utilisateur n’a ni mot de passe ni clé RSA. L’authentification par paire de clés RSA reste prise en charge. Les identifiants par paire de clés existants continuent de fonctionner, et vous n’avez pas besoin de les migrer.

La fédération d’identité de charge de travail et l’authentification par paire de clés RSA suivent des parcours de configuration distincts. Suivez les étapes correspondant à la méthode que vous sélectionnez dans le formulaire d’identifiants.

Si l’option Fédération d’identité de charge de travail n’apparaît pas dans le formulaire d’identifiants, utilisez Paire de clés.

Utiliser le principal Snowflake de cet espace de travail

L’instruction affichée dans le formulaire d’identifiants Snowflake inclut le principal Braze pour Snowflake. Ce principal est un Amazon Resource Name (ARN) correspondant au rôle AWS de Braze pour Snowflake. Il est propre à votre espace de travail et à votre instance Braze.

Braze utilise pour Snowflake un rôle AWS différent de celui utilisé pour Google BigQuery et Google Cloud Storage. Copiez l’instruction depuis le formulaire d’identifiants Snowflake de l’espace de travail que vous connectez. Un principal provenant d’un formulaire d’identifiants BigQuery ou Google Cloud Storage correspond au rôle AWS de Braze pour les sources Google : Snowflake le rejette donc pour cet utilisateur.

Conditions préalables

Avant d’exécuter l’instruction :

Créez un utilisateur Snowflake distinct pour chaque espace de travail Braze qui se connecte au même compte Snowflake. Au sein d’un même espace de travail, vous pouvez réutiliser le même utilisateur pour plusieurs intégrations.

Ce que fait l’instruction générée

Braze génère l’instruction dans le formulaire d’identifiants Snowflake. L’instruction se met à jour à mesure que vous renseignez Nom d’utilisateur et Rôle, et elle inclut le principal Braze pour Snowflake. Exécutez l’instruction issue du formulaire. Cette page la décrit pour que vous sachiez ce que vous exécutez.

Créer un utilisateur

Créer un utilisateur s’applique à un nouvel utilisateur Snowflake. L’instruction est une commande CREATE USER qui :

  • Définit WORKLOAD_IDENTITY sur TYPE = AWS, avec l’ARN défini sur le principal Braze pour Snowflake affiché dans ce formulaire d’identifiants. C’est cette liaison qui permet à Braze de s’authentifier en tant qu’utilisateur.
  • Définit TYPE = SERVICE. L’utilisateur est un utilisateur de service, sans mot de passe ni clé publique RSA. Snowflake accepte WORKLOAD_IDENTITY sur un utilisateur de service.
  • Définit DEFAULT_ROLE sur le rôle que vous avez saisi. Snowflake active ce rôle lorsque Braze se connecte.
  • Accorde ce rôle à l’utilisateur, ce qui lui permet de l’utiliser.

Modifier un utilisateur

Modifier un utilisateur s’applique à un nom d’utilisateur qui existe déjà. L’instruction est une commande ALTER USER qui :

  • Définit TYPE = SERVICE. La fédération d’identité de charge de travail nécessite un utilisateur de service. Si l’utilisateur possède encore un mot de passe, Snowflake rejette cette modification avant de lier l’utilisateur au principal Braze. Supprimez le mot de passe avant d’exécuter l’instruction, ou créez plutôt un nouvel utilisateur de service.
  • Définit WORKLOAD_IDENTITY sur TYPE = AWS, avec l’ARN défini sur le même principal Snowflake.
  • Accorde le rôle que vous avez saisi. Si l’utilisateur dispose déjà de ce rôle, l’autorisation ne modifie pas l’utilisateur.

Utilisez l’instruction telle que le formulaire la génère. Elle définit TYPE = AWS et l’ARN du principal Braze pour Snowflake.

Exécuter l’instruction

  1. Dans Braze, accédez à Paramètres des données > Ingestion de données cloud > Sources, sélectionnez Ajouter une source de données, puis sélectionnez Snowflake.
  2. Saisissez un Nom d’identifiant, puis sélectionnez Fédération d’identité de charge de travail.
  3. Sous Configuration Braze, renseignez Localisateur de compte, Nom d’utilisateur et Rôle. Pour la valeur du localisateur de compte, consultez l’étape 2.1 : Ajouter les informations de connexion Snowflake.
  4. Sélectionnez Créer un utilisateur ou Modifier un utilisateur.
  5. Lorsque Copier l’instruction est disponible, sélectionnez Copier l’instruction. Si l’instruction affiche encore une marque substitutive à la place du principal, attendez que Braze la remplace. Si le formulaire indique que la fédération d’identité de charge de travail n’est pas disponible sur ce déploiement, sélectionnez plutôt Paire de clés.
  6. Dans Snowsight, ouvrez une feuille de calcul et exécutez l’instruction.
  7. Revenez au formulaire d’identifiants Braze et sélectionnez Enregistrer l’identifiant.
  8. Saisissez l’entrepôt, la base de données et le schéma de la source, sélectionnez Tester la connexion, puis sélectionnez Se connecter à la source.

Consulter un identifiant Snowflake

Après avoir enregistré un identifiant, vous pouvez le consulter sur la page Identifiants. Chaque source dispose de sa propre section.

  1. Accédez à Paramètres des données > Ingestion de données cloud > Identifiants.
  2. Repérez Identifiants d’accès aux données Snowflake.
  3. Dans cette section, sélectionnez le nom de l’identifiant.

La fenêtre modale de détails affiche Méthode d’authentification, Localisateur de compte, Nom d’utilisateur et Rôle. Utilisé par répertorie les sources et les synchronisations qui utilisent l’identifiant.

Un identifiant de fédération d’identité de charge de travail n’inclut pas de clé publique RSA. Un identifiant par paire de clés affiche également Clé publique RSA (principale). Sélectionnez Afficher pour développer l’instruction ALTER USER correspondant à la clé publique actuelle. Pour remplacer la clé, sélectionnez Renouveler l’identifiant, puis Générer une nouvelle clé. Exécutez la nouvelle instruction dans une feuille de calcul Snowflake. Braze déplace la clé publique précédente vers une clé secondaire, qui reste active pendant que vous installez la nouvelle clé publique. Pour le reste de la configuration par paire de clés, consultez Authentifier l’utilisateur Snowflake.

Résolution des problèmes

L’instruction n’est pas prête à être copiée

Copier l’instruction reste indisponible dans deux cas :

  • Le formulaire affiche « Error loading the Braze principal ARN ». Rechargez la page et ouvrez à nouveau le formulaire d’identifiants.
  • Le formulaire affiche « Workload Identity Federation is not available on this deployment yet. Use a key pair instead. » Sélectionnez Paire de clés.

Le test de connexion échoue après l’exécution de l’instruction

Vérifiez les points suivants :

  • Vous avez exécuté l’instruction issue du formulaire d’identifiants Snowflake de cet espace de travail, après avoir renseigné Nom d’utilisateur et Rôle.
  • L’utilisateur Snowflake est de type TYPE = SERVICE et n’a pas de mot de passe.
  • Les autorisations sur le rôle, l’entrepôt et la base de données décrites dans les conditions préalables existent, et l’attribution du rôle par l’instruction a réussi.
  • Si le compte utilise une politique réseau, les adresses IP de Braze sont autorisées. Consultez l’étape 1.5 : Autoriser les IP de Braze dans la politique réseau Snowflake (facultatif).

La modification de l’utilisateur échoue car il possède un mot de passe

Snowflake rejette TYPE = SERVICE pour un utilisateur qui possède encore un mot de passe : l’utilisateur conserve donc son type actuel. Supprimez le mot de passe et exécutez à nouveau l’instruction, ou sélectionnez Créer un utilisateur et utilisez un nouveau nom d’utilisateur.

New Stuff!