Utilisation de plusieurs fournisseurs d’identité pour l’authentification fédérée

Vous pouvez configurer Snowflake de sorte à autoriser les utilisateurs à s’authentifier auprès de plusieurs fournisseurs d’identité (IdPs).

La mise en œuvre d’un environnement fédéré qui utilise plusieurs IdPs se compose des étapes suivantes :

  1. Activation du flux de connexion avec identificateur d’abord (dans cette rubrique).

  2. Configuration de chaque fournisseur d’identité.

  3. Création de plusieurs intégrations de sécurité SAML, une pour chaque IdP.

  4. Association des utilisateurs aux IdPs (dans cette rubrique).

Note

Gardez les points suivants à l’esprit lorsque vous mettez en œuvre un environnement utilisant plusieurs IdPs :

  • Chaque IdP doit avoir une intégration de sécurité SAML correspondante. Si vous avez un environnement d’IdP unique existant qui utilise le paramètre SAML_IDENTITY_PROVIDER obsolète, vous devez utiliser la fonction SYSTEM$MIGRATE_SAML_IDP_REGISTRATION pour le migrer vers une intégration de sécurité SAML.

  • Actuellement, seul un sous-ensemble de pilotes Snowflake prend en charge l’utilisation de plusieurs fournisseurs d’identité. Ces pilotes comprennent JDBC, ODBC et Python.

Activation de la connexion avec identificateur d’abord

Lorsque l’environnement fédéré d’un compte utilise plusieurs IdPs, Snowflake doit pouvoir déterminer quels IdPs sont associés à un utilisateur avant de lui présenter les options d’authentification. Dans ce flux, Snowflake demande à l’utilisateur uniquement son adresse e-mail ou son nom d’utilisateur, puis affiche les méthodes d’authentification après avoir identifié l’utilisateur. Seuls les IdPs associés à l’utilisateur apparaissent comme options d’authentification.

Le flux de connexion avec identificateur d’abord doit être activé si vous utilisez plusieurs IdPs. Pour activer la connexion avec identificateur d’abord, définissez le paramètre ENABLE_IDENTIFIER_FIRST_LOGIN sur TRUE.

Pour plus d’informations sur le flux de connexion avec identificateur d’abord, voir Connexion avec identificateur d’abord.

Association des utilisateurs aux IdPs

Dans un environnement avec plusieurs IdPs, vous pouvez sélectionner la manière d’associer un utilisateur à un IdP. Vous pouvez utiliser l’intégration de sécurité associée à un IdP, une politique d’authentification ou combiner les deux méthodes.

Intégration de sécurité:

Utilisez les propriétés ALLOWED_USER_DOMAINS et ALLOWED_EMAIL_PATTERNS de l’intégration de sécurité SAML2 associée à chaque IdP. Dans cette configuration, un utilisateur ne voit un IdP comme option d’authentification que si son EMAIL correspond à un domaine d’adresse e-mail ou à un modèle dans l’intégration de sécurité.

Politique d’authentification:

Utilisez la propriété SECURITY_INTEGRATIONS d’une politique d’authentification pour spécifier les intégrations de sécurité disponibles pour l’utilisateur. Dans cette configuration, la politique d’authentification est attribuée à un compte entier ou à un utilisateur individuel. Un utilisateur ne peut s’authentifier qu’auprès d’IdPs associés à des intégrations de sécurité spécifiées dans la politique d’authentification.

Si vous souhaitez qu’un utilisateur ne voie que les fournisseurs d’identité qu’il est autorisé à utiliser, créez plusieurs politiques d’authentification, puis attribuez la politique appropriée à un utilisateur.

Pour un exemple d’utilisation d’une politique d’authentification pour mettre en œuvre plusieurs IdPs, voir Autoriser l’authentification de plusieurs fournisseurs d’identité sur un compte.

Combination:

Vous pouvez combiner les méthodes d’intégration de sécurité et de politique d’authentification pour affiner davantage la manière dont les utilisateurs s’authentifient dans un environnement comportant plusieurs IdPs.

Si vous utilisez les deux méthodes, Snowflake commence par évaluer quelles intégrations de sécurité sont associées à la politique d’authentification qui régit la connexion de l’utilisateur. Une fois que Snowflake a identifié les intégrations de sécurité, l”EMAIL de l’utilisateur est associé à l’une des intégrations en fonction des propriétés ALLOWED_USER_DOMAINS et ALLOWED_EMAIL_PATTERNS. Snowflake n’affiche que l’option IdP pour l’intégration de sécurité qui correspond à l”EMAIL de l’utilisateur.