GENERATE_POSTGRES_ACCESS_TOKEN_FOR_USER

GENERATE_POSTGRES_ACCESS_TOKEN_FOR_USER (Postgres 접근 토큰 생성)

AUTHENTICATION_AUTHORITY 속성이 POSTGRES_OR_SNOWFLAKE로 설정된 Snowflake Postgres 인스턴스에 로그인할 때 Snowflake 사용자가 비밀번호로 사용할 단기(short-lived) 접근 토큰을 생성해요.

출처: Snowflake SQL Reference - GENERATE_POSTGRES_ACCESS_TOKEN_FOR_USER

본문

이 함수로 생성된 단기 접근 토큰은 15분의 수명을 가져요. 만료되면 더 이상 Snowflake Postgres 인스턴스에 대한 새 연결을 설정하는 데 사용할 수 없어요.

자세한 내용은 Snowflake Postgres용 Snowflake 토큰 인증(Snowflake Token Authentication for Snowflake Postgres)을 참고하세요.

구문

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

인자

snowflake_postgres_instance_name

단기 접근 토큰을 생성할 Snowflake Postgres 인스턴스 이름을 지정해요. 주어진 인스턴스가 존재하지 않거나, 실행 사용자가 인스턴스에 대한 소유권(ownership) 또는 USAGE 권한이 없으면 함수 실행이 실패해요.

이 인자는 대소문자를 구분하지 않아요. 대소문자 구분이 필요하면 큰따옴표를 사용하세요.

postgres_username

단기 접근 토큰을 생성할 Postgres 사용자 이름을 지정해요. 이 인자는 검증되지 않아서, 존재하지 않거나 Snowflake 사용자에 매핑되지 않은 Postgres 사용자에 대해 사용할 수 없는 토큰을 만들 수 있어요. 이후 매핑이 생성되면 유효한 토큰은 사용할 수 있게 돼요.

이 인자는 대소문자를 구분해요.

반환 값

15분 수명을 가진 단기 접근 토큰을 반환해요.

접근 제어 요구 사항

주어진 Snowflake Postgres 인스턴스에 대해 이 함수는 인스턴스의 소유자 또는 인스턴스에 대한 USAGE 권한을 부여받은 사용자만 실행할 수 있어요.

예시

Snowflake 사용자 Casey는 reporting_server에 reporting_user라는 Postgres 사용자로 로그인할 때 사용할 단기 접근 토큰을 생성할 수 있어요.

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

인스턴스 이름이 Reporting_server처럼 대소문자를 구분해 생성되었다면 인스턴스 이름에 큰따옴표가 필요해요.

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

더 알아보기