여러 계정에 보안 통합 및 네트워크 정책 복제

이 항목에서는 이러한 각 오브젝트에 대해 장애 조치/장애 복구를 사용하는 것과 함께, 보안 통합을 복제하는 방법에 대한 정보를 제공하며, 다른 계정 수준 오브젝트(예: 사용자, 역할, 웨어하우스)와의 복제 및 장애 조치/장애 복구에 익숙하다고 가정합니다.

자세한 내용은 계정 복제 및 장애 조치 섹션을 참조하십시오.

이러한 오브젝트 및 서비스는 리전클라우드 플랫폼 전반에 걸쳐 지원됩니다.

이 항목의 내용:

개요

Snowflake는 페더레이션 SSO(즉, SAML2), OAuth, SCIM에 대한 네트워크 정책 및 보안 통합 복제, 그리고 각 네트워크 정책 및 통합에 대한 장애 조치/장애 복구 활성화를 지원합니다.

각 네트워크 정책 및 보안 통합으로 복제 및 장애 조치/장애 복구를 테스트하는 일반적인 접근 방식은 다음과 같습니다.

  1. 복제할 원본 계정과 대상 계정을 식별하고 연결 URL을 식별합니다.

  2. 원본 계정에서 단계를 완료합니다.

  3. 대상 계정에서 단계를 완료합니다.

  4. 장애 조치/장애 복구를 테스트합니다.

네트워크 정책 및 보안 통합은 사용 사례가 다르기 때문에 각 오브젝트에 대한 원본 계정 및 대상 계정의 정확한 단계는 약간 다릅니다.

자세한 내용은 다음을 참조하십시오.

SAML2 보안 통합

SAML2 보안 통합을 복제하면 SAML2 보안 통합 정의에서 연결 URL 을 지정하여 원본 계정과 대상 계정을 ID 공급자에 연결합니다.

연결 URL을 지정하고 사용자가 원본 계정에 존재하도록 ID 공급자를 업데이트하는 것이 중요합니다. 이러한 업데이트가 없으면 사용자 확인이 수행되지 않아 사용자가 대상 계정에 액세스할 수 없게 됩니다.

현재 제한

Snowflake에 대한 SAML SSO의 경우, 연결 URL을 지정하는 SAML2 보안 통합을 복제하는 것은 현재 기본 연결에서만 지원되고 보조 연결에서는 지원되지 않습니다. 장애 조치의 경우, 결과는 기본 연결 역할을 하도록 보조 연결을 승격하는 것입니다. 장애 조치 후, SAML SSO는 새 기본 연결에서 작동합니다.

기본 연결과 보조 연결 둘 다에 SAML SSO가 필요한 경우 두 Snowflake 계정 모두에서 독립적으로 SAML2 보안 통합을 생성하고 관리합니다.

이 절차에서는 다음을 가정합니다.

  • 원본 계정: https://example-northamericawest.snowflakecomputing.com/

  • 대상 계정: https://example-northamericaeast.snowflakecomputing.com/

  • 연결 URL: https://example-global.snowflakecomputing.com

  • 대상 계정에 보조 연결이 없습니다.

다음 단계는 다음을 수행하는 방법을 보여주는 대표적인 예입니다.

  • 원본 계정에서 대상 계정으로 SAML2 보안 통합을 복제합니다.

  • 장애 조치를 테스트합니다.

  • 기본 연결로 사용할 원본 계정의 보조 연결을 승격합니다.

