외부 OAuth용 Microsoft Entra ID 구성
외부 OAuth용 Microsoft Entra ID 구성 (Configure Microsoft Entra ID for External OAuth)
이 문서는 Snowflake 외부 OAuth를 위해 Microsoft Entra ID(구 Azure AD)를 구성하는 방법을 설명해요.
본문
개요
Microsoft Entra ID는 Microsoft의 클라우드 ID 서비스예요. Snowflake 외부 OAuth를 Entra ID와 통합하면 Entra ID를 통해 인증된 사용자가 Snowflake에 접근할 수 있어요.
사전 요구 사항
- Microsoft Entra ID 테넌트와 관리자 계정.
- Entra ID에서 앱 등록(애플리케이션) 구성.
- Snowflake에서 외부 OAuth 통합을 만들 권한.
Microsoft Entra ID에서 애플리케이션 등록
- Microsoft Entra ID 관리 센터에서 앱 등록(App registration)을 만듭니다.
- 애플리케이션의 클라이언트 ID(client ID/application ID)와 테넌트 ID를 확인합니다.
- 필요한 인증·인가 설정(예: 클라이언트 자격 증명)을 구성합니다.
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)가 올바르게 설정되어야 해요.