Gestion des utilisateurs

Les administrateurs des utilisateurs peuvent créer et gérer les utilisateurs de Snowflake via SQL ou l’interface Web :

  • En utilisant SQL, les administrateurs peuvent exécuter toutes les tâches liées à l’utilisateur, comme la modification des identifiants de connexion et des valeurs par défaut des utilisateurs.

  • Snowsight prend en charge la plupart des tâches liées à l’utilisateur.

  • Classic Console ne prend pas en charge toutes les tâches liées à l’utilisateur, mais elle fournit un assistant pour créer des utilisateurs et exécuter la plupart des activités courantes, telles que la réinitialisation du mot de passe d’un utilisateur.

Dans ce chapitre :

Privilèges requis pour créer et modifier des utilisateurs

Les rôles ou privilèges suivants sont nécessaires pour gérer les utilisateurs de votre compte :

Création d’utilisateurs

Le rôle système USERADMIN peut créer des utilisateurs en utilisant SQL (CREATE USER).

Si vous préférez utiliser un rôle personnalisé à cette fin, accordez le privilège CREATE USER sur le compte à ce rôle.

Modifier les utilisateurs

Seul le rôle ayant le privilège OWNERSHIP sur un utilisateur, ou un rôle supérieur, peut modifier la plupart des propriétés de l’utilisateur en utilisant SQL (ALTER USER). En outre, le rôle doit avoir le privilège global CREATE USER.

Politiques de mots de passe

Une politique de mot de passe spécifie les exigences à respecter pour créer et réinitialiser un mot de passe afin de s’authentifier auprès de Snowflake.

Snowflake fournit deux options pour les politiques de mot de passe :

  • Une politique de mot de passe intégrée pour faciliter le processus de mise en service initial de l’utilisateur.

  • Un objet de politique de mot de passe au niveau du schéma qui peut être défini au niveau du compte Snowflake, d’un utilisateur individuel ou des deux, selon les cas d’utilisation et les besoins de l’administrateur utilisateur.

Pour plus de détails sur les bonnes pratiques et sur chacune des options de la politique de mot de passe, voir :

Bonnes pratiques pour les politiques de mot de passe et les mots de passe

Snowflake recommande les bonnes pratiques suivantes concernant les mots de passe et les politiques de mots de passe :

Créer et appliquer la politique de mot de passe personnalisée

L’objet de politique de mot de passe est appliqué une fois que la politique de mot de passe est définie sur un compte ou un utilisateur.

Définissez ces propriétés sur des valeurs en fonction de vos besoins en matière de sécurité interne. Pour plus de détails, voir Étape 4 : créer une politique de mot de passe (dans ce chapitre) :

  • PASSWORD_HISTORY pour s’assurer que les utilisateurs ne peuvent pas réutiliser les mots de passe trop fréquemment et pour aider à prévenir les attaques par force brute visant à déterminer le mot de passe d’un utilisateur.

  • PASSWORD_MIN_AGE_DAYS pour demander à l’utilisateur d’utiliser le nouveau mot de passe. Une valeur de 0 n’est pas recommandée, car l’utilisateur peut modifier le mot de passe pour épuiser l’historique des mots de passe et réutiliser la valeur du mot de passe d’origine trop tôt.

Pour exiger que l’utilisateur modifie son mot de passe afin de respecter la politique de mot de passe lors de sa première ou prochaine connexion à Snowflake, définissez la propriété MUST_CHANGE_PASSWORD de l’utilisateur sur TRUE en utilisant une commande ALTER USER.

Pour plus de détails, voir Étape 6 : exiger un changement de mot de passe (dans ce chapitre).

Exiger des mots de passe forts

Définissez une politique de mot de passe au niveau du compte pour exiger des mots de passe forts.

Un mot de passe fort comporte au moins 8 caractères et comprend une combinaison de lettres majuscules et minuscules, de caractères spéciaux (par exemple, ! et *) et de chiffres.

MFA

Utilisez Authentification multifactorielle (MFA) pour accroître la sécurité.

Utilisation de SCIM

Vous pouvez définir un mot de passe pour que l’utilisateur puisse accéder à Snowflake dans une demande SCIM API. Les administrateurs et les administrateurs d’utilisateurs SCIM doivent choisir de gérer le mot de passe de l’utilisateur pour accéder à Snowflake dans votre fournisseur d’identité ou en utilisant une politique de mot de passe dans Snowflake.

Actuellement, les utilisateurs mis en service dans Snowflake avec SCIM doivent avoir un mot de passe conforme à la politique de mot de passe Snowflake par défaut. Cette exigence peut être contournée si vous choisissez d’utiliser cette fonction de politique de mot de passe.