원본 계정 단계(IdP 단계 포함):

  1. 원본 계정이 데이터베이스 장애 조치/장애 복구 및 클라이언트 리디렉션 에 대해 이미 구성된 경우 다음 단계로 건너뜁니다.

    그렇지 않은 경우, ALTER CONNECTION 명령을 사용하여 장애 조치를 활성화합니다.

    alter connection global
    enable failover to accounts example.northamericaeast;
    
  2. Okta를 ID 공급자의 대표적인 예로 사용하여 Okta에서 연결 URL을 지정하는 Snowflake 애플리케이션 을 생성합니다. 다음과 같이 Okta 필드를 업데이트합니다.

    • Label: Snowflake

    • Subdomain: example-global

    • Browser plugin auto-submit: 사용자가 로그인 페이지를 방문할 때 자동 로그인을 활성화하려면 확인란을 선택합니다.

  3. 원본 계정에서 SAML2 보안 통합을 업데이트하여 saml2_snowflake_issuer_urlsaml2_snowflake_acs_url 보안 통합 속성에 대한 연결 URL을 지정합니다.

    create or replace security integration my_idp
      type = saml2
      enabled = true
      saml2_issuer = 'http://www.okta.com/exk6e8mmrgJPj68PH4x7'
      saml2_sso_url = 'https://example.okta.com/app/snowflake/exk6e8mmrgJPj68PH4x7/sso/saml'
      saml2_provider = 'OKTA'
      saml2_x509_cert='MIIDp...'
      saml2_sp_initiated_login_page_label = 'OKTA'
      saml2_enable_sp_initiated = true
      saml2_snowflake_issuer_url = 'https://example-global.snowflakecomputing.com'
      saml2_snowflake_acs_url = 'https://example-global.snowflakecomputing.com/fed/login';
    
  4. Okta에서 Snowflake 애플리케이션을 사용자에게 할당합니다. 자세한 내용은 사용자에게 앱 통합 할당하기 를 참조하십시오.

  5. 원본 계정에 대한 SSO가 Okta의 Snowflake 애플리케이션에 지정된 사용자와 원본 계정의 사용자에 대해 작동하는지 확인합니다.

    SSO는 IdP 시작 및 Snowflake 시작 SSO 흐름 둘 다에서 작동해야 합니다. 자세한 내용은 지원되는 SSO 워크플로 섹션을 참조하십시오.

  6. 원본 계정에서, 장애 조치 그룹이 아직 없는 경우 보안 통합을 포함할 장애 조치 그룹을 생성합니다. 이 예는 대표적인 것이며, 복제에 필요하거나 필요하지 않을 수 있는 다른 계정 오브젝트를 포함합니다.

    장애 조치 그룹이 이미 있는 경우, 통합을 포함하도록 장애 조치 그룹을 변경합니다.

    create failover group FG
      object_types = users, roles, warehouses, resource monitors, integrations
      allowed_integration_types = security integrations
      allowed_accounts = example.northamericaeast
      replication_schedule = '10 MINUTE';
    

대상 계정 단계:

  1. 복제하기 전에 SHOW USERSSHOW INTEGRATIONS 명령을 각각 실행하여 대상 계정에 존재하는 사용자 및 보안 통합의 수를 확인합니다.

  2. 보조 연결을 생성합니다. 자세한 내용은 CREATE CONNECTION 섹션을 참조하십시오.

    create connection GLOBAL as replica of example.northamericawest.global;
    
  3. 대상 계정에 보조 장애 조치 그룹을 생성합니다. 자세한 내용은 CREATE FAILOVER GROUP 섹션을 참조하십시오.

    create failover group fg
    as replica of example.northamericawest.fg;
    
  4. 보조 장애 조치 그룹을 생성할 때 초기 새로 고침이 자동으로 실행됩니다.

    대상 계정의 보조 장애 조치 그룹을 수동으로 새로 고치려면 다음 문을 실행합니다. 자세한 내용은 ALTER FAILOVER GROUP 명령을 참조하십시오.

    alter failover group fg refresh;
    
  5. 새로 고침 작업이 성공한 경우, 대상 계정에는 원본 계정에 추가되었지만 이전에는 대상 계정에 없었던 새 사용자가 포함될 것입니다. 마찬가지로 대상 계정에는 연결 URL을 지정하는 SAML2 보안 통합이 포함될 것입니다.

    다음 명령을 실행하여 새로 고침 작업이 성공했는지 확인합니다.

  6. 기본 연결로 사용할 대상 계정의 보조 연결을 승격합니다. 다음 명령을 실행한 후, 사용자는 SAML SSO를 사용하여 새 대상 계정에 인증할 수 있습니다.

    alter connection global primary;
    

SCIM 보안 통합

SCIM 보안 통합을 복제하면, 대상 계정을 새로 고친 후 대상 계정이 원본 계정에 대한 SCIM 업데이트(예: 새 사용자 추가, 새 역할 추가)를 통합할 수 있습니다.

