파트너 애플리케이션용 Snowflake OAuth 구성하기

이 항목에서는 지원되는 Snowflake 파트너 애플리케이션을 위한 Snowflake로의 Snowflake OAuth 액세스를 구성하는 방법을 설명합니다. 이 프로세스에서는 Snowflake와 서드 파티 애플리케이션 또는 서비스 사이의 인터페이스를 정의하는 일급 Snowflake 오브젝트인 통합을 생성해야 합니다.

중요

서드 파티 애플리케이션을 사용하여 Snowflake에 연결하는 경우, Snowflake는 애플리케이션에서 사용되는 통합 흐름이 내부 보안 요구 사항을 충족하는지 확인하는 것을 권장합니다. 이 기능을 위해 사용되는 엔드 투 엔드 흐름에 대한 자세한 내용은 파트너에 직접 문의하십시오.

참고

Snowflake OAuth에서는 세션 내 역할을 보조 역할로 전환하는 기능이 지원되지 않습니다.

이 동작이 OAuth 워크플로에 필요한 경우 외부 OAuth를 대신 사용하십시오.

자세한 내용은 External OAuth가 포함된 보조 역할 사용하기 섹션을 참조하십시오.

현재 Snowflake OAuth에서 지원하는 애플리케이션은 다음과 같습니다.

클라이언트

필수 클라이언트 버전

클라이언트 타입

Tableau Desktop / Server / Online 1

2019.1 이상

공용

Looker 2

6.20 이상

Alation

Alation 설명서 참조

ThoughtSpot

ThoughtSpot 설명서 참조

Collibra

Collibra 설명서 참조

1

Tableau Server가 Snowflake 서비스에 비공개 연결을 사용하여 Snowflake에 연결하는 경우 파트너 애플리케이션용으로 설계된 통합이 아닌 사용자 지정 보안 통합을 사용해야 합니다. 지침은 사용자 지정 클라이언트용 Snowflake OAuth 구성하기 섹션을 참조하십시오. Tableau Desktop은 파트너 애플리케이션에서 비공개 URL을 사용하는지 여부에 관계없이 파트너 애플리케이션 통합을 계속 사용합니다.

2

Looker는 Looker에서 호스팅되는 인스턴스가 공용 인터넷에 액세스할 수 있는 경우에만 OAuth를 지원합니다. 이러한 제한 사항은 고객이 호스팅하는 Looker 구현(즉, 온프레미스 구현)에는 적용되지 않음에 유의하십시오. Snowflake 서비스에 비공개 연결을 사용하는 고객이 OAuth와 Looker를 Snowflake와 함께 사용하려고 하면 문제가 발생할 수 있습니다. 질문이 있거나 자세한 내용은 Looker에 문의하십시오.

이 항목의 내용:

Snowflake OAuth 통합 구성하기

CREATE SECURITY INTEGRATION 명령을 사용하여 통합을 생성합니다. 통합은 Snowflake OAuth를 지원하는 클라이언트와 같이 Snowflake와 서드 파티 서비스 간의 인터페이스를 제공하는 Snowflake 오브젝트입니다.

참고

계정 관리자(즉, ACCOUNTADMIN 시스템 역할의 사용자) 또는 전역 CREATE INTEGRATION 권한이 있는 역할만 이 SQL 명령을 실행할 수 있습니다.

CREATE [ OR REPLACE ] SECURITY INTEGRATION [ IF NOT EXISTS ]
  <name>
  TYPE = OAUTH
  ENABLED = { TRUE | FALSE }
  OAUTH_CLIENT = <partner_application>
  oauthClientParams
  [ COMMENT = '<string_literal>' ]
Copy

여기서:

oauthClientParams

oauthClientParams ::=
  [ OAUTH_ISSUE_REFRESH_TOKENS = TRUE | FALSE ]
  [ OAUTH_REFRESH_TOKEN_VALIDITY = <integer> ]
  [ BLOCKED_ROLES_LIST = ('<role_name>', '<role_name>') ]
Copy

통합 사용에서 특정 역할 차단하기

선택적 BLOCKED_ROLES_LIST 매개 변수를 사용하면 통합과 함께 사용하여 사용자가 명시적으로 동의할 수 없는 Snowflake 역할을 나열할 수 있습니다.

기본적으로 ACCOUNTADMIN, SECURITYADMIN 및 ORGADMIN 역할은 이 목록에 포함되며 제거할 수 없습니다. 사용자에게 이러한 역할로 Snowflake OAuth를 사용해야 하는 작업이 있고 보안 팀이 이를 허용하는 경우, Snowflake 지원 에 문의하여 계정에서 이러한 역할을 허용하도록 요청하십시오.

로그인 빈도 제어하기

사용자의 로그인이 성공하면 파트너 애플리케이션은 발급된 새로 고침 토큰을 사용하여 새로운 일시적 액세스 토큰을 요청할 수 있으며 새로 고침 토큰이 만료될 때까지 사용자에게 로그인 프로세스를 다시 수행하라는 메시지를 표시하지 않습니다. 선택 사항 OAUTH_REFRESH_TOKEN_VALIDITY 매개 변수는 새로 고침 토큰이 유효한 기간(초)을 지정합니다. 이 설정을 통해 새로 고침 토큰이 주기적으로 만료되어 사용자는 로그인 프로세스를 반복할 수 있습니다.