Pour contourner l’exigence de la politique de mot de passe par défaut, suivez les instructions de la section Utilisation des politiques de mots de passe (dans cette rubrique).

Surveillance des mots de passe

Pour surveiller les mots de passe :

  • Interrogez la vue USERS de Snowflake Account Usage pour déterminer si la valeur de la colonne HAS_PASSWORD renvoie TRUE pour un utilisateur donné.

  • Interrogez la vue LOGIN_HISTORY Snowflake Account Usage et évaluez la colonne FIRST_AUTHENTICATION_FACTOR. Si un utilisateur n’a pas besoin d’un mot de passe pour accéder à Snowflake, exécutez une commande ALTER USER pour définir la propriété password sur NULL.

Politique de mot de passe fournie par Snowflake

Un mot de passe peut correspondre à n’importe quelle chaîne sensible à la casse jusqu’à 256 caractères, y compris des espaces vides et des caractères spéciaux (c’est-à-dire, non alphanumériques), tels que des points d’exclamation (!), des signes de pourcentage (%) et des astérisques (*).

Lors de la création de l’utilisateur, il est possible de définir un mot de passe faible pour l’utilisateur qui ne répond pas aux exigences minimales décrites ci-dessous (par exemple 'test12345'). Cette fonctionnalité permet aux administrateurs d’utiliser des mots de passe génériques pour l’utilisateur pendant le processus de création. Si ce choix est fait, Snowflake recommande fortement de définir la propriété MUST_CHANGE_PASSWORD sur TRUE pour obliger les utilisateurs à modifier leur mot de passe lors de leur prochaine connexion (y compris lors de la première la connexion) à Snowflake.

De plus, Snowflake permet de créer des utilisateurs sans mot de passe initial pour faciliter les méthodes d’entreprise pour lesquelles les nouveaux utilisateurs ne sont pas autorisés à se connecter au système. Si cela se produit, la valeur de la propriété PASSWORD de l’utilisateur sera NULL. Cependant, en règle générale, Snowflake s’attend à ce que les utilisateurs soient créés avec des mots de passe initiaux.

Dans le cadre de la réinitialisation d’un mot de passe existant (par exemple, remplacer 'test12345' par 'q@-*DaC2yjZoq3Re4JYX'), Snowflake applique la politique de mot de passe suivante comme exigence minimale lors de l’utilisation de la commande ALTER USER et de l’interface Web :

  • Doit comporter au moins huit caractères.

  • Doit contenir au moins un chiffre.

  • Doit contenir au moins une lettre majuscule et une lettre minuscule.

Snowflake recommande fortement de respecter les consignes suivantes pour créer les mots de passe les plus sûrs possible :

  • Créez un mot de passe unique pour Snowflake (autrement dit, ne réutilisez pas les mots de passe d’autres systèmes ou comptes).

  • Utilisez plus de huit caractères.

  • Incluez plusieurs lettres, chiffres et caractères spéciaux, y compris des espaces vides, en majuscules et en minuscules.

  • N’utilisez pas de mots de passe, de noms, de numéros ou de dates faciles à deviner.

Enfin, pour configurer le plus haut niveau de sécurité pour la connexion des utilisateurs, Snowflake recommande que les utilisateurs s’inscrivent à MFA.

Politique de mot de passe personnalisée pour le compte et les utilisateurs

La politique de mot de passe personnalisée est un objet de niveau schéma qui spécifie les exigences à respecter pour créer et réinitialiser un mot de passe afin de s’authentifier auprès de Snowflake, y compris le nombre de tentatives pour saisir le mot de passe avec succès et le nombre de minutes avant qu’un mot de passe puisse être retenté (c’est-à-dire le temps de « verrouillage »).

Les exigences de la politique de mot de passe pour un mot de passe comprennent des lettres majuscules ou minuscules, des caractères spéciaux, des chiffres et une longueur de mot de passe à respecter afin de répondre aux exigences de sécurité pour que les utilisateurs et les clients s’authentifient auprès de Snowflake. Les politiques de mots de passe qui exigent des mots de passe forts aident à respecter les consignes et les réglementations en matière de sécurité.

Snowflake prend en charge la définition d’une politique de mot de passe pour votre compte Snowflake et pour les utilisateurs individuels. Une seule politique de mot de passe peut être définie à tout moment pour votre compte Snowflake ou pour un utilisateur. Si une politique de mot de passe existe pour le compte Snowflake et qu’une autre politique de mot de passe est définie pour un utilisateur du même compte Snowflake, la politique de mot de passe au niveau de l’utilisateur a la priorité sur la politique de mot de passe au niveau du compte.

