ALTER USER … ADD PROGRAMMATIC ACCESS TOKEN (PAT)

Crée un jeton d’accès programmatique pour un utilisateur.

Voir aussi :

ALTER USER … MODIFY PROGRAMMATIC ACCESS TOKEN (PAT) , ALTER USER … ROTATE PROGRAMMATIC ACCESS TOKEN (PAT) , ALTER USER … REMOVE PROGRAMMATIC ACCESS TOKEN (PAT) , SHOW USER PROGRAMMATIC ACCESS TOKENS

Syntaxe

ALTER USER [ IF EXISTS ] [ <username> ] ADD { PROGRAMMATIC ACCESS TOKEN | PAT } <token_name>
  [ ROLE_RESTRICTION = '<string_literal>' ]
  [ DAYS_TO_EXPIRY = <integer> ]
  [ MINS_TO_BYPASS_NETWORK_POLICY_REQUIREMENT = <integer> ]
  [ COMMENT = '<string_literal>' ]
Copy

Paramètres requis

ADD { PROGRAMMATIC ACCESS TOKEN | PAT } token_name

Crée un jeton d’accès programmatique avec le nom spécifié.

Vous pouvez utiliser le mot-clé PAT comme moyen plus court pour spécifier les mots-clés PROGRAMMATIC ACCESS TOKEN.

Paramètres facultatifs

username

Le nom de l’utilisateur auquel le jeton est associé. Un utilisateur ne peut pas utiliser le jeton d’accès programmatique d’un autre utilisateur pour s’authentifier.

Pour créer des jetons d’accès programmatiques au nom d’un utilisateur, les administrateurs doivent spécifier le nom de cet utilisateur dans la commande ALTER USER.

Si username est omis, la commande génère un jeton d’accès programmatique pour l’utilisateur actuellement connecté (l’utilisateur actif de cette session).

ROLE_RESTRICTION = 'string_literal'

Nom du rôle utilisé pour l’évaluation des privilèges et la création d’objets. Il doit s’agir d’un des rôles qui ont déjà été accordés à l’utilisateur.

Note

Ce paramètre est exigé si l’utilisateur est un utilisateur de service (si l’objet USER a pour valeur TYPE=SERVICE).

Lorsque vous utilisez ce jeton pour l’authentification, tous les objets que vous créez appartiennent à ce rôle, et ce rôle est utilisé pour l’évaluation des privilèges.

Note

Les rôles secondaires ne sont pas utilisés, même si DEFAULT_SECONDARY_ROLES est défini sur (“ALL”) pour l’utilisateur.

Si ce rôle est révoqué pour l’utilisateur associé au jeton d’accès programmatique, toute tentative d’utilisation du jeton à des fins d’authentification échouera.

Note

La spécification d’un rôle en tant que valeur de ROLE_RESTRICTION n’accorde pas le rôle spécifié au jeton d’accès programmatique. L’utilisateur doit déjà s’être vu attribuer ce rôle.

Si vous omettez ROLE_RESTRICTION, tous les objets que vous créez appartiennent à votre rôle principal et les privilèges sont évalués en fonction de vos rôles principal et secondaire (comme expliqué dans Autorisation par le biais d’un rôle primaire et de rôles secondaires).

DAYS_TO_EXPIRY = integer

Nombre de jours pendant lesquels le jeton d’accès programmatique peut être utilisé pour l’authentification.

Vous pouvez spécifier une valeur allant de 1 à la durée maximale d’expiration.

Par défaut : 15

MINS_TO_BYPASS_NETWORK_POLICY_REQUIREMENT = integer

Nombre de minutes pendant lesquelles un utilisateur peut utiliser ce jeton pour accéder à Snowflake sans être soumis à une politique réseau active.

Vous pouvez définir ce paramètre pour le jeton d’une personne (si l’objet USER a pour valeur TYPE=PERSON) si cette personne n’est pas soumise à une politique réseau mais doit utiliser un jeton d’accès programmatique pour l’authentification. Voir Exigences en matière de politique réseau.

Note

Définir le paramètre MINS_TO_BYPASS_NETWORK_POLICY_REQUIREMENT ne permet pas aux utilisateurs de contourner la politique réseau elle-même.

Il peut être défini sur une valeur comprise entre 1 et 1440 (1 jour).

Par défaut : 0

COMMENT = 'string_literal'

Commentaire descriptif sur le jeton d’accès au programme. Ce commentaire est affiché dans la liste des jetons d’accès programmatiques dans Snowsight.

Exigences en matière de contrôle d’accès

Un rôle utilisé pour exécuter cette opération doit au minimum disposer des privilèges suivants :

Privilège

Objet

Remarques

MODIFY PROGRAMMATIC AUTHENTICATION METHODS

Utilisateur

Exigé uniquement lors de la génération d’un jeton d’accès programmatique pour un utilisateur autre que vous-même.

Pour obtenir des instructions sur la création d’un rôle personnalisé avec un ensemble spécifique de privilèges, voir Création de rôles personnalisés.

Pour des informations générales sur les rôles et les privilèges accordés pour effectuer des actions SQL sur des objets sécurisables, voir Aperçu du contrôle d’accès.

Sortie

La sortie de la commande fournit des informations sur le jeton d’accès programmatique nouvellement généré dans les colonnes suivantes :

Colonne

Description

token_name

Nom du jeton généré.

token_secret

Le jeton lui-même. Utilisez cette option pour vous authentifier auprès d’un point de terminaison.

Note

Le jeton n’apparaît que dans la sortie de la commande ALTER USER … ADD PROGRAMMATIC ACCESS TOKEN. Aucune autre commande ou fonction SQL n’imprime ou ne renvoie le jeton.

Si vous avez besoin d’accéder à ce jeton de manière programmatique, vous pouvez utiliser Snowflake Scripting pour exécuter cette commande et récupérer le jeton à partir de RESULTSET.

Notes sur l’utilisation

  • Chaque utilisateur peut disposer d’un maximum de 15 jetons d’accès programmatique.

Exemples

Créez un jeton d’accès programmatique nommé example_token qui est associé à l’utilisateur example_user, et qui hérite de tous les privilèges de l’utilisateur associé :

ALTER USER IF EXISTS example_user ADD PROGRAMMATIC ACCESS TOKEN example_token
  COMMENT = 'a reference example';
Copy

Créez un jeton d’accès programmatique nommé example_token qui est associé à l’utilisateur example_user, hérite de tous les privilèges du rôle example_role et expire après 15 jours :

ALTER USER IF EXISTS example_user ADD PROGRAMMATIC ACCESS TOKEN example_token
  ROLE_RESTRICTION = 'example_role'
  DAYS_TO_EXPIRY = 15;
Copy