외부 OAuth용 Microsoft Entra ID 구성

외부 OAuth용 Microsoft Entra ID 구성 (Configure Microsoft Entra ID for External OAuth)

이 문서는 Snowflake 외부 OAuth를 위해 Microsoft Entra ID(구 Azure AD)를 구성하는 방법을 설명해요.

출처: Configure Microsoft Entra ID for External OAuth

본문

개요

Microsoft Entra ID는 Microsoft의 클라우드 ID 서비스예요. Snowflake 외부 OAuth를 Entra ID와 통합하면 Entra ID를 통해 인증된 사용자가 Snowflake에 접근할 수 있어요.

사전 요구 사항

  • Microsoft Entra ID 테넌트와 관리자 계정.
  • Entra ID에서 앱 등록(애플리케이션) 구성.
  • Snowflake에서 외부 OAuth 통합을 만들 권한.

Microsoft Entra ID에서 애플리케이션 등록

  1. Microsoft Entra ID 관리 센터에서 앱 등록(App registration)을 만듭니다.
  2. 애플리케이션의 클라이언트 ID(client ID/application ID)와 테넌트 ID를 확인합니다.
  3. 필요한 인증·인가 설정(예: 클라이언트 자격 증명)을 구성합니다.

Entra ID에서 클라이언트 자격 증명 생성

외부 OAuth(클라이언트 자격 증명 흐름)를 사용할 때는 애플리케이션에 대한 자격 증명(예: 클라이언트 시크릿 또는 인증서)을 생성해야 합니다. 이 자격 증명은 접근 토큰 요청에 사용돼요.

Snowflake에서 외부 OAuth 통합 만들기

Entra ID와 함께 사용할 외부 OAuth 통합을 만들어요. 엔터프라이즈 애플리케이션용과 커스텀 제공자용 두 가지 방식이 있어요.

엔터프라이즈 애플리케이션용 (AZURE)

CREATE SECURITY INTEGRATION azure_oauth
  TYPE = EXTERNAL_OAUTH
  ENABLED = TRUE
  EXTERNAL_OAUTH_TYPE = AZURE
  EXTERNAL_OAUTH_ISSUER = 'https://login.microsoftonline.com/<tenant-id>/v2.0'
  EXTERNAL_OAUTH_TOKEN_USER_MAPPING_CLAIM = 'upn'
  EXTERNAL_OAUTH_SNOWFLAKE_USER_MAPPING_ATTRIBUTE = 'login_name';

커스텀 제공자용 (CUSTOM for Azure)

Azure가 커스텀 OAuth 제공자로도 지원될 수 있어요. 이 경우 EXTERNAL_OAUTH_TYPE = CUSTOM으로 만들고 발급자, EXTERNAL_OAUTH_JWS_KEYS_URL(JWKS), 사용자 매핑 클레임을 지정해요. 자세한 내용은 커스텀 인증 서버 구성을 참고하세요.

역할 매핑

외부 OAuth 통합에 기본 역할을 지정해 토큰 인증 사용자에게 역할을 자동 부여할 수 있어요:

ALTER SECURITY INTEGRATION azure_oauth
  SET EXTERNAL_OAUTH_ISSUE_USER_ROLE_TO = 'ACCOUNTADMIN';

사용자 매핑

Entra ID 토큰의 매핑 클레임 값(예: upn, email)이 Snowflake 사용자의 해당 속성 값과 일치해야 해요.

고려 사항

  • Entra ID와 Snowflake 사용자 이름이 일치하도록 동기화가 필요해요.
  • 테넌트 ID·클라이언트 ID·시크릿은 안전하게 관리해야 해요.
  • 토큰 검증을 위해 발급자 URL과 공개 키(JWKS)가 올바르게 설정되어야 해요.

더 알아보기 (Learn more)