La politique de mot de passe s’applique aux nouveaux mots de passe définis dans votre compte Snowflake. Pour s’assurer que les utilisateurs ayant des mots de passe existants répondent aux exigences de la politique de mot de passe, demandez aux utilisateurs de changer leur mot de passe lors de leur prochaine connexion à Snowflake, comme indiqué dans Étape 6 : exiger un changement de mot de passe (dans cette rubrique).

Note

Chaque paramètre de politique de mot de passe nécessite une instruction ALTER USER pour définir la propriété MUST_CHANGE_PASSWORD sur TRUE afin d’obliger l’utilisateur à mettre à jour son mot de passe pour se conformer à la valeur du paramètre de politique de mot de passe lors de la prochaine connexion à Snowflake.

Toutefois, les paramètres suivants constituent des exceptions :

  • PASSWORD_MAX_AGE_DAYS = integer

  • PASSWORD_MAX_AGE_DAYS = integer

  • PASSWORD_LOCKOUT_TIME_MINS = integer

Ces paramètres sont des paramètres à état. Un paramètre à état signifie que la valeur du paramètre devient effective une fois que la commande a fini de s’exécuter. Il n’est pas nécessaire d’exécuter une commande ALTER USER … SET MUST_CHANGE_PASSWORD si votre instruction CREATE PASSWORD POLICY ou ALTER PASSWORD POLICY ne contient qu’un ou plusieurs paramètres à état.

Notez que la modification de la valeur d’un paramètre à état avec une commande ALTER PASSWORD POLICY n’affecte pas la session en cours. Par exemple, si vous modifiez la valeur du paramètre PASSWORD_MAX_AGE_DAYS en un nombre qui fait expirer le mot de passe actuel de l’utilisateur, lors de la prochaine connexion à Snowflake, l’utilisateur modifiera son mot de passe. Snowflake ne forcera pas l’utilisateur à modifier son mot de passe dans sa session actuelle.

Considérations

  • Les autorisations futures de privilèges sur les politiques de mots de passe ne sont pas prises en charge.

    Comme solution de contournement, accordez le privilège APPLY PASSWORD POLICY à un rôle personnalisé pour lui permettre d’appliquer des politiques de mots de passe à un utilisateur ou au compte Snowflake.

  • La politique de mot de passe peut être gérée avec SQL en utilisant SnowSQL ou un pilote ou connecteur pris en charge, ou dans Worksheets en utilisant l”Classic Console ou Snowsight.

  • Réinitialiser ou changer un mot de passe :

    • Classic Console, SnowSQL et connecteurs et pilotes pris en charge.

      Lors de l’exécution d’une commande ALTER USER ou de l’utilisation de l”Classic Console pour réinitialiser ou modifier un mot de passe, Snowflake évalue la politique de mot de passe pour s’assurer que le nouveau mot de passe créé correspond aux exigences de la politique de mot de passe.

  • Suivi de l’utilisation de la politique de mot de passe :

    • Interrogez la vue PASSWORD_POLICIES Account Usage pour obtenir une ligne pour chaque politique de mot de passe dans votre compte Snowflake.

    • Utilisez la fonction de table Information Schema POLICY_REFERENCES pour renvoyer une ligne pour chaque utilisateur qui est affecté à la politique de mot de passe spécifiée et une ligne pour la politique de mot de passe affectée au compte Snowflake.

      Actuellement, seule la syntaxe suivante est prise en charge pour les politiques de mots de passe :

      POLICY_REFERENCES( POLICY_NAME => '<password_policy_name>' )
      
      Copy

      password_policy_name est le nom entièrement qualifié de la politique de mot de passe.

      Par exemple, exécutez la requête suivante pour renvoyer une ligne pour chaque utilisateur auquel est attribuée la politique de mot de passe nommée password_policy_prod_1, qui est stockée dans la base de données nommée my_db et le schéma nommé my_schema :

      SELECT *
      FROM TABLE(
          my_db.information_schema.policy_references(
            POLICY_NAME => 'my_db.my_schema.password_policy_prod_1'
        )
      );
      
      Copy

Utilisation des politiques de mot de passe

Les étapes suivantes constituent un guide représentatif pour définir et paramétrer une politique de mot de passe dans Snowflake.

Ces étapes supposent une approche de gestion centralisée dans laquelle un rôle personnalisé nommé policy_admin possède la politique de mot de passe (c’est-à-dire qu’il dispose du privilège OWNERSHIP sur la politique de mot de passe) et est chargé de définir la politique de mot de passe sur un compte ou un utilisateur (c’est-à-dire qu’il dispose du privilège global APPLY PASSWORD POLICY, comme indiqué dans l’étape 2).

