Configurer Snowflake pour UserLock Single Sign-On (SSO)

Activez l'authentification unique (SSO) avec UserLock pour centraliser l'authentification, appliquer les stratégies d'accès et simplifier la connexion à Snowflake.

Publié le 31 août 2026

Introduction

Ce guide explique comment intégrer Snowflake à UserLock Single Sign-On (SSO) en utilisant le protocole SAML 2.0.

Une fois configuré, les connexions Snowflake sont authentifiées par UserLock via Active Directory, permettant aux administrateurs d'appliquer les stratégies d'accès (MFA, restrictions temporelles, machines, ou localisation) aux sessions Snowflake.

Contrairement à la plupart des fournisseurs de services, Snowflake ne se configure pas dans un formulaire graphique : les paramètres SAML sont déclarés par une commande SQL qui crée une intégration de sécurité.

🚩️ Avant de commencer :
  • Vous devez disposer d'un compte Snowflake et d'un rôle possédant le privilège ACCOUNTADMIN.

  • Vous devez connaître le domaine d'e-mail utilisé par vos utilisateurs Snowflake, par exemple contoso.com.

  • Le SSO UserLock doit déjà être installé et configuré, et joignable depuis les navigateurs de vos utilisateurs Snowflake en HTTPS avec un certificat SSL valide.

  • Chaque utilisateur qui se connectera via le SSO doit déjà exister dans Snowflake. Snowflake ne crée pas de compte à partir d'une assertion SAML.

⚠️ Important

Conservez au moins un compte ACCOUNTADMIN dont vous connaissez le mot de passe Snowflake, et protégez-le par la MFA Snowflake. Par défaut, un utilisateur Snowflake configuré pour SAML peut toujours s'authentifier avec son mot de passe Snowflake : c'est votre seul moyen de reprendre la main si le SSO UserLock devient injoignable.
N'appliquez pas de stratégie d'authentification SAML uniquement tant que le parcours de connexion complet n'a pas été testé.

Étape 1. Activer Snowflake dans UserLock SSO

  1. Ouvrez la console Snowflake sur https://app.snowflake.com.

  2. Cliquez sur +, sélectionnez SQL File, puis exécutez :

    sql
    SELECT
      CURRENT_ORGANIZATION_NAME() AS ORG_NAME,
      CURRENT_ACCOUNT_NAME()      AS ACCOUNT_NAME;

  3. Dans la console UserLock, accédez à ⚙️ Paramètres du serveur ▸ Authentification unique (SSO).

  4. Dans la liste des applications disponibles, cliquez sur Snowflake.

  5. Renseignez les champs suivants :

    Paramètre

    Valeur

    Domaine d'application

    L'identifiant de compte uniquement, sous la forme <org_name>-<account_name>. Par exemple contoso-ab12345

    Domaine d'e-mail

    Domaine des adresses e-mail utilisées pour se connecter. Par exemple contoso.com

    Certificat

    Laissez vide, sauf si vous exigez que Snowflake signe ses requêtes SAML

  6. Enregistrez le profil.

Étape 2. Créer l'intégration de sécurité SAML2 dans Snowflake

L'URL de votre SSO UserLock est affichée dans ⚙️ Paramètres du serveur ▸ Authentification unique (SSO). Dans ce guide, <SSO_address> désigne cette URL sans le protocole. Pour https://sso.contoso.com, l'adresse SSO est sso.contoso.com. Si l'URL utilise un port personnalisé, incluez-le partout : https://sso.contoso.com:450 donne sso.contoso.com:450.

Récupérez d'abord le certificat de signature UserLock :

  1. Dans la console UserLock, accédez à ⚙️ Paramètres du serveur ▸ Authentification unique (SSO).

  2. Cliquez sur Télécharger ▸ Certificat SAML.

  3. Ouvrez le certificat dans un éditeur de texte et copiez la valeur Base64.

⚠️ Important

Snowflake attend uniquement le corps Base64. Supprimez les lignes -----BEGIN CERTIFICATE----- et -----END CERTIFICATE-----, ainsi que tous les retours à la ligne, pour obtenir une chaîne continue.

Exécutez ensuite la commande suivante en tant qu'ACCOUNTADMIN, en adaptant les valeurs à votre environnement :

