Snowflake Open Catalog의 외부 OAuth 개요

이 항목에서는 Snowflake Open Catalog에 액세스하기 위해 OAuth 2.0을 사용하는 External OAuth 서버를 구성하는 방법을 설명합니다.

외부 OAuth는 고객의 OAuth 2.0 서버를 통합하여 쿼리 엔진이 Open Catalog에 액세스할 수 있는 원활한 SSO 환경을 제공합니다.

Open Catalog는 다음과 같은 외부 인증 서버를 지원합니다.

  • Auth0

  • Microsoft Entra ID

  • Okta

사용 사례 및 이점

  1. Open Catalog는 전용 인증 서버에 토큰 발급을 위임하여 OAuth 클라이언트 및 사용자가 올바르게 인증할 수 있도록 합니다. 따라서 Open Catalog로 발급된 토큰을 중앙 집중식으로 관리할 수 있습니다.

  2. 클라이언트는 브라우저에 액세스하지 않고 Snowflake에 인증할 수 있어, 외부 OAuth 서버를 사용한 편리한 통합이 가능합니다.

일반 워크플로

지원되는 각 ID 공급자에 대해, 외부 OAuth 인증 서버와 관련된 OAuth 워크플로는 다음과 같이 요약할 수 있습니다. 첫 번째 단계는 한 번만 발생하며 나머지 단계는 Open Catalog 데이터에 액세스를 시도할 때마다 발생한다는 점에 유의하세요.

Snowflake Open Catalog의 외부 OAuth에 대한 일반 워크플로를 보여주는 다이어그램

  1. 사용자 환경에서 외부 OAuth 인증 서버를 구성하고 Open Catalog에서 보안 통합을 구성하여 신뢰 관계를 수립합니다.

  2. 서비스 주체는 클라이언트 애플리케이션을 통해 Open Catalog 데이터에 액세스하려고 시도하고, 애플리케이션은 서비스 주체를 확인하려고 시도합니다.

  3. 확인하면 인증 서버는 JSON 웹 토큰(즉, OAuth 토큰)을 클라이언트 애플리케이션으로 전송합니다.

  4. Open Catalog 드라이버는 OAuth 토큰을 사용하여 Open Catalog에 연결 문자열을 전달합니다.

  5. Open Catalog는 OAuth 토큰의 유효성을 검사합니다.

  6. Open Catalog는 서비스 주체 조회를 수행합니다.

  7. 확인하면 Open Catalog는 서비스 주체가 역할에 따라 Open Catalog의 데이터에 액세스할 수 있도록 세션을 인스턴스화합니다.