Note

Pour définir une politique sur un compte, le rôle personnalisé policy_admin doit également disposer du privilège USAGE sur la base de données et le schéma qui contiennent la politique de mot de passe.

Pour plus d’informations, voir : Privilèges de contrôle d’accès

Étape 1 : créer le rôle personnalisé

Créez un rôle personnalisé qui permet de créer et de gérer les politiques de mots de passe. Dans cette rubrique, l’exemple de rôle personnalisé est nommé policy_admin, bien que le rôle puisse avoir n’importe quel nom approprié.

Si le rôle personnalisé existe déjà, passez à l’étape suivante.

Sinon, créez le rôle personnalisé policy_admin.

USE ROLE USERADMIN;

CREATE ROLE policy_admin;
Copy

Étape 2 : accorder des privilèges au rôle personnalisé

Si le rôle personnalisé policy_admin ne dispose pas déjà des privilèges suivants, accordez ces privilèges comme indiqué ci-dessous :

  • USAGE sur la base de données et le schéma qui contiendront la politique de mot de passe.

  • CREATE PASSWORD POLICY sur le schéma qui stockera la politique de mot de passe.

  • APPLY PASSWORD POLICY sur le compte.

USE ROLE SECURITYADMIN;

GRANT USAGE ON DATABASE security TO ROLE policy_admin;

GRANT USAGE ON SCHEMA security.policies TO ROLE policy_admin;

GRANT CREATE PASSWORD POLICY ON SCHEMA security.policies TO ROLE policy_admin;

GRANT APPLY PASSWORD POLICY ON ACCOUNT TO ROLE policy_admin;
Copy

Si vous décidez de définir une politique de mot de passe sur un utilisateur, accordez-lui le privilège APPLY PASSWORD POLICY. Par exemple, si le nom d’utilisateur est JSMITH, exécutez la commande suivante.

GRANT APPLY PASSWORD POLICY ON USER jsmith TO ROLE policy_admin;
Copy

Pour plus d’informations, voir Résumé des commandes, des opérations et des privilèges DDL.

Étape 3 : accorder le rôle personnalisé à un utilisateur

Accordez le rôle personnalisé policy_admin aux utilisateurs responsables de la gestion des politiques de mot de passe.

USE ROLE SECURITYADMIN;
GRANT ROLE policy_admin TO USER jsmith;
Copy

Pour plus d’informations, voir Configuration du contrôle d’accès

Étape 4 : créer une politique de mot de passe

En utilisant le rôle personnalisé policy_admin, créez une politique de mot de passe nommée password_policy_prod_1. Pour plus d’informations, voir CREATE PASSWORD POLICY.

USE ROLE policy_admin;

USE SCHEMA security.policies;

CREATE PASSWORD POLICY PASSWORD_POLICY_PROD_1
    PASSWORD_MIN_LENGTH = 12
    PASSWORD_MAX_LENGTH = 24
    PASSWORD_MIN_UPPER_CASE_CHARS = 2
    PASSWORD_MIN_LOWER_CASE_CHARS = 2
    PASSWORD_MIN_NUMERIC_CHARS = 2
    PASSWORD_MIN_SPECIAL_CHARS = 2
    PASSWORD_MIN_AGE_DAYS = 1
    PASSWORD_MAX_AGE_DAYS = 999
    PASSWORD_MAX_RETRIES = 3
    PASSWORD_LOCKOUT_TIME_MINS = 30
    PASSWORD_HISTORY = 5
    COMMENT = 'production account password policy';
Copy

Note

La propriété PASSWORD_MAX_AGE_DAYS est définie sur la plus grande valeur, 999. Choisissez une valeur qui s’aligne sur vos directives internes. Pour plus de détails, voir CREATE PASSWORD POLICY.

Étape 5 : définir la politique de mot de passe sur le compte ou un utilisateur individuel

Définissez la politique sur un compte avec la commande ALTER ACCOUNT :

ALTER ACCOUNT SET PASSWORD POLICY security.policies.password_policy_prod_1;
Copy

Si vous décidez de créer une politique de mot de passe supplémentaire pour un ou plusieurs utilisateurs, définissez la politique de mot de passe de niveau utilisateur sur un utilisateur avec une commande ALTER USER :

ALTER USER jsmith SET PASSWORD POLICY security.policies.password_policy_user;
Copy

Important

Pour remplacer une politique de mot de passe déjà définie pour un compte ou un utilisateur, il faut d’abord la désactiver, puis définir la nouvelle politique de mot de passe pour le compte ou l’utilisateur. Par exemple :

ALTER ACCOUNT UNSET PASSWORD POLICY;