SCIM 보안 통합을 복제한 후, 두 Snowflake 계정은 ID 공급자로부터 SCIM 업데이트를 수신할 수 있습니다. 그러나 Snowflake에서는 하나의 계정만 기본 (즉, 원본) 계정으로 지정할 수 있으며 이 계정은 ID 제공자로부터 SCIM 업데이트를 수신하는 기본 계정입니다.

선택적으로, SCIM 통합을 복제한 후 SCIM 업데이트를 받을 기본 계정으로 다른 계정을 지정할 수 있습니다. 대상 계정은 대상 계정을 새로 고친 후에만 원본 계정에서 SCIM 업데이트를 받을 수 있습니다.

이 절차에서는 다음을 가정합니다.

  • 원본 계정: https://example-northamericawest.snowflakecomputing.com/

  • 대상 계정: https://example-northamericaeast.snowflakecomputing.com/

  • 연결 URL: https://example-global.snowflakecomputing.com

  • 대상 계정에 보조 연결이 있습니다(즉, 새로 고침 작업만 필요함).

다음 단계는 다음을 수행하는 방법을 보여주는 대표적인 예입니다.

  • 원본 계정에서 대상 계정으로 SCIM 보안 통합을 복제합니다.

  • Okta에 새 사용자를 추가하고, 새 사용자를 원본 계정에 푸시하고, 새 사용자를 대상 계정에 복제합니다.

  • 장애 조치 그룹을 새로 고칩니다.

  • 기본 연결로 사용할 대상 계정의 보조 연결을 승격합니다.

원본 계정 단계:

  1. SHOW CONNECTIONS 항목을 실행하여 원본 계정의 연결이 기본 연결인지 확인합니다. 기본 연결이 아닌 경우 ALTER CONNECTION 명령을 사용하여, 기본 연결로 사용할 원본 계정의 연결을 승격합니다.

  2. 원본 계정에 Okta SCIM 보안 통합이 이미 구성된 경우 다음 단계로 건너뜁니다.

    그렇지 않은 경우, 원본 계정에서 Okta SCIM 보안 통합을 구성합니다.

    create role if not exists okta_provisioner;
    grant create user on account to role okta_provisioner;
    grant create role on account to role okta_provisioner;
    grant role okta_provisioner to role accountadmin;
    create or replace security integration okta_provisioning
       type = scim
       scim_client = 'okta'
       run_as_role = 'OKTA_PROVISIONER';
    
    select system$generate_scim_access_token('OKTA_PROVISIONING');
    

    Snowflake용 Okta SCIM 애플리케이션을 업데이트해야 합니다. 자세한 내용은 Okta 구성 섹션을 참조하십시오.

  3. Okta에서 Snowflake용 Okta 애플리케이션에서 새 사용자를 생성합니다.

    Snowflake에서 SHOW USERS 명령을 실행하여 사용자가 Snowflake로 푸시되었는지 확인합니다.

  4. 장애 조치 그룹이 이미 security integrations 를 지정하는 경우 다음 단계로 건너뜁니다. 이 항목의 대상 계정에서 SAML SSO 를 위해 장애 조치 그룹을 이미 구성한 경우에 해당합니다.

    그렇지 않은 경우, security integrations 를 지정하는 ALTER FAILOVER GROUP 명령을 사용하여 기존 장애 조치 그룹을 수정합니다.

    alter failover group fG set
      object_types = users, roles, warehouses, resource monitors, integrations
      allowed_integration_types = security integrations;
    
  5. 이 시점에서 SCM에 대한 대상 계정 단계 SCIM 에 표시된 대로 선택적으로 보조 장애 조치 그룹을 새로 고쳐 원본 계정의 새 사용자가 대상 계정에 있도록 할 수 있습니다.

    이제 보조 장애 조치 그룹을 새로 고치도록 선택하는 경우, 이 순서로 새 사용자를 추가하는 원본 계정의 변경 사항이 대상 계정에 표시되는지 쉽게 확인할 수 있습니다.

    그러나 다른 사용자를 수정하거나 역할 할당을 업데이트하는 것과 같이 ID 공급자에서 추가 작업을 수행해야 하거나 그렇게 하는 것을 선호하는 경우, 지금 해당 작업을 계속한 다음, 나중에 하나의 작업으로 보조 장애 조치 그룹을 새로 고칠 수 있습니다.