OAUTH_REFRESH_TOKEN_VALIDITY 매개 변수에서 지원되는 최소, 최대 및 기본 값은 다음과 같습니다.

애플리케이션

최소값

최대값

기본값

Tableau Desktop

60 (1분)

36000 (10시간)

36000 (10시간)

Tableau Server 또는 Tableau Online

60 (1분)

7776000 (90일)

7776000 (90일)

최소값을 줄이거나 최대값을 증가해야 할 작업이 있는 경우 Snowflake 지원 에 문의하여 계정을 변경하도록 요청하십시오.

파트너 애플리케이션을 위해 Snowflake OAuth에서 클라이언트 리디렉션 사용하기

Snowflake는 지원되는 Snowflake 클라이언트에서 클라이언트 리디렉션과 Snowflake OAuth 사용을 포함하여, 파트너 애플리케이션을 위해 Snowflake OAuth에서의 클라이언트 리디렉션 사용을 지원합니다.

자세한 내용은 클라이언트 연결 리디렉션하기 섹션을 참조하십시오.

네트워크 정책 관리하기

Snowflake는 Snowflake OAuth를 위한 네트워크 정책을 지원합니다. 자세한 내용은 네트워크 정책 섹션을 참조하십시오.

Tableau Desktop

다음은 기본 설정을 사용하여 Snowflake OAuth 통합을 만드는 예입니다.

CREATE SECURITY INTEGRATION td_oauth_int1
  TYPE = OAUTH
  ENABLED = TRUE
  OAUTH_CLIENT = TABLEAU_DESKTOP;
Copy

DESCRIBE INTEGRATION 을 사용하여 통합 설정 보기:

DESC SECURITY INTEGRATION td_oauth_int1;
Copy

다음은 10시간(36,000초) 후에 만료되는 새로 고침 토큰으로 Snowflake OAuth 통합을 만드는 예입니다. 통합은 사용자가 SYSADMIN을 활성 역할로 세션을 시작하지 못하도록 차단합니다.

CREATE SECURITY INTEGRATION td_oauth_int2
  TYPE = OAUTH
  ENABLED = TRUE
  OAUTH_REFRESH_TOKEN_VALIDITY = 36000
  BLOCKED_ROLES_LIST = ('SYSADMIN')
  OAUTH_CLIENT = TABLEAU_DESKTOP;
Copy

Tableau Server 또는 Tableau Online

다음은 기본 설정을 사용하여 Snowflake OAuth 통합을 만드는 예입니다.

CREATE SECURITY INTEGRATION ts_oauth_int1
  TYPE = OAUTH
  ENABLED = TRUE
  OAUTH_CLIENT = TABLEAU_SERVER;
Copy

DESCRIBE INTEGRATION 을 사용하여 통합 설정 보기:

DESC SECURITY INTEGRATION ts_oauth_int1;
Copy

다음은 1일(86,400초) 후에 만료되는 새로 고침 토큰으로 Snowflake OAuth 통합을 만드는 예입니다. 통합은 사용자가 SYSADMIN을 활성 역할로 세션을 시작하지 못하도록 차단합니다.

CREATE SECURITY INTEGRATION ts_oauth_int2
  TYPE = OAUTH
  ENABLED = TRUE
  OAUTH_CLIENT = TABLEAU_SERVER
  OAUTH_REFRESH_TOKEN_VALIDITY = 86400
  BLOCKED_ROLES_LIST = ('SYSADMIN');
Copy

파트너 애플리케이션에서 Snowflake에 로그인하기

Tableau

Snowflake OAuth를 사용하여 Snowflake에 연결하려면 Tableau가 제공하는 지침 을 따르십시오.

중요

현재 Tableau 애플리케이션은 사용자에 대한 기본 역할만을 인증하거나 기본 역할이 설정되지 않은 경우 PUBLIC 역할을 세션에 대한 활성 역할로 사용할 수 있습니다.

Looker

Snowflake OAuth를 사용하여 Snowflake에 연결하려면 Looker가 제공하는 단계 를 따르십시오.

Alation

Alation Community 에 액세스하고 Snowflake OAuth를 사용하여 Snowflake에 연결하려면 Alation에서 제공하는 지침을 따르십시오.

ThoughtSpot

ThoughtSpot 설명서 에 액세스하여 Snowflake에 대한 연결을 생성하기 위한 지침을 따르십시오. 여기에는 Snowflake OAuth 를 구성하는 방법에 대한 단계가 포함됩니다.

Collibra

Collibra 설명서 에 액세스하고 Snowflake OAuth를 사용하여 Snowflake에 연결하려면 Collibra에서 제공하는 지침을 따르십시오.

오류 코드

인증 흐름, 토큰 요청 또는 교환 중 또는 OAuth 흐름 완료 후 Snowflake 세션 생성 시 OAuth와 관련된 오류 코드 목록 및 JSON blob에 반환된 오류에 대해서는 오류 코드 를 참조하십시오.