ALTER ACCOUNT SET PASSWORD POLICY security.policies.password_policy_prod_2;
Copy

Étape 6 : exiger un changement de mot de passe

Définissez la propriété MUST_CHANGE_PASSWORD sur TRUE pour les utilisateurs individuels en utilisant une instruction ALTER USER pour demander aux utilisateurs de changer leur mot de passe afin de respecter la politique de mot de passe lors de leur prochaine connexion à Snowflake.

ALTER USER JSMITH SET MUST_CHANGE_PASSWORD = true;
Copy

Étape 7 : répliquer la politique de mot de passe vers un compte cible

Une politique de mot de passe et ses références (c’est-à-dire les affectations à un utilisateur ou au compte) peuvent être répliquées du compte source au compte cible en utilisant la réplication de base de données et la réplication de compte. Pour plus de détails, reportez-vous à :

Gestion des politiques de mot de passe

Snowflake fournit l’ensemble suivant de privilèges et de DDL pour gérer les politiques de mots de passe :

Snowflake fournit les commandes DDL suivantes pour gérer les objets de politiques de mots de passe :

Notez que l’exploitation d’un objet dans un schéma requiert également le privilège USAGE sur la base de données et le schéma parents.

Privilège

Utilisation

CREATE PASSWORD POLICY

Permet de créer une nouvelle politique de mot de passe.

APPLY PASSWORD POLICY

Permet d’appliquer une politique de mot de passe au niveau du compte ou de l’utilisateur.

OWNERSHIP

Donne un contrôle total de la politique de mot de passe. Nécessaire pour modifier la plupart des propriétés d’une politique de mot de passe.

Résumé des commandes, des opérations et des privilèges DDL

Le tableau suivant résume la relation entre les opérations DDL de politique de mot de passe et leurs privilèges nécessaires.

Notez que l’exploitation d’un objet dans un schéma requiert également le privilège USAGE sur la base de données et le schéma parents.

Opération

Privilège requis

Créer une politique de mot de passe

Un rôle avec le privilège CREATE PASSWORD POLICY sur le schéma pour stocker la politique de mot de passe.

Modifier une politique de mot de passe

Un rôle avec le privilège OWNERSHIP sur la politique de mot de passe.

Supprimer une politique de mot de passe

Un rôle avec le privilège OWNERSHIP sur la politique de mot de passe.

Décrire la politique de mot de passe

Un rôle avec le privilège OWNERSHIP sur la politique de mot de passe ou . le privilège APPLY PASSWORD POLICY sur le compte.

Afficher les politiques de mot de passe

Un rôle avec le privilège OWNERSHIP sur la politique de mot de passe ou . le privilège APPLY PASSWORD POLICY sur le compte.

Définir et annuler une politique de mot de passe

Un rôle avec le privilège APPLY PASSWORD POLICY sur le compte ou l’utilisateur.

Rôles utilisateur

Snowflake utilise des rôles pour contrôler les objets (entrepôts virtuels, bases de données, tables, etc.) auxquels les utilisateurs peuvent accéder :

  • Snowflake fournit un ensemble de rôles prédéfinis, ainsi qu’un cadre pour définir une hiérarchie de rôles personnalisés.

  • Tous les utilisateurs de Snowflake se voient automatiquement attribuer le rôle prédéfini PUBLIC, qui permet de se connecter à Snowflake et d’accéder aux objets de base.

  • En plus du rôle PUBLIC, chaque utilisateur peut se voir attribuer des rôles supplémentaires, l’un de ces rôles étant désigné comme rôle par défaut. Le rôle par défaut d’un utilisateur détermine le rôle utilisé dans les sessions Snowflake initiées par l’utilisateur ; cependant, il ne s’agit que d’un rôle par défaut. Les utilisateurs peuvent modifier les rôles au sein d’une session à tout moment.

  • Les rôles peuvent être affectés lors de la création de l’utilisateur ou après.

Attention

Lorsque vous décidez des rôles supplémentaires à affecter à un utilisateur, ainsi que de leur rôle par défaut, tenez compte de ce qui suit pour le rôle prédéfini ACCOUNTADMIN (requis pour effectuer des tâches administratives au niveau du compte) :

  • Snowflake recommande de contrôler strictement l’assignation de ACCOUNTADMIN, mais recommande de l’assigner à au moins deux utilisateurs.

  • ACCOUNTADMIN ne devrait jamais être désigné comme rôle par défaut de l’utilisateur. Au lieu de cela, désignez un rôle administratif ou personnalisé de niveau inférieur comme rôle par défaut.

