Snowflake Postgres용 Snowflake 토큰 인증

Snowflake를 통해 사용자는 Snowflake Postgres 인스턴스에 로그인하는 데 사용할 단기 액세스 토큰을 생성할 수 있습니다. 이는 인스턴스 수준에서 Snowflake 인증이라고 하며, 아래에서 확장된 다음 세 단계로 수행됩니다.

  1. Snowflake Postgres 인스턴스에 대한 Snowflake 인증을 활성화합니다.

  2. Snowflake Postgres 인스턴스에서 Postgres 사용자와 Snowflake 사용자 간의 매핑을 생성합니다.

  3. 그런 다음 매핑된 Snowflake 사용자는 Snowflake Postgres 인스턴스에 로그인할 때 사용할 단기 액세스 토큰을 생성합니다.

참고

Snowflake Postgres용 Snowflake 토큰 인증은 Snowflake OAuth프로그래밍 방식 액세스 토큰 Snowflake 인증 방법의 별도 기능입니다.

Snowflake Postgres 인스턴스에서 Snowflake 인증 활성화 및 비활성화하기

인스턴스 생성 시 Snowflake 인증을 활성화하려면 새 인스턴스를 생성 <postgres-create-instance>`할 때 Snowflake Postgres :ui:`New instance 대화 상자에서 Snowflake auth 옵션을 활성화합니다.

기존 인스턴스에 대한 Snowflake 인증을 활성화하거나 비활성화하려면 다음을 수행합니다.

  1. 탐색 메뉴에서 Postgres 를 선택합니다.

  2. 인스턴스를 선택합니다.

  3. 오른쪽 상단의 Manage 메뉴에서, 대시보드의 세부 정보 페이지에 있는 인스턴스의 Manage 드롭다운 메뉴에서 Enable Snowflake auth 또는 Disable Snowflake auth 옵션을 선택합니다.

  4. 표시된 확인 대화 상자에서 Enable 또는 :ui:`Disable`을 선택합니다.

중요

인스턴스에서 Snowflake 인증을 비활성화하면 Snowflake 사용자가 새로운 단기 액세스 토큰을 생성하는 것만 방지됩니다. 유효한 토큰이 있는 사용자는 토큰이 만료될 때까지 계속 새 연결을 설정할 수 있으며 기존 연결은 유지됩니다.

Snowflake 인증을 비활성화하면 Snowflake 사용자에게 매핑된 Postgres 사용자는 아래의 Postgres 사용자와 Snowflake 사용자 간의 매핑 생성하기 에 설명된 대로 매핑이 제거될 때까지 표준 Postgres 인증을 사용할 수 없습니다.

Postgres 사용자와 Snowflake 사용자 간의 매핑 생성하기

Postgres 사용자와 Snowflake 사용자 간의 매핑을 생성하려면 snowflake_admin 사용자로 Postgres 인스턴스에 로그인하고 다음을 실행합니다.

ALTER USER {postgres_user} SET snowflake_user = '{snowflake_user}';
Copy

위 문에 제공된 {postgres_user}{snowflake_user} 이름은 대/소문자를 구분하지 않고 읽습니다. 대/소문자를 구분해야 하는 경우 이름을 큰따옴표로 묶습니다. 예를 들어, 이름이 Casey인 Postgres 사용자를 동일한 이름의 Snowflake 사용자에 매핑하려면 다음을 수행합니다.

ALTER USER "Casey" SET snowflake_user = '"Casey"';
Copy

Postgres 사용자와 Snowflake 사용자 간의 매핑을 제거하려면 snowflake_admin 사용자로 Postgres 인스턴스에 로그인하고 다음을 실행합니다.

ALTER USER {postgres_user} RESET snowflake_user;
Copy

Postgres 사용자와 Snowflake 사용자 간의 기존 매핑을 확인하려면 snowflake_admin 사용자로 Postgres 인스턴스에 로그인하고 SNOWFLAKE_AUTH.IDENTITY_MAPPING Postgres 뷰 뷰를 쿼리합니다.

참고

Snowflake 사용자와 매핑된 Postgres 사용자는 생성된 단기 액세스 토큰으로만 로그인할 수 있습니다. Postgres 비밀번호로 연결할 수 없으며, Postgres 비밀번호를 변경할 수 없습니다. 지정된 Postgres 사용자에 대해 표준 비밀번호 로그인 기능을 다시 활성화하려면 Snowflake 사용자에 대한 매핑을 제거해야 합니다.

매핑된 Snowflake 사용자를 위한 단기 액세스 토큰 생성하기

지정된 인스턴스에 대한 USAGE 권한이 부여된 Snowflake Postgres 인스턴스 소유자 및 Snowflake 사용자는 Snowflake Postgres 인스턴스에서 Snowflake 인증 활성화 및 비활성화하기 의 위 지침에 따라 Snowflake 인증이 활성화된 인스턴스에 대해 인스턴스별로 단기 액세스 토큰 비밀번호를 직접 생성할 수 있습니다.

  1. 탐색 메뉴에서 Postgres 를 선택합니다.

  2. 인스턴스를 선택합니다.

  3. 오른쪽 상단의 Manage 메뉴에서 :ui:`Regenerate token`를 선택합니다.

  4. 표시된 Regenerate token 대화 상자에 Snowflake 사용자에게 매핑된 Postgres 사용자의 이름을 입력하고 :ui:`Acknowledge & continue`를 선택합니다.

  5. 표시된 단기 액세스 토큰 또는 Postgres URI를 복사하여 향후 15분 이내에 Snowflake Postgres 인스턴스에 대한 새 연결을 설정하는 데 사용합니다.

SNOWFLAKE_AUTH.IDENTITY_MAPPING Postgres 뷰

이 Snowflake Postgres 뷰는 인스턴스에서 Postgres 사용자와 Snowflake 사용자 간의 모든 매핑 목록을 쿼리하는 데 사용할 수 있습니다.

참고

이 뷰는 Snowflake Postgres 인스턴스 내에서만 쿼리할 수 있으며 Snowflake에서 직접 쿼리할 수 없습니다.

열 이름

데이터 타입

설명

postgres_role

이름

매핑된 Postgres 사용자의 이름

snowflake_identity

text

USER의 Snowflake 사용자 ID(# 형식)입니다. 여기서 #은 USERS 뷰 뷰에 표시된 매핑된 Snowflake 사용자의 user_id 값입니다.