대상 계정 단계:

  1. 복제하기 전에 SHOW USERSSHOW INTEGRATIONS 명령을 각각 실행하여 대상 계정에 존재하는 사용자 및 보안 통합의 수를 확인합니다.

  2. 보조 장애 조치 그룹을 새로 고쳐 새 사용자(및 Okta와 원본 계정에서 수행된 기타 변경 사항)를 포함하도록 대상 계정을 업데이트합니다.

    alter failover group fg refresh;
    
  3. SHOW USERS 명령을 실행하여 새 사용자가 대상 계정에 추가되었는지 확인합니다.

  4. 선택적으로, 대상 계정의 보조 장애 조치 그룹과 보조 연결을 기본으로 승격합니다. 이렇게 하면 대상 계정이 새 원본 계정으로 사용되도록 승격됩니다.

    장애 조치 그룹:

    alter failover group fg primary;
    

    연결:

    alter connection global primary;
    

OAuth 보안 통합

복제 OAuth 보안 통합에는 Snowflake OAuth 보안 통합과 외부 OAuth 보안 통합이 둘 다 포함됩니다.

다음 사항을 참고하십시오.

Snowflake OAuth

복제 및 장애 조치/장애 복구를 구성한 후, OAuth 클라이언트를 통해 원본 계정 또는 대상 계정에 연결하는 사용자는 대상 계정에 대해 재인증할 필요가 없습니다.

외부 OAuth

복제 및 장애 조치/장애 복구를 구성한 후, OAuth 클라이언트를 통해 원본 계정 또는 대상 계정에 연결하는 사용자는 대상 계정에 대해 재인증해야 할 수 있습니다.

OAuth 인증 서버가 새로 고침 토큰 을 발급하도록 구성되지 않은 경우 재인증이 필요할 수 있습니다. 따라서 OAuth 클라이언트가 원본 및 대상 Snowflake 계정에 연결할 수 있도록 OAuth 인증 서버가 새로 고침 토큰을 발급하는지 확인하십시오.

이 절차에서는 다음을 가정합니다.

  • 원본 계정: https://example-northamericawest.snowflakecomputing.com/

  • 대상 계정: https://example-northamericaeast.snowflakecomputing.com/

  • 연결 URL: https://example-global.snowflakecomputing.com

  • 대상 계정에 보조 연결이 있습니다(즉, 새로 고침 작업만 필요함).

  • Snowflake OAuth 또는 외부 OAuth 보안 통합이 원본 계정에 이미 있습니다.

다음 단계는 다음을 수행하는 방법을 보여주는 대표적인 예입니다.

  • OAuth 보안 통합을 복제합니다.

  • 장애 조치 그룹을 새로 고칩니다.

  • 기본 연결로 사용할 대상 계정의 보조 연결을 승격합니다.

원본 계정 단계:

  1. 장애 조치 그룹이 이미 security integrations 를 지정하는 경우 다음 단계로 건너뜁니다. 이 항목의 대상 계정에서 SAML SSO 를 위해, 또는 마찬가지로 이 항목의 SCIM 을 위해 장애 조치 그룹을 이미 구성한 경우에 해당합니다.

    그렇지 않은 경우, security integrations 를 지정하는 ALTER FAILOVER GROUP 명령을 사용하여 기존 장애 조치 그룹을 수정합니다.

    alter failover group fG set
      object_types = users, roles, warehouses, resource monitors, integrations
      allowed_integration_types = security integrations;
    

대상 계정 단계:

  1. OAuth 보안 통합 오브젝트를 포함하도록 대상 계정을 업데이트하려면 보조 장애 조치 그룹을 새로 고칩니다.

    alter failover group fg refresh;
    
  2. 선택한 OAuth 클라이언트를 사용하여 각 Snowflake 계정에 대한 연결을 확인합니다.

  3. 선택적으로, 대상 계정의 보조 장애 조치 그룹과 보조 연결을 기본으로 승격합니다. 이렇게 하면 대상 계정이 새 원본 계정으로 사용되도록 승격됩니다.

    장애 조치 그룹:

    alter failover group fg primary;
    

    연결:

    alter connection global primary;
    
  4. 이전 단계를 완료한 경우, 선택한 OAuth 클라이언트를 사용하여 각 Snowflake 계정에 연결할 수 있는지 다시 확인하십시오.

네트워크 정책