sql
CREATE SECURITY INTEGRATION userlock_sso
  TYPE = SAML2
  ENABLED = TRUE
  SAML2_PROVIDER = 'Custom'
  SAML2_ISSUER = 'https://sso.contoso.com'
  SAML2_SSO_URL = 'https://sso.contoso.com/saml/sso'
  SAML2_X509_CERT = 'MIICqzCCAZOgAwIBAgIIVS4f...wNxVfdfiKl7MeJ4XyJx'
  SAML2_SNOWFLAKE_ISSUER_URL = 'https://contoso-ab12345.snowflakecomputing.com'
  SAML2_SNOWFLAKE_ACS_URL = 'https://contoso-ab12345.snowflakecomputing.com/fed/login'
  SAML2_REQUESTED_NAMEID_FORMAT = 'urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified'
  SAML2_ENABLE_SP_INITIATED = TRUE
  SAML2_SP_INITIATED_LOGIN_PAGE_LABEL = 'UserLock SSO';

Les cinq valeurs à remplacer :

Champ

Valeur

SAML2_ISSUER

https://<SSO_address>

SAML2_SSO_URL

https://<SSO_address>/saml/sso

SAML2_X509_CERT

La valeur Base64 copiée ci-dessus

SAML2_SNOWFLAKE_ISSUER_URL

https://<org_name>-<account_name>.snowflakecomputing.com

SAML2_SNOWFLAKE_ACS_URL

https://<org_name>-<account_name>.snowflakecomputing.com/fed/login

⚠️ Important

Conservez SAML2_ENABLE_SP_INITIATED = TRUE. UserLock SSO ne prend en charge que l'authentification initiée par le fournisseur de services : les utilisateurs doivent donc démarrer la connexion depuis Snowflake.

Étape 3. Faire correspondre les utilisateurs Snowflake à Active Directory

UserLock envoie l'adresse e-mail de l'utilisateur comme NameID SAML, et Snowflake compare cette valeur au LOGIN_NAME de l'utilisateur. Un utilisateur Snowflake dont le LOGIN_NAME ne correspond pas à l'adresse envoyée par UserLock est rejeté.

Pour chaque utilisateur qui se connectera via le SSO, définissez LOGIN_NAME sur l'adresse e-mail présente dans Active Directory, dans le domaine configuré dans le profil UserLock :

sql
CREATE USER jdoe
  LOGIN_NAME = 'jdoe@contoso.com'
  EMAIL = 'jdoe@contoso.com'
  DISPLAY_NAME = 'Jane Doe'
  FIRST_NAME = 'Jane'
  LAST_NAME = 'Doe'
  MUST_CHANGE_PASSWORD = FALSE
  DEFAULT_ROLE = PUBLIC;

Pour modifier un utilisateur existant, exécutez ALTER USER jdoe SET LOGIN_NAME = 'jdoe@contoso.com';

Étape 4. Tester l'authentification unique Snowflake

Gardez votre session d'administration Snowflake ouverte pendant le test.

  1. Ouvrez une fenêtre de navigation privée.

  2. Ouvrez l'URL de votre compte, par exemple https://contoso-ab12345.snowflakecomputing.com.

  3. Cliquez sur UserLock SSO sur la page de connexion.

  4. Authentifiez-vous via UserLock avec un compte Active Directory dont l'adresse e-mail appartient au Domaine d'e-mail configuré et correspond au LOGIN_NAME d'un utilisateur Snowflake existant.

  5. Vérifiez que l'utilisateur atteint la console Snowflake avec le rôle attendu.

Conserver un administrateur de secours Snowflake

L'authentification par mot de passe Snowflake reste disponible par défaut : c'est ce qui permet à un administrateur de se connecter lorsque le SSO UserLock est injoignable. Vérifiez les points suivants avant d'imposer le SSO :

  • Au moins un compte ACCOUNTADMIN possède un mot de passe Snowflake que vous connaissez.

  • Ce compte est protégé par la MFA Snowflake.

  • Ce compte est exclu de toute stratégie d'authentification SAML uniquement que vous appliquez, ou la stratégie est appliquée à un rôle plutôt qu'au compte entier.

Imposer la connexion Snowflake via UserLock SSO

La création de l'intégration de sécurité ne désactive pas la connexion par mot de passe. Certains environnements exigent que les utilisateurs s'authentifient uniquement via le SSO. Snowflake applique cette contrainte au moyen d'une stratégie d'authentification.

⚠️ Important