Pour plus de détails et pour connaître les meilleures pratiques relatives au rôle ACCOUNTADMIN, voir Remarques relatives au contrôle d’accès. Pour plus d’informations générales sur les rôles, voir Aperçu du contrôle d’accès.

Création d’utilisateurs

Vous pouvez créer un utilisateur en utilisant Snowsight, Classic Console ou SQL.

Note

L’interface Web, avec Classic Console ou Snowsight, exige que vous spécifiiez un mot de passe lorsque vous créez un utilisateur. La commande CREATE USER ne le fait pas.

Pour plus d’informations sur les mots de passe dans Snowflake, voir Politiques de mots de passe (dans cette rubrique)

Utilisation de Snowsight

  1. Connectez-vous à Snowsight.

  2. Sélectionnez Admin » Users & Roles.

  3. Sélectionnez + User.

  4. Dans le champ User Name, entrez un identifiant unique pour l’utilisateur. L’utilisateur utilise cet identificateur pour se connecter à Snowflake, sauf si vous spécifiez un nom de connexion.

  5. Indiquez éventuellement une adresse e-mail pour l’utilisateur dans le champ Email.

  6. Dans les champs Password et Confirm Password, entrez le mot de passe de l’utilisateur.

  7. Ajoutez éventuellement un commentaire expliquant pourquoi vous avez créé l’utilisateur.

  8. Laissez la case à cocher Force user to change password on first time login sélectionnée pour obliger l’utilisateur à modifier son mot de passe lorsqu’il se connecte.

  9. Sélectionnez éventuellement Advanced User Options pour spécifier des détails supplémentaires sur l’utilisateur :

    • Login Name à utiliser à la place de User Name lorsque vous vous connectez à Snowflake.

    • Display Name qui s’affiche après la connexion.

    • First Name et Last Name pour compléter le profil de l’utilisateur.

    • Default Role, Default Warehouse et Default Namespace.

  10. Sélectionnez Create User.

À l’aide de la console classique

  1. Sélectionnez Account Account tab » Users.

  2. Sélectionnez Create.

  3. Dans le champ User Name, entrez un identifiant unique pour l’utilisateur.

    Note

    Le nom d’utilisateur est l’identifiant unique de l’utilisateur dans Snowflake. Ce n’est pas le nom de connexion de l’utilisateur (c.-à-d. le nom que l’utilisateur entre lorsqu’il se connecte à Snowflake). Snowflake permet aux utilisateurs d’avoir différents noms d’utilisateur et noms de connexion, si désiré. Vous spécifiez un nom de connexion pour l’utilisateur dans l’écran suivant.

  4. Dans les champs Password et Confirm Password, entrez le mot de passe de l’utilisateur.

  5. Laissez la case Force Password Change cochée pour contraindre l’utilisateur à changer son mot de passe lors de sa prochaine connexion ; sinon, décochez la case.

  6. Sélectionnez Next. L’écran Advanced s’ouvre.

  7. Si vous le souhaitez, saisissez Login Name, Display Name et les informations personnelles de l’utilisateur.

    Note

    Les utilisateurs ont besoin d’un nom d’utilisateur pour ouvrir une session dans Snowflake ; si vous ne fournissez pas explicitement un nom d’utilisateur, Snowflake utilise leur nom d’utilisateur comme nom de connexion.

  8. Sélectionnez Next. L’écran Preferences s’ouvre.

  9. Si nécessaire, saisissez les valeurs par défaut pour l’utilisateur :

    • Entrepôt virtuel

    • Espace de noms sous la forme de db_name ou db_name.schema_name

    • Rôle

  10. Sélectionnez Finish. Snowflake affiche un message de réussite.

Utilisation de SQL

Utilisez la commande CREATE USER pour créer un utilisateur.

Important

Lorsque vous créez un utilisateur, si vous lui affectez un rôle par défaut, vous devez alors lui attribuer explicitement ce rôle. Par exemple :

CREATE USER janesmith PASSWORD = 'abc123' DEFAULT_ROLE = myrole MUST_CHANGE_PASSWORD = TRUE;

GRANT ROLE myrole TO USER janesmith;
Copy

Notez que la commande GRANT ROLE vous permet d’assigner plusieurs rôles à un seul utilisateur. L’interface Web ne prend pas actuellement en charge la même fonctionnalité.

Réinitialisation du mot de passe d’un utilisateur

Les administrateurs peuvent modifier le mot de passe d’un utilisateur via l’interface Web ou en utilisant SQL.

Utilisation de Snowsight

  1. Connectez-vous à Snowsight.

  2. Sélectionnez Admin » Users & Roles.

  3. Localisez l’utilisateur dont vous souhaitez modifier le mot de passe et sélectionnez More options » Reset Password.

  4. Saisissez un nouveau mot de passe pour l’utilisateur et confirmez le mot de passe.

  5. Sélectionnez Update.

