커스텀 클라이언트용 Snowflake OAuth 구성
커스텀 클라이언트용 Snowflake OAuth 구성 (Configure Snowflake OAuth for custom clients)
이 문서는 커스텀 클라이언트(custom clients)를 위해 Snowflake OAuth를 구성하는 방법을 설명해요.
본문
개요
Snowflake OAuth는 Snowflake가 OAuth 제공자 역할을 하는 방식으로, 자체 개발한 애플리케이션(커스텀 클라이언트)이 사용자의 자격 증명 없이 Snowflake에 접근할 수 있게 해요.
커스텀 클라이언트에서 Snowflake OAuth를 사용하려면:
- 관리자가 클라이언트에 대해 접근 토큰을 발급해요.
- 클라이언트는 이 접근 토큰을 사용해 Snowflake에 연결해요.
사전 구성
Snowflake OAuth를 커스텀 클라이언트에 사용하기 위해 관리자는 다음을 결정해야 해요:
- 클라이언트에 부여할 접근 범위(scope).
- 관련 Snowflake 사용자 및 역할.
- 토큰 발급 방식 (접근 토큰, 필요 시 리프레시 토큰).
승인된 클라이언트 범위
Snowflake OAuth에서 클라이언트에 대한 접근 범위는 SESSION:ROLE 형태로 지정될 수 있어요. 예를 들어 특정 역할 세션을 사용하도록 승인할 수 있어요.
범위와 권한에 대한 자세한 내용은 OAuth 소개와 관련 SQL 레퍼런스를 참고하세요.
접근 토큰 발급
커스텀 클라이언트를 위한 접근 토큰은 관리자가 발급할 수 있어요. 토큰에는 사용자, 역할, 만료 시간 등의 정보가 포함돼요. 발급된 토큰을 애플리케이션 구성에 사용합니다.
커스텀 클라이언트에서 연결
발급받은 접근 토큰을 애플리케이션의 Snowflake 드라이버/커넥터에 제공해 연결합니다. 이때 사용자 비밀번호는 필요하지 않아요. 각 드라이버에서 OAuth 토큰을 인증 값으로 지정하는 방법은 해당 드라이버 문서를 참고하세요.
토큰 관리
- 접근 토큰은 만료될 수 있어요. 만료 시간을 확인하고 필요한 경우 갱신 방식을 구성하세요.
- 리프레시 토큰을 사용하면 만료된 접근 토큰을 자동으로 갱신할 수 있어요.
고려 사항
- 승인된 클라이언트와 역할 범위를 최소 권한 원칙에 따라 구성하는 것이 좋아요.
- 토큰은 민감한 정보이므로 안전하게 저장·전송해야 해요.
- 사용자 승인과 범위 관리는 OAuth 사용자 동의 관리를 참고하세요.