Partager via


Tutoriel : Configurer Snowflake pour l’approvisionnement automatique d’utilisateurs

Ce tutoriel présente les étapes à effectuer dans Snowflake et Microsoft Entra ID afin de configurer Microsoft Entra ID pour provisionner et déprovisionner automatiquement des utilisateurs et des groupes sur Snowflake. Pour découvrir des détails importants sur ce que fait ce service, son fonctionnement et les questions fréquemment posées, consultez Qu’est-ce que le provisionnement automatique des utilisateurs d’applications SaaS dans Microsoft Entra ID ?.

Fonctionnalités prises en charge

  • Créer des utilisateurs dans Snowflake
  • Supprimer des utilisateurs dans Snowflake quand ils ne nécessitent plus d’accès
  • Maintenir la synchronisation des attributs utilisateur entre Microsoft Entra ID et Snowflake
  • Provisionner des groupes et des appartenances aux groupes dans Snowflake
  • Autoriser l’authentification unique auprès de Snowflake (recommandé)

Prérequis

Le scénario décrit dans ce tutoriel part du principe que vous disposez des prérequis suivants :

Étape 1 : Planifier votre déploiement de l’approvisionnement

  1. En savoir plus sur le fonctionnement du service d’approvisionnement.
  2. Déterminez qui sera dans l’étendue pour l’approvisionnement.
  3. Déterminez les données à mapper entre Microsoft Entra ID et Snowflake.

Étape 2 : Configurer Snowflake pour prendre en charge le provisionnement avec Microsoft Entra ID

Avant de configurer Snowflake pour le provisionnement automatique d’utilisateurs avec Microsoft Entra ID, vous devez activer le provisionnement SCIM (System for Cross-domain Identity Management) dans Snowflake.

  1. Connectez-vous à Snowflake en tant qu’administrateur et exécutez ce qui suit à partir de l’interface de feuille de calcul Snowflake ou de SnowSQL.

    use role accountadmin;
    
     create role if not exists aad_provisioner;
     grant create user on account to role aad_provisioner;
     grant create role on account to role aad_provisioner;
    grant role aad_provisioner to role accountadmin;
     create or replace security integration aad_provisioning
         type = scim
         scim_client = 'azure'
         run_as_role = 'AAD_PROVISIONER';
     select system$generate_scim_access_token('AAD_PROVISIONING');
    
  2. Utilisez le rôle ACCOUNTADMIN.

    Capture d’écran d’une feuille de calcul dans l’interface utilisateur Snowflake avec le jeton d’accès SCIM mis en évidence.

  3. Créez le rôle personnalisé AAD_PROVISIONER. Tous les utilisateurs et rôles dans Snowflake créés par Microsoft Entra ID appartiendront au rôle à l’étendue réduite AAD_PROVISIONER.

    Capture d’écran montrant le rôle personnalisé.

  4. Laissez le rôle ACCOUNTADMIN créer l’intégration de sécurité en utilisant le rôle personnalisé AAD_PROVISIONER.

    Capture d’écran montrant les intégrations de sécurité.

  5. Créez et copiez le jeton d’autorisation dans le Presse-papiers et stockez-le de manière sécurisée pour une utilisation ultérieure. Utilisez ce jeton pour chaque demande d’API REST SCIM et placez-le dans l’en-tête de demande. Le jeton d’accès expire après six mois et un nouveau jeton d’accès peut être généré avec cette instruction.

    Capture d’écran montrant la génération de jetons.

Ajoutez Snowflake à partir de la galerie d’applications Microsoft Entra pour gérer le provisionnement dans Snowflake. Si vous avez déjà configuré Snowflake pour l’authentification unique (SSO), vous pouvez utiliser la même application. Toutefois, nous vous recommandons de créer une application distincte quand vous testez initialement l’intégration. En savoir plus sur l’ajout d’une application à partir de la galerie.

Étape 4 : Définir qui sera dans l’étendue pour l’approvisionnement