Une stratégie SAML uniquement appliquée au niveau du compte bloque toutes les connexions par mot de passe, y compris la vôtre. Si le SSO tombe ensuite, le seul recours est d'exécuter ALTER ACCOUNT UNSET AUTHENTICATION POLICY; depuis une session ou un rôle non couvert par la stratégie.
Appliquer d'abord la stratégie à un seul rôle est une première étape plus sûre.

  1. Vérifiez que le SSO fonctionne de bout en bout pour les utilisateurs concernés.

  2. Créez la stratégie :

    sql
    CREATE AUTHENTICATION POLICY saml_only_policy
      AUTHENTICATION_METHODS = ('SAML');
  3. Appliquez-la :

    sql
    ALTER ACCOUNT SET AUTHENTICATION POLICY saml_only_policy;

Mettre à jour le certificat SAML dans Snowflake

Lorsque vous renouvelez le certificat SAML UserLock, mettez Snowflake à jour pendant l'étape de mise à jour des applications SaaS de la procédure Renouveler le certificat SAML.

  1. Dans la console UserLock, accédez à ⚙️ Paramètres du serveur ▸ Authentification unique (SSO) et cliquez sur Télécharger ▸ Certificat SAML.

  2. Ouvrez le certificat dans un éditeur de texte et copiez la valeur Base64, sans les lignes d'en-tête et de fin, et sans retours à la ligne.

  3. Mettez l'intégration à jour :

    sql
    ALTER SECURITY INTEGRATION userlock_sso SET
      SAML2_X509_CERT = 'MIICqzCCAZOgAwIBAgIIVS4f...wNxVfdfiKl7MeJ4XyJx';
  4. Testez une connexion et vérifiez que l'authentification aboutit.

Dépannage

Pour les problèmes courants, consultez la page Dépannage du SSO.Si le problème persiste, contactez le Support IS Decisions.

Erreur : "The specified user account does not exist"

Le NameID envoyé par UserLock ne correspond à aucun utilisateur Snowflake. Soit l'utilisateur n'a pas été créé dans Snowflake, soit son LOGIN_NAME ne correspond pas à l'adresse e-mail présente dans Active Directory. Voir Faire correspondre les utilisateurs Snowflake à Active Directory.

Erreur : "Your account doesn't have any email address matching with the provided domain name"

UserLock n'a trouvé aucune adresse e-mail correspondant au Domaine d'e-mail configuré dans le profil Snowflake sur le compte Active Directory qui s'authentifie. Vérifiez les attributs mail et proxyAddresses de l'utilisateur, ainsi que la valeur du Domaine d'e-mail dans le profil. UserLock envoie également cette erreur par e-mail à l'administrateur SSO.

Snowflake rejette l'assertion avec une erreur d'audience ou de destination

SAML2_SNOWFLAKE_ISSUER_URL ou SAML2_SNOWFLAKE_ACS_URL ne correspond pas exactement à l'URL de votre compte. Exécutez à nouveau la requête de l'étape 1 pour confirmer l'identifiant de compte, puis corrigez l'intégration avec ALTER SECURITY INTEGRATION.

Snowflake signale une erreur de certificat ou de signature

SAML2_X509_CERT ne correspond plus au certificat utilisé par UserLock pour signer la réponse SAML, généralement après un renouvellement de certificat. VoirMettre à jour le Certificat SAML dans Snowflake. Vérifiez également que la valeur ne contient ni ligne d'en-tête, ni ligne de fin, ni retour à la ligne.

Le bouton UserLock SSO n'apparaît pas sur la page de connexion Snowflake

SAML2_ENABLE_SP_INITIATED n'est pas défini sur TRUE. Sans ce paramètre, les utilisateurs ne peuvent pas atteindre UserLock, qui ne prend pas en charge l'authentification initiée par le fournisseur d'identité.

sql
ALTER SECURITY INTEGRATION userlock_sso SET SAML2_ENABLE_SP_INITIATED = TRUE;

En cas d'indisponibilité du SSO

Connectez-vous avec le mot de passe Snowflake de l'administrateur de secours, puis désactivez l'intégration :

sql
ALTER SECURITY INTEGRATION userlock_sso SET ENABLED = FALSE;

Si une stratégie d'authentification SAML uniquement est appliquée, retirez-la d'abord :

sql
ALTER ACCOUNT UNSET AUTHENTICATION POLICY;

Réactivez l'intégration une fois le SSO UserLock de nouveau joignable.

Étapes suivantes

Vous pouvez étendre la sécurité des sessions SaaS en appliquant les stratégies d’accès UserLock, en complément de l’authentification.