À l’aide de la console classique

Note

Les utilisateurs ne peuvent changer leur propre mot de passe qu’avec Classic Console. Pour plus d’informations, voir Modification de votre mot de passe/changement de rôle (session)/déconnexion.

  1. Sélectionnez Account Account tab » Users.

  2. Cliquez sur une ligne d’utilisateur pour la sélectionner, puis sélectionnez Reset Password. La boîte de dialogue Reset Password s’ouvre.

  3. Entrez le nouveau mot de passe pour l’utilisateur, et confirmez le mot de passe.

  4. Laissez la case Force Password Change cochée pour contraindre l’utilisateur à changer son mot de passe lors de sa prochaine connexion ; sinon, décochez la case.

  5. Sélectionnez Finish.

Utilisation de SQL

Utilisez la commande ALTER USER pour entrer le mot de passe d’un utilisateur. Par exemple :

ALTER USER janesmith SET PASSWORD = 'H8MZRqa8gEe/kvHzvJ+Giq94DuCYoQXmfbb$Xnt' MUST_CHANGE_PASSWORD = TRUE;
Copy

Il est également possible d’utiliser la syntaxe ALTER USER … RESET PASSWORD pour générer une URL à partager avec l’utilisateur. L’URL ouvre une page Web sur laquelle l’utilisateur peut entrer le nouveau mot de passe. Par exemple :

ALTER USER janesmith RESET PASSWORD;
Copy

Note

  • L’URL générée n’est valide que pour une seule utilisation et expire après quatre heures.

  • L’exécution de l’instruction ALTER USER … RESET PASSWORD n’invalide pas le mot de passe actuel. L’utilisateur peut continuer à utiliser l’ancien mot de passe jusqu’à ce que le nouveau mot de passe soit défini.

Réinitialisation du mot de passe d’un administrateur

Un administrateur de compte (c’est-à-dire un utilisateur ayant le rôle ACCOUNTADMIN) peut réinitialiser son propre mot de passe en utilisant la procédure décrite dans Réinitialisation du mot de passe d’un utilisateur.

Si un administrateur de compte est bloqué, un autre utilisateur ayant le rôle ACCOUNTADMIN peut réinitialiser le mot de passe de l’administrateur bloqué. Dans le cas où l’administrateur est bloqué et qu’il n’y a pas d’autre administrateur pour modifier le mot de passe, contactez le support Snowflake pour réinitialiser le mot de passe.

Désactivation de la fonctionnalité de modification du mot de passe pour les utilisateurs

Les utilisateurs changent leur mot de passe Snowflake dans l’interface Web en cliquant sur le menu déroulant situé dans le coin supérieur droit (à côté du nom de connexion) » Change Password. La boîte de dialogue Select a New Password s’ouvre. La boîte de dialogue accepte le mot de passe actuel et le nouveau.

Vous pouvez éventuellement désactiver la possibilité pour les utilisateurs de votre compte de modifier leur propre mot de passe. Les administrateurs de compte peuvent continuer à modifier les mots de passe des utilisateurs à l’aide de l’interface Web sous Account Account tab » Users ou via SQL à l’aide de la commande ALTER USER.

Pour demander cette modification, contactez le support Snowflake.

Désactivation ou activation d’un utilisateur

La désactivation d’un utilisateur l’empêche de se connecter à Snowflake. Vous pouvez désactiver un utilisateur via l’interface Web ou en utilisant SQL.

Utilisation de Snowsight

  1. Connectez-vous à Snowsight.

  2. Sélectionnez Admin » Users & Roles.

  3. Localisez l’utilisateur que vous souhaitez désactiver et sélectionnez More options » Disable User.

  4. Dans la boîte de dialogue de confirmation qui s’ouvre, sélectionnez Disable.

Pour activer un utilisateur, suivez les mêmes étapes, mais cliquez sur Enable User.

À l’aide de la console classique

  1. Cliquez sur Account Account tab » Users.

  2. Cliquez sur une ligne de l’utilisateur pour la sélectionner, puis cliquez sur le bouton Disable User. Une boîte de dialogue de confirmation s’ouvre.

  3. Cliquez sur Yes pour désactiver l’utilisateur.

Pour activer un utilisateur, suivez les mêmes étapes, mais cliquez sur Enable User.

Utilisation de SQL

Utilisez la commande ALTER USER pour désactiver ou activer un utilisateur. Par exemple :

  • Désactiver un utilisateur :

    ALTER USER janesmith SET DISABLED = TRUE;
    
    Copy
  • Activer un utilisateur :

    ALTER USER janesmith SET DISABLED = FALSE;
    
    Copy

Déverrouillage d’un utilisateur

Si la connexion d’un utilisateur échoue après cinq tentatives consécutives, l’utilisateur ne peut plus tenter d’accéder à son compte pendant un certain temps (actuellement 15 minutes). Une fois la période de temps écoulée, le système supprime automatiquement le verrouillage, et l’utilisateur peut tenter de se connecter à nouveau.

Pour déverrouiller l’utilisateur avant que le temps soit écoulé, vous pouvez réinitialiser la minuterie en utilisant la commande ALTER USER.

L’exemple suivant réinitialise la minuterie à 0, ce qui déverrouille immédiatement l’utilisateur janesmith :

ALTER USER janesmith SET MINS_TO_UNLOCK= 0;
Copy

Astuce

Si un seul rôle a le privilège OWNERSHIP sur tous les utilisateurs de Snowflake, nous recommandons d’accorder le rôle à plusieurs utilisateurs. De cette façon, si un membre du rôle est verrouillé, un autre membre peut déverrouiller cet utilisateur.

Modification des paramètres de session pour un utilisateur

  • Pour afficher les paramètres de session d’un utilisateur, utilisez la syntaxe SQL suivante :

    SHOW PARAMETERS [ LIKE '<pattern>' ] FOR USER <name>
    
    Copy
  • Pour modifier les paramètres de session d’un utilisateur, utilisez la syntaxe suivante :

    ALTER USER <name> SET <session_param> = <value>
    
    Copy

    Par exemple, permettez à un utilisateur de rester connecté à Snowflake indéfiniment et sans temps mort :

    ALTER USER janesmith SET CLIENT_SESSION_KEEP_ALIVE = TRUE;
    
    Copy
  • Pour rétablir la valeur par défaut d’un paramètre de session pour un utilisateur, utilisez la syntaxe suivante :

    ALTER USER <name> UNSET <session_param>
    
    Copy

Modification d’autres propriétés de l’utilisateur

Vous pouvez modifier toutes les autres propriétés de l’utilisateur en utilisant la commande ALTER USER. Par exemple :

  • Remplacer le nom de famille de l’utilisateur janesmith par Jones :

    ALTER USER janesmith SET LAST_NAME = 'Jones';
    
    Copy
  • Définir ou modifier l’entrepôt, l’espace de noms, le rôle primaire et les rôles secondaires par défaut pour l’utilisateur janesmith :

    ALTER USER janesmith SET DEFAULT_WAREHOUSE = mywarehouse DEFAULT_NAMESPACE = mydatabase.myschema DEFAULT_ROLE = myrole DEFAULT_SECONDARY_ROLES = ('ALL');
    
    Copy

Affichage des utilisateurs

Vous pouvez afficher des informations sur les utilisateurs en utilisant SQL.

Utilisez les commandes DESCRIBE USER ou SHOW USERS pour afficher des informations sur un ou plusieurs utilisateurs.

Par exemple :

DESC USER janeksmith;
Copy

Suppression d’un utilisateur

La destruction (ou suppression) d’un utilisateur supprime les informations d’identification de l’utilisateur de Snowflake.

Prudence

Lorsque vous supprimez un utilisateur, les feuilles de calcul et les tableaux de bord appartenant à cet utilisateur sont également supprimés.

Pour conserver l’accès aux feuilles de calcul appartenant à un utilisateur, vous avez deux options :

Les objets créés par l’utilisateur, tels que les tables ou les vues, ne sont pas supprimés car ils appartiennent au rôle actif de l’utilisateur au moment de leur création. Un autre utilisateur affecté au même rôle ou à un rôle supérieur dans la hiérarchie de rôles peut gérer les objets ou transférer la propriété à un autre rôle.

Utilisation de Snowsight

  1. Connectez-vous à Snowsight.

  2. Sélectionnez Admin » Users & Roles.

  3. Localisez l’utilisateur que vous souhaitez désactiver et sélectionnez More options » Drop.

  4. Dans la boîte de dialogue de confirmation qui s’ouvre, sélectionnez Drop User.

À l’aide de la console classique

  1. Sélectionnez Account Account tab » Users.

  2. Cliquez sur une ligne d’utilisateur pour la sélectionner, puis sélectionnez Drop. Une boîte de dialogue de confirmation s’ouvre.

  3. Cliquez sur Yes pour supprimer l’utilisateur.

Utilisation de SQL

Utilisez la commande DROP USER pour détruire un utilisateur.

DROP USER janesmith;
Copy