Le service de provisionnement Microsoft Entra vous permet de déterminer qui sera provisionné, en fonction de l’affectation à l’application ou en fonction des attributs de l’utilisateur ou du groupe. Si vous choisissez de définir l’étendue des utilisateurs qui seront provisionnés pour votre application en fonction de l’attribution, vous pouvez utiliser les étapes permettant d’affecter des utilisateurs et des groupes à l’application. Si vous choisissez de définir l’étendue des utilisateurs qui seront provisionnés uniquement en fonction des attributs de l’utilisateur ou du groupe, vous pouvez utiliser un filtre d’étendue.

Gardez à l’esprit les conseils suivants :

  • Quand vous attribuez des utilisateurs et des groupes à Snowflake, vous devez sélectionner un rôle autre que le rôle Accès par défaut. Les utilisateurs disposant du rôle Accès par défaut sont exclus de l’approvisionnement et sont marqués comme non autorisés dans les journaux de configuration. Si le seul rôle disponible sur l’application est le rôle Accès par défaut, vous pouvez mettre à jour le manifeste de l’application pour ajouter plus de rôles.

  • Si vous avez besoin de rôles supplémentaires, vous pouvez mettre à jour le manifeste d’application pour ajouter de nouveaux rôles.

Étape 5 : Configurer l’approvisionnement automatique d’utilisateurs sur Snowflake

Cette section vous guide tout au long des étapes à suivre pour configurer le service de provisionnement Microsoft Entra afin de créer, de mettre à jour et de désactiver des utilisateurs et des groupes dans Snowflake. Vous pouvez baser la configuration sur des affectations d’utilisateurs et de groupes dans Microsoft Entra ID.

Pour configurer le provisionnement automatique d’utilisateurs pour Snowflake dans Microsoft Entra ID :

  1. Connectez-vous au Centre d’administration de Microsoft Entra au minimum en tant qu’Administrateur d’application cloud.

  2. Accédez à Identité>Applications>Applications d’entreprise.

    Capture d’écran montrant le volet Applications d’entreprise.

  3. Dans la liste des applications, sélectionnez Snowflake.

    Capture d’écran montrant une liste d’applications.

  4. Sélectionnez l’onglet Approvisionnement.

    Capture d’écran des options Gérer avec l’option Provisionnement en évidence.

  5. Définissez le Mode d’approvisionnement sur Automatique.

    Capture d’écran de la liste déroulante Mode de provisionnement avec l’option Automatique en évidence.

  6. Dans la section Informations d’identification de l’administrateur, entrez les valeurs d’URL de base SCIM 2.0 et de jeton d’authentification que vous avez récupérées précédemment dans les zones URL de locataire et Jeton secret, respectivement.

    Notes

    Le point de terminaison SCIM Snowflake se compose de l’URL de compte Snowflake suivie de /scim/v2/. Par exemple, si le nom de votre compte Snowflake est acme et si ce compte Snowflake se trouve dans la région Azure east-us-2, la valeur de l’URL de locataire est https://acme.east-us-2.azure.snowflakecomputing.com/scim/v2.

    Sélectionnez Tester la connexion pour vous assurer que Microsoft Entra ID peut se connecter à Snowflake. Si la connexion échoue, vérifiez que votre compte Snowflake dispose d’autorisations d’administrateur, puis réessayez.

    Capture d’écran montrant les zones de l’URL du locataire et du jeton secret, avec le bouton Tester la connexion.

  7. Dans la zone E-mail de notification, entrez l’adresse e-mail d’une personne ou d’un groupe qui doit recevoir les notifications d’erreur de provisionnement. Cochez ensuite la case Envoyer une notification par e-mail en cas de défaillance.

    Capture d’écran montrant la zone et la case à cocher pour l’e-mail de notification.

  8. Sélectionnez Enregistrer.

  9. Dans la section Mappages, sélectionnez Synchroniser les utilisateurs Microsoft Entra avec Snowflake.

  10. Passez en revue les attributs utilisateur synchronisés de Microsoft Entra ID vers Snowflake dans la section Mappage d’attributs. Les attributs sélectionnés en tant que propriétés de Correspondance sont utilisés pour faire correspondre les comptes d’utilisateur dans Snowflake pour les opérations de mise à jour. Cliquez sur le bouton Enregistrer pour valider les modifications.

    Attribut Type
    active Boolean
    displayName String
    emails[type eq "work"].value String
    userName String
    name.givenName String
    name.familyName String
    externalId String

    Notes

    Attributs utilisateur d’extension personnalisée pris en charge par Snowflake durant le provisionnement SCIM :

    • DEFAULT_ROLE
    • DEFAULT_WAREHOUSE
    • DEFAULT_SECONDARY_ROLES
    • LE NOM SNOWFLAKE ET LES CHAMPS LOGIN_NAME DOIVENT ÊTRE DIFFÉRENTS

    La configuration des attributs d’extension personnalisée Snowflake dans le provisionnement d’utilisateurs SCIM Microsoft Entra est expliquée ici.

  11. Dans la section Mappages, sélectionnez Synchroniser les groupes Microsoft Entra avec Snowflake.

  12. Passez en revue les attributs de groupe synchronisés de Microsoft Entra ID vers Snowflake dans la section Mappage d’attributs. Les attributs sélectionnés en tant que propriétés de Correspondance sont utilisés pour faire correspondre les groupes dans Snowflake pour les opérations de mise à jour. Cliquez sur le bouton Enregistrer pour valider les modifications.

    Attribut Type
    displayName String
    membres Informations de référence
  13. Pour configurer des filtres d’étendue, consultez les instructions fournies dans le tutoriel sur les filtres d’étendue.

  14. Pour activer le service de provisionnement Microsoft Entra pour Snowflake, modifiez État du provisionnement sur Activé dans la section Paramètres.

    Capture d’écran montrant le paramètre État du provisionnement activé.

  15. Définissez les utilisateurs et les groupes que vous voulez provisionner sur Snowflake en choisissant les valeurs souhaitées dans Étendue dans la section Paramètres.

    Si cette option n’est pas disponible, configurez les champs nécessaires sous Informations d’identification de l’administrateur, sélectionnez Enregistrer, puis actualisez la page.

    Capture d’écran montrant les choix disponibles pour l’étendue du provisionnement.

  16. Quand vous êtes prêt à effectuer l’approvisionnement, sélectionnez Enregistrer.

    Capture d’écran du bouton permettant d’enregistrer une configuration de provisionnement.

Cette opération démarre la synchronisation initiale de tous les utilisateurs et groupes définis dans Étendue dans la section Paramètres. La synchronisation initiale prend plus de temps que les synchronisations ultérieures. Les synchronisations suivantes se produisent toutes les 40 minutes environ, tant que le service de provisionnement Microsoft Entra est en cours d’exécution.

Étape 6 : Surveiller votre déploiement

Après avoir configuré l’approvisionnement, utilisez les ressources suivantes pour superviser votre déploiement :

  • Utilisez les journaux d’approvisionnement pour déterminer quels utilisateurs ont été configurés avec succès ou ceux pour laquelle la procédure a échoué.
  • Consultez la barre de progression pour afficher l’état d’avancement du cycle d’approvisionnement et le moment où il se terminera.
  • Si la configuration de l’approvisionnement semble se trouver dans un état non sain, l’application passe en quarantaine. En savoir plus sur les états de quarantaine.

Limitations du connecteur

Les jetons SCIM générés par Snowflake expirent au bout de 6 mois. N’oubliez pas que vous devez actualiser ces jetons avant leur expiration pour permettre aux synchronisations de provisionnement de continuer de fonctionner.

Conseils de dépannage

Le service de provisionnement Microsoft Entra fonctionne actuellement dans des plages IP spécifiques. Si nécessaire, vous pouvez restreindre d’autres plages d’adresses IP et ajouter ces plages d’adresses IP particulières à la liste verte de votre application. Cette technique autorisera le flux de trafic du service de provisionnement Microsoft Entra vers votre application.

Journal des modifications

  • 21/07/2020 : Activation de la suppression réversible pour tous les utilisateurs (via l’attribut actif).
  • 12/10/2022 : Configuration SCIM de Snowflake mise à jour.

Ressources supplémentaires

Étapes suivantes