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');