페더레이션 인증 및 SSO 개요

이 항목에서는 사용자 인증을 위한 페더레이션 환경을 구성하는 구성 요소와 Snowflake에서 지원하는 SSO(single sign-on) 워크플로에 대해 설명합니다.

이 항목의 내용:

페더레이션 환경이란 무엇입니까?

페더레이션 환경에서는 사용자 로그인 자격 증명을 독립적으로 인증하는 1개 이상의 외부 엔터티를 사용하여 사용자 인증과 사용자 액세스가 분리됩니다. 그러면 인증이 1개 이상의 서비스로 전달되어 사용자가 SSO를 통해 서비스에 액세스할 수 있습니다. 페더레이션 환경의 구성 요소는 다음과 같습니다.

  • 서비스 공급자(SP):

    Snowflake 페더레이션 환경에서 Snowflake는 SP의 역할을 합니다.

  • ID 공급자(IdP):

    다음 서비스를 SP에 제공하는 외부의 독립 엔터티입니다.

    • 사용자 로그인 자격 증명 및 기타 프로필 정보를 생성 및 유지 관리.

    • SP로의 SSO 액세스를 위한 사용자 인증.

Snowflake는 대부분의 SAML 2.0 규격 벤더를 IdP로 지원하지만, 특정 벤더는 Snowflake를 기본적으로 지원합니다(자세한 내용은 아래 참조).

지원되는 ID 공급자

페더레이션 인증 및 SSO에서 Snowflake를 기본으로 지원하는 벤더는 다음과 같습니다.

  • Okta — 호스팅 서비스

  • Microsoft AD FS (Active Directory Federation Services) — 온프레미스 소프트웨어(Windows Server에 설치됨)

Okta 및 AD FS가 제공하는 기본 Snowflake 지원뿐만 아니라, Snowflake는 대부분의 SAML 2.0 규격 벤더를 IdP로 지원하며, 해당 벤더는 다음과 같습니다.

참고

Okta 또는 AD FS 이외의 IdP를 사용하려면 IdP에서 Snowflake용 사용자 지정 애플리케이션을 반드시 지정해야 합니다.

Okta, AD FS 또는 기타 SAML 2.0 규격 공급업체를 Snowflake용 IdP로 구성하는 방법에 대한 자세한 내용은 Snowflake용 ID 공급자(IdP) 구성하기 섹션을 참조하십시오.

여러 ID 공급자 사용하기

다양한 사용자가 다양한 ID 공급자를 사용하여 인증하도록 Snowflake를 구성할 수 있습니다.

모든 ID 공급자를 구성 한 후 페더레이션 인증을 위해 여러 ID 공급자 사용하기 의 지침을 따르십시오.

참고

현재, Snowflake 드라이버 중 일부만 여러 ID 공급자의 사용을 지원합니다. 이러한 드라이버에는 JDBC, ODBC 및 Python이 포함됩니다.

지원되는 SSO 워크플로

페더레이션 인증은 다음 SSO 워크플로를 활성화합니다.

  • Snowflake에 로그인.

  • Snowflake에서 로그아웃.

  • 비활성 상태로 인한 시스템 시간 초과.

각 워크플로의 동작은 해당 동작이 Snowflake 또는 IdP에서 시작되었는지에 따라 결정됩니다.

로그인 워크플로

사용자가 로그인할 때의 시스템 동작은 로그인이 Snowflake 또는 IdP에서 시작되었는지에 따라 결정됩니다.

  • Snowflake에서 시작된 로그인:

    Snowflake를 통해 로그인하려면:

    1. 사용자는 Snowflake 웹 인터페이스로 이동합니다.

    2. 사용자는 계정을 위해 구성된 IdP(Okta, AD FS 또는 사용자 지정 IdP)를 사용하여 로그인하도록 선택합니다.

    3. 사용자는 IdP 로그인 자격 증명(예: 이메일 주소 및 비밀번호)을 사용하여 IdP에 인증합니다.

    4. 인증에 성공하면 IdP가 SAML 응답을 Snowflake로 전송하여 세션을 시작하고 Snowflake 웹 인터페이스를 표시합니다.

    참고

    Snowflake에서 시작된 로그인의 경우, Snowflake 로그인 페이지에서는 두 가지 인증 옵션(IdP 또는 Snowflake)이 제공됩니다. 페더레이션 인증을 사용하려면, 사용자는 IdP 옵션을 선택한 후 메시지가 표시되면 자격 증명을 입력해야 합니다. Snowflake 옵션을 선택하면 페더레이션 인증을 우회하고 Snowflake의 기본 인증을 사용한 사용자 로그인이 가능합니다.

  • IdP에서 시작된 로그인:

    계정에서 IdP를 통해 로그인하려면:

    1. 사용자는 IdP 사이트/애플리케이션으로 이동하여 IdP 자격 증명(예: 이메일 주소 및 비밀번호)을 사용하여 인증합니다.

    2. IdP에서 사용자는 Snowflake 애플리케이션(Okta 또는 AD FS 사용 시) 또는 IdP에 정의된 사용자 지정 애플리케이션(다른 IdP 사용 시)을 클릭합니다.

    3. IdP가 SAML 응답을 Snowflake로 전송하여 세션을 시작한 후 Snowflake 웹 인터페이스를 표시합니다.

로그아웃 워크플로

사용자 로그아웃 시 사용할 수 있는 옵션은 IdP가 전역 로그아웃을 지원하는지 또는 표준 로그아웃만 지원하는지에 따라 결정됩니다.

표준:

사용자가 IdP 및 Snowflake 모두에서 명시적으로 로그아웃하여 완전하게 연결이 해제되어야 합니다. 모든 IdPs는 표준 로그아웃을 지원합니다.

전역:

사용자가 IdP에서 로그아웃한 후 모든 Snowflake 세션에서 로그아웃할 수 있습니다. 전역 로그아웃의 지원 여부는 IdP에 따라 다릅니다.

또한, 시스템 동작은 로그아웃이 Snowflake 또는 IdP를 통해 시작되는지에 따라 결정됩니다.

  • Snowflake에서 시작된 로그아웃:

    전역 로그아웃은 IdP의 지원 여부와 관계없이 Snowflake 내에서 지원되지 않습니다. Snowflake 세션에서 로그아웃할 때 사용자는 해당 세션에서만 로그아웃됩니다. IdP 세션에서와 같이 모든 다른 현재 Snowflake 세션은 열린 상태를 유지합니다. 결과적으로 사용자는 다른 세션에서 계속해서 작업을 하거나 IdP를 통해 다시 인증할 필요 없이 추가 세션을 시작할 수 있습니다.

    완전히 연결을 끊으려면 사용자는 Snowflake 및 IdP 모두에서 명시적으로 로그아웃해야 합니다.

  • IdP에서 시작된 로그아웃:

    사용자가 IdP를 통해 로그아웃할 때의 동작은 IdP가 표준 로그아웃만 지원하는지 또는 전역 로그아웃도 지원하는지에 따라 다릅니다.

    • AD FS는 표준 및 전역 로그아웃을 모두 지원합니다. 전역 로그아웃을 사용하도록 설정되면, AD FS IdP 로그인 페이지에서는 사용자가 액세스한 모든 사이트에서 로그아웃할 수 있는 옵션이 제공됩니다. 이 옵션을 선택하고 Sign Out 을 클릭하면 AD FS 및 모든 Snowflake 세션에서 사용자가 로그아웃됩니다. Snowflake에 다시 액세스하려면 AD FS를 사용하여 다시 인증해야 합니다.

    • Okta는 표준 로그아웃만 지원합니다. Okta에서 로그아웃할 때 사용자는 활성 Snowflake 세션에서 자동으로 로그아웃되지 않고 계속 작업을 할 수 있습니다. 그러나 새 Snowflake 세션을 시작하려면 Okta를 통해 다시 인증해야 합니다.

    • 모든 사용자 지정 공급자는 표준 로그아웃을 지원하며, 전역 로그아웃 지원은 공급자에 따라 다릅니다.

    참고

    웹 기반 IdP(예: Okta)의 경우, 브라우저 탭/창을 닫아도 IdP 세션이 반드시 종료되는 것은 아닙니다. 사용자의 IdP 세션이 여전히 활성 상태인 경우에는 IdP 세션의 시간 제한이 초과될 때까지 Snowflake에 액세스할 수 있습니다.

시간 제한 워크플로

사용자 세션의 시간 제한이 초과할 때의 동작은 시간 초과가 발생한 세션이 Snowflake 세션인지 IdP 세션인지에 따라 다릅니다.

  • Snowflake 시간 제한:

    사용자가 SSO를 사용하여 로그인하고 비활성 상태로 인해 Snowflake 세션이 만료되면, Snowflake 웹 인터페이스가 비활성화되고 다음과 같은 IdP 인증 프롬프트가 표시됩니다.

    • 만료된 Snowflake 세션을 계속 사용하려면 사용자는 IdP를 통해 다시 인증해야 합니다.

    • 사용자는 Cancel 버튼을 클릭하여 세션을 종료할 수 있습니다.

    • 사용자는 IdP 사이트/애플리케이션으로 직접 이동하여 Snowflake를 다시 실행할 수도 있지만, 그러면 새 Snowflake 세션이 시작됩니다.

  • IdP 시간 제한:

    지정된 시간(IdP에 의해 정의됨) 이후에 IdP의 사용자 세션은 자동으로 시간 제한을 초과하게 되지만, 이는 Snowflake 세션에 영향을 주지 않습니다. 이 시점에 활성 상태인 모든 Snowflake 세션은 열린 상태를 유지하고 다시 인증할 필요가 없습니다. 그러나 새 Snowflake 세션을 시작하려면 사용자는 반드시 IdP에 다시 로그인해야 합니다.

비공개 연결을 사용하는 SSO

Snowflake는 AWS(Amazon Web Services), Microsoft Azure, GCP(Google Cloud Platform)의 Snowflake 계정에 대해 Snowflake 서비스 비공개 연결로 SSO를 지원합니다.

기본적으로, Snowflake 계정은 한 번에 하나의 계정 URL로 SSO를 지원합니다. AWS, Microsoft Azure 또는 Google Cloud Platform의 비공개 연결 서비스와 연결된 공개 계정 URL 또는 URL을 지정합니다.

식별자 우선 로그인 흐름 을 활성화한 경우 두 개의 SAML2 보안 통합을 구성할 수 있는데, 하나는 공개 계정 URL을 사용하는 통합이고 다른 하나는 AWS, Microsoft Azure 또는 Google Cloud Platform을 통해 비공개 연결 서비스와 연결된 URL을 사용하는 통합입니다.

Snowflake는 유기적 구성 을 통한 SSO를 사용할 수 있도록 지원하며, 사용자는 SAML2 보안 통합에서 해당 URL을 사용할 수 있습니다. 자세한 내용은 페더레이션 인증을 사용하도록 Snowflake 구성하기 섹션을 참조하십시오.

Snowflake에 대한 비공개 연결로 SSO를 사용하려면 비공개 연결을 구성한 후에 SSO를 구성하십시오.

SSO 구성 복제하기

Snowflake는 원본 계정에서 대상 계정으로의 SAML2 보안 통합 의 복제 및 장애 조치/장애 복구를 지원합니다.

자세한 내용은 여러 계정에 보안 통합 및 네트워크 정책 복제 섹션을 참조하십시오.