원본 계정에서 대상 계정으로 네트워크 정책을 복제하면 Snowflake 연결 시 관리자가 사용자 IP 주소를 기반으로 대상 계정에 대한 액세스를 제한할 수 있습니다.

네트워크 정책을 복제하면 네트워크 정책 오브젝트 모든 네트워크 정책 참조/할당이 복제됩니다. 예를 들어, 네트워크 정책이 사용자에게 할당되고 사용자가 원본 계정과 대상 계정 둘 다에 존재하는 경우, 네트워크 정책을 복제하면 대상 계정의 사용자에게 네트워크 정책이 할당됩니다.

복제 작업이 보안 통합 및 네트워크 정책을 지정하는 경우, 네트워크 정책 복제는 Snowflake OAuth 및 SCIM 보안 통합 에 지정된 네트워크 정책에도 적용됩니다. 네트워크 정책, 그리고 네트워크 정책을 지정하는 보안 통합을 복제한 후, 대상 계정의 보안 통합은 동일 네트워크 정책을 지정합니다.

이 절차에서는 다음을 가정합니다.

  • 원본 계정: https://example-northamericawest.snowflakecomputing.com/

  • 대상 계정: https://example-northamericaeast.snowflakecomputing.com/

  • 연결 URL: https://example-global.snowflakecomputing.com

  • 대상 계정에 보조 연결이 있습니다(즉, 새로 고침 작업만 필요함).

  • 원본 계정에 네트워크 정책이 있습니다.

  • Snowflake OAuth 및/또는 SCIM 보안 통합은 원본 계정에 이미 존재하며 통합은 네트워크 정책을 지정합니다.

다음 절차는 다음을 수행하는 대표적인 예입니다.

  • 네트워크 정책을 지정하는 네트워크 정책 및 보안 통합을 복제합니다.

  • 장애 조치 그룹을 새로 고칩니다.

  • 네트워크 정책 활성화를 확인합니다.

  • 기본 연결로 사용할 원본 계정의 보조 연결을 승격합니다.

원본 계정 단계:

  1. SHOW NETWORK POLICIES 명령을 실행하여 원본 Snowflake 계정에 네트워크 정책이 있는지 확인합니다.

  2. 보안 통합을 식별하는 SHOW INTEGRATIONS 명령을 실행하여 Snowflake OAuth 및/또는 SCIM 보안 통합에 네트워크 정책이 포함되어 있는지 확인한 다음, Snowflake OAuth 보안 통합에 대한 DESCRIBE INTEGRATION 명령을 실행합니다.

  3. ALTER FAILOVER GROUP 명령을 사용하여 network policies 를 포함하도록 장애 조치 그룹을 업데이트합니다.

    alter failover group fG set
      object_types = users, roles, warehouses, resource monitors, integrations, network policies
      allowed_integration_types = security integrations;
    

대상 계정 단계:

  1. 보조 장애 조치 그룹을 새로 고쳐, 네트워크 정책 오브젝트, 그리고 네트워크 정책을 지정하는 Snowflake OAuth 보안 통합을 포함하도록 대상 계정을 업데이트합니다.

    alter failover group fg refresh;
    
  2. SHOW NETWORK POLICIES 명령을 실행하여 네트워크 정책 오브젝트가 있는지 확인하고, 보안 통합에 대한 DESCRIBE SECURITY INTEGRATION 명령을 실행하여 Snowflake OAuth 보안 통합이, 복제된 네트워크 정책을 지정하는지 확인합니다.

  3. 계정 또는 사용자 수준에서 활성화된 네트워크 정책 식별하기 에 나온 바와 같이 네트워크 정책 활성화를 확인합니다.

  4. 선택한 Snowflake OAuth 클라이언트를 사용하여 각 Snowflake 계정에 대한 연결을 확인합니다.

  5. 선택적으로 대상 계정의 보조 장애 조치 그룹과 보조 연결을 기본으로 승격합니다. 이렇게 하면 대상 계정이 새 원본 계정으로 사용되도록 승격됩니다.

    장애 조치 그룹:

    alter failover group fg primary;
    

    연결:

    alter connection global primary;
    
  6. 이전 단계를 완료한 경우, 선택한 Snowflake OAuth 클라이언트를 사용하여 각 Snowflake 계정에 연결할 수 있는지 다시 확인하십시오.

맨 위로 이동