Snowflake Open Catalog의 External OAuth 개요

Snowflake Open Catalog의 External OAuth 개요

일반적으로 사용 가능(GA) — 정부 리전에서는 사용할 수 없어요.

이 주제는 Snowflake Open Catalog에 접근하기 위해 OAuth 2.0을 사용하는 External OAuth 서버를 구성하는 방법을 알려줘요.

출처: Overview of External OAuth in Snowflake Open Catalog

본문

External OAuth는 고객의 OAuth 2.0 서버를 통합해 원활한 SSO 환경을 제공하며, 이를 통해 쿼리 엔진이 Open Catalog에 접근할 수 있게 해요.

Open Catalog는 다음 외부 인가 서버를 지원해요:

  • Auth0
  • Microsoft Entra ID
  • Okta

사용 사례 및 이점

  1. Open Catalog는 토큰 발급을 전담 인가 서버에 위임해 OAuth 클라이언트와 사용자가 제대로 인증되도록 보장해요. 그 결과 Open Catalog에 발급된 토큰의 중앙 집중식 관리가 이루어져요.
  2. 클라이언트는 브라우저 접근 없이 Snowflake에 인증할 수 있어 External OAuth 서버와의 통합을 쉽게 할 수 있어요.

일반 워크플로

지원되는 각 ID 제공자에 대해 External OAuth 인가 서버와 관련된 OAuth 워크플로는 다음과 같이 요약할 수 있어요. 첫 단계는 한 번만 발생하고 나머지 단계는 Open Catalog 데이터에 접근하려는 각 시도마다 발생한다는 점에 유의하세요.

  1. 환경에서 External OAuth 인가 서버를 구성하고 Open Catalog의 보안 통합을 구성해 신뢰를 구축해요.
  2. 서비스 주체가 클라이언트 애플리케이션을 통해 Open Catalog 데이터에 접근을 시도하고, 애플리케이션은 서비스 주체를 검증하려고 해요.
  3. 검증 시 인가 서버는 JWT(JSON Web Token, 즉 OAuth 토큰)를 쿼리 엔진으로 보내요.
  4. Open Catalog 드라이버는 OAuth 토큰이 포함된 연결 문자열을 Open Catalog로 전달해요.
  5. Open Catalog는 OAuth 토큰을 검증해요.
  6. Open Catalog는 서비스 주체 조회를 수행해요.
  7. 검증 시 Open Catalog는 서비스 주체의 역할에 기반해 Open Catalog의 데이터에 접근할 수 있도록 서비스 주체를 위한 세션을 인스턴스화해요.

더 알아보기