Snowflake OAuth 개요¶
Snowflake OAuth에서는 Snowflake의 기본 제공 OAuth 서비스를 사용하여 OAuth 기반 인증을 제공합니다.
이 항목에서는 Snowflake OAuth와 Snowflake를 OAuth 리소스 및 Snowflake 데이터에 안전하게 액세스하기 위한 인증 서버로 사용하는 방법에 대해 설명합니다.
Snowflake OAuth에서는 Snowflake에서 기본으로 제공되는 OAuth 서비스를 사용하고 다음 애플리케이션을 지원합니다.
파트너 애플리케이션¶
지원을 구성하려면 파트너 애플리케이션용 Snowflake OAuth 구성하기 섹션을 참조하십시오.
공용 인터넷을 통과하지 않고 OAuth를 사용하는 방법에 대해 알아보려면 파트너 애플리케이션 섹션을 참조하십시오.
사용자 지정 클라이언트¶
Snowflake는 조직에서 구성한 사용자 지정 클라이언트를 지원합니다. 지원을 구성하려면 사용자 지정 클라이언트용 Snowflake OAuth 구성하기 섹션을 참조하십시오.
네트워크 정책¶
전용 네트워크 정책은 Snowflake OAuth와만 통합할 수 있습니다. External OAuth 보안 통합은 별개의 네트워크 정책 설정을 지원하지 않지만, 전체 Snowflake 계정에 적용되는 일반 네트워크 정책을 계속 사용할 수 있습니다.
Snowflake OAuth 보안 통합에는 network_policy
매개 변수가 있으므로, 일반 사용자 액세스를 위해 이러한 IP 주소를 추가하지 않고 Snowflake OAuth 통합이 사용자를 인증하고 권한을 부여할 수 있습니다.
Snowflake OAuth 통합 고유의 네트워크 정책을 설정하면 Snowflake OAuth 네트워크 정책을 Snowflake 계정에 적용될 수 있는 다른 네트워크 정책과 구분할 수 있습니다. 그러므로 Snowflake OAuth 네트워크 정책을 사용하면 원하는 대로 사용자에 대한 인증 및 권한 부여를 수행할 수 있습니다.
Snowflake OAuth 통합에 적용된 네트워크 정책은 전체 Snowflake 계정에 적용된 네트워크 정책보다 우선하지만, 사용자에게 할당된 네트워크 정책보다는 우선 순위에서 밀립니다.
중요
사용자 또는 계정별로 네트워크 정책이 설정되고 다른 위치에서 실행되는 서비스(예: Microsoft Power BI Service)를 사용하는 경우에는 Snowflake에 연결할 수 없습니다.
Snowflake OAuth 보안 통합을 생성한 후 다음 명령을 사용하여 OAuth 네트워크 정책을 설정합니다.
ALTER SECURITY INTEGRATION <oauth_integration> SET NETWORK_POLICY = <oauth_network_policy>;
Snowflake OAuth 네트워크 정책의 설정을 해제하려면 다음 명령을 사용합니다.
ALTER SECURITY INTEGRATION <oauth_integration> UNSET <oauth_network_policy>;
여기서
<oauth_integration>
Snowflake OAuth 보안 통합의 이름을 지정합니다.
<oauth_network_policy>
Snowflake에 Snowflake OAuth 네트워크 정책을 지정합니다.
자세한 내용은 네트워크 정책으로 네트워크 트래픽 제어하기 및 ALTER SECURITY INTEGRATION 섹션을 참조하십시오.
오류 코드¶
Snowflake OAuth와 관련된 오류 코드에 대한 설명은 아래 표를 참조하십시오.
오류 코드 |
오류 |
설명 |
---|---|---|
390302 |
OAUTH_CONSENT_INVALID |
지정된 사용자에 대한 동의 생성 또는 유효성 검사 오류입니다. |
390303 |
OAUTH_ACCESS_TOKEN_INVALID |
Snowflake 세션을 생성할 때 사용되는 제공된 액세스 토큰이 만료되거나 유효하지 않습니다. |
390304 |
OAUTH_AUTHORIZE_INVALID_RESPONSE_TYPE |
유효하지 않은 |
390305 |
OAUTH_AUTHORIZE_INVALID_STATE_LENGTH |
인증 엔드포인트에 매개 변수로 제공된 상태 매개 변수의 길이가 2048자를 초과합니다. |
390306 |
OAUTH_AUTHORIZE_INVALID_CLIENT_ID |
제공된 클라이언트 ID와 연결된 통합이 없습니다. |
390307 |
OAUTH_AUTHORIZE_INVALID_REDIRECT_URI |
인증 엔드포인트에 매개 변수로 제공되된 |
390308 |
OAUTH_AUTHORIZE_INVALID_SCOPE |
요청된 범위가 유효한 범위가 아니거나 요청된 범위에 대한 모든 권한이 사용자에게 부여되지 않았습니다. |
390309 |
OAUTH_USERNAMES_MISMATCH |
인증을 시도한 사용자가 액세스 토큰과 연결된 사용자와 다릅니다. |
390311 |
OAUTH_AUTHORIZE_INVALID_CODE_CHALLENGE_PARAMS |
코드 챌린지 또는 코드 챌린지 메서드가 누락되거나 유효하지 않거나 지원되지 않습니다. |
또한, RFC에서 다음 오류를 가져와 실패한 토큰 요청 또는 교환 중에 생성된 JSON blob에 반환되었습니다.
오류 |
설명 |
---|---|
유효하지 않은_클라이언트 |
알 수 없는 클라이언트, 클라이언트 시크릿 불일치와 같은 클라이언트 인증과 관련된 실패가 발생했습니다. |
유효하지 않은_권한 부여 |
제공된 인증 권한 부여 또는 새로 고침 토큰이 유효하지 않거나 만료되었거나 취소되었거나 인증 요청에서 사용된 리디렉션 URI와 일치하지 않거나 다른 클라이언트로 발급되었습니다. |
지원되지 않는_권한_타입 |
Snowflake에서 현재 지원되지 않는 권한 타입이 제공되었습니다(“새로 고침_토큰” 및 “인증_코드”의 2개 권한 타입만 현재 지원됨). |
유효하지 않은_요청 |
요청의 형식이 잘못되었거나 요청을 처리할 수 없습니다. |