GENERATE_POSTGRES_ACCESS_TOKEN_FOR_USER

AUTHENTICATION_AUTHORITY属性がPOSTGRES_OR_SNOWFLAKEに設定されているSnowflake Postgresインスタンスにログインするときに、Snowflakeユーザーがパスワードとして使用できる短期間のアクセストークンが生成されます。

この関数で生成された短期間のアクセストークンの有効期間は15分です。期限切れになると、Snowflake Postgresインスタンスへの新しい接続を確立するために使用できなくなります。

詳細については、 Snowflake Postgres向けのSnowflakeトークン認証 をご参照ください。

構文

GENERATE_POSTGRES_ACCESS_TOKEN_FOR_USER('<snowflake_postgres_instance_name>', '<postgres_username>')
Copy

引数

snowflake_postgres_instance_name

短期間のアクセストークンの生成対象となるSnowflake Postgresインスタンス名を指定します。指定されたインスタンスが存在しないか、実行ユーザーがインスタンスの所有権またはUSAGE権限を持っていない場合、関数の実行は失敗します。

この引数では大文字と小文字は区別されません。大文字と小文字の区別が必要な場合は、二重引用符を使用します。

postgres_username

短期間のアクセストークンの生成対象となるPostgresユーザー名を指定します。この引数は検証されません。このため、存在しないPostgresユーザーや、SnowflakeユーザーにマッピングされていないPostgresユーザーに対して、使用不可能なトークンを作成できてしまいます。ただし、マッピング設定を後から作成すると、有効なトークンであれば使用可能になります。

この引数では大文字と小文字が区別されます。

戻り値

有効期間が15分の短期間のアクセストークンを返します。

アクセス制御の要件

特定のSnowflake Postgresインスタンスに対するこの関数の実行は、インスタンスの所有者またはインスタンスのUSAGE権限を付与されたユーザーのみが実行できます。

SnowflakeユーザーのCaseyは、次のコマンドを使用して、``reporting_user``という名前のPostgresユーザーで``reporting_server``にログインする際に使用する短期間のアクセストークンを生成できます。

SELECT GENERATE_POSTGRES_ACCESS_TOKEN_FOR_USER('reporting_server', 'reporting_user');
Copy

インスタンス名が大文字と小文字を区別して``Reporting_server``として作成された場合、インスタンス名には二重引用符が必要です。

SELECT GENERATE_POSTGRES_ACCESS_TOKEN_FOR_USER('"Reporting_server"', 'reporting_user');
Copy