GENERATE_POSTGRES_ACCESS_TOKEN_FOR_USER¶
Génère un jeton d’accès de courte durée pour un utilisateur Snowflake à utiliser comme mot de passe lors de la connexion à une instance Snowflake Postgres qui possède l’attribut AUTHENTICATION_AUTHORITY défini sur POSTGRES_OR_SNOWFLAKE.
Les jetons d’accès à courte durée de vie générés avec cette fonction ont une durée de vie de 15 minutes. Une fois expirés, ils ne peuvent plus être utilisés pour établir de nouvelles connexions à l’instance Snowflake Postgres.
Voir Authentification par jeton Snowflake pour Snowflake Postgres pour plus de détails.
Syntaxe¶
GENERATE_POSTGRES_ACCESS_TOKEN_FOR_USER('<snowflake_postgres_instance_name>', '<postgres_username>')
Arguments¶
snowflake_postgres_instance_nameSpécifie le nom de l’instance Snowflake Postgres pour laquelle le jeton d’accès de courte durée doit être généré. Si l’instance donnée n’existe pas ou si l’utilisateur exécutant n’est pas propriétaire de l’autorisation USAGE sur l’instance, l’exécution de la fonction échouera.
Cet argument est insensible à la casse. Utilisez des guillemets doubles si une sensibilité à la casse est nécessaire.
postgres_usernameSpécifie le nom d’utilisateur Postgres pour générer le jeton d’accès de courte durée. Cet argument n’est pas validé, ce qui permet de créer des jetons inutilisables pour les utilisateurs Postgres qui n’existent pas ou qui ne sont pas mappés à un utilisateur Snowflake. Les jetons valides seront utilisés si un mappage est créé ultérieurement.
Cet argument est sensible à la casse.
Renvoie¶
Renvoie un jeton d’accès à courte durée de vie de 15 minutes.
Exigences en matière de contrôle d’accès¶
L’exécution de cette fonction pour une instance donnée de Snowflake Postgres ne peut être effectuée que par le propriétaire de l’instance ou les utilisateurs disposant de l’autorisation USAGE.
Exemples¶
L’utilisateur Snowflake Casey peut générer un jeton d’accès à courte durée de vie à utiliser lors de la connexion au reporting_server avec un utilisateur Postgres nommé``reporting_user`` avec :
SELECT GENERATE_POSTGRES_ACCESS_TOKEN_FOR_USER('reporting_server', 'reporting_user');
Si le nom de l’instance a été créé en respectant la casse, comme``Reporting_server``, des guillemets doubles sont nécessaires pour le nom de l’instance :
SELECT GENERATE_POSTGRES_ACCESS_TOKEN_FOR_USER('"Reporting_server"', 'reporting_user');