Openflow - Snowflake Deployment 설정: 런타임 역할 만들기

|OFSFSPCS|를 사용하려면 배포가 아닌 특정 런타임과 관련된 여러 리소스를 만들어야 합니다. 일반적으로 이러한 리소스에는 다음이 포함됩니다.

  • 런타임 특정 런타임 역할 생성

  • 런타임 특정 네트워크 규칙 및 EAI(외부 액세스 통합) 생성

이 항목에서는 이러한 리소스를 만드는 방법에 대해 설명합니다.

  1. 런타임 역할 및 관련 권한을 생성하여 Snowflake 배포 섹션의 런타임용 Snowflake 런타임 역할에 데이터를 작성합니다

  2. 런타임 역할을 연결합니다. Snowflake 배포 섹션에서 런타임용 런타임 역할을 참조하세요.

  3. 외부 액세스 통합을 만들고 런타임에 연결합니다. :ref:`외부 액세스 통합 만들기<label-create_network_rules_and_external_access_integrations>`를 참조하세요.

  4. SPCS 송신을 사용하여 비공개 시스템에 연결하려면 아웃바운드 PrivateLink 연결이 필요합니다.

런타임 역할 만들기

Openflow 런타임을 만들고 편집할 때 런타임 소유자는 역할을 런타임과 연결할 수 있습니다. 이 역할은 런타임 내에서 실행되는 흐름에 사용됩니다. 런타임 역할에 대한 자세한 내용은 런타임 역할이란 무엇입니까? 섹션을 참조하세요.

참고

OPENFLOW_ADMIN 사용자는 런타임 역할을 생성하고 OPENFLOW_ADMIN에 부여하여 해당 역할을 부여받은 사용자가 런타임에서 이 역할을 설정할 수 있도록 합니다.

런타임 역할 생성은 런타임을 생성하기 위한 전제 조건이며, 여기에는 다음 단계가 포함됩니다.

  1. 자체 역할 만들기

  2. 런타임에서 사용하는 웨어하우스에 대한 액세스 권한을 해당 역할에 부여합니다.

  3. 런타임에서 사용하는 Snowflake 오브젝트에 대한 액세스 권한을 해당 역할에 부여합니다.

  4. 런타임에서 사용하는 외부 액세스 통합에 대한 액세스 권한을 해당 역할에 부여합니다.

런타임 역할을 만들려면 다음을 수행합니다.

  1. 필요한 런타임 역할을 만듭니다.

    참고

    ``<RUNTIMENAME>``는 연결된 런타임의 이름을 나타냅니다.

    USE ROLE OPENFLOW_ADMIN;
    
    CREATE ROLE IF NOT EXISTS OPENFLOW_RUNTIME_ROLE_<RUNTIMENAME>;
    
    GRANT ROLE OPENFLOW_RUNTIME_ROLE_<RUNTIMENAME> TO ROLE OPENFLOW_ADMIN;
    
    Copy
  2. 이 런타임 역할이 데이터 수집에 사용할 기존 웨어하우스를 사용하도록 허용합니다. 나중에 이 런타임 역할을 사용할 런타임용 커넥터를 구성할 때 이 웨어하우스를 사용합니다.

    GRANT USAGE, OPERATE ON WAREHOUSE <OPENFLOW_INGEST_WAREHOUSE> TO ROLE OPENFLOW_RUNTIME_ROLE_<RUNTIMENAME>;
    
    Copy
  3. 이 런타임 역할이 Snowflake 오브젝트를 사용하거나 생성하거나 액세스할 수 있도록 허용합니다.

    참고

    생성되는 Openflow 커넥터에 따라 필요한 기본 오브젝트가 달라집니다. 아래 예는 설명 목적으로만 제공됩니다.

    GRANT USAGE ON DATABASE <OPENFLOW_SPCS_DATABASE> TO ROLE OPENFLOW_RUNTIME_ROLE_<RUNTIMENAME>;
    GRANT USAGE ON SCHEMA <OPENFLOW_SPCS_SCHEMA> TO ROLE OPENFLOW_RUNTIME_ROLE_<RUNTIMENAME>;
    
    Copy

네트워크 규칙 및 외부 액세스 통합 만들기

Snowflake의 보안 모델은 :doc:`네트워크 정책</user-guide/network-policies>`을 사용하여 Snowflake 외부의 특정 엔드포인트 및 시스템에 대한 보안 액세스를 지원합니다.

네트워크 정책의 두 가지 주요 측면은 네트워크 규칙 및 :doc:`EAI(외부 액세스 통합)</developer-guide/external-network-access/external-network-access-overview>`입니다. 각각은 런타임에 필요한 외부 리소스에 대한 보안 액세스를 제공하는 데 사용됩니다.

네트워크 규칙 및 외부 액세스 통합을 만드는 데 필요한 세 가지 단계가 있습니다.

  1. 네트워크 규칙을 만들어 네트워크 식별자를 논리 영역으로 그룹화합니다.

  2. EAI(외부 액세스 통합)를 만들고 네트워크 규칙 목록을 지정한 후 런타임 역할에 EAI에 대한 USAGE 권한이 있는지 확인합니다.

  3. 런타임을 만들 때 Openflow UI에서 EAI를 런타임에 연결합니다.

필요한 네트워크 규칙과 EAI를 만들려면 다음 단계를 수행합니다.

참고

이 예에서는 RUNTIME_NAME을 생성 중인 런타임 이름의 자리 표시자로 사용합니다.

  1. 적절한 네트워크 규칙을 만듭니다. 자세한 내용은 CREATE NETWORK RULE 섹션을 참조하십시오.

    참고

    ``<OPENFLOW_DATABASE>``는 네트워크 규칙을 포함할 데이터베이스의 이름을 나타냅니다. Snowflake는 Openflow와 관련된 네트워크 규칙 및 외부 액세스 통합을 위한 특정 데이터베이스를 만들 것을 제안합니다.

    USE DATABASE <OPENFLOW_DATABASE>;
    
    CREATE OR REPLACE NETWORK RULE OPENFLOW_<RUNTIME_NAME>_NETWORK_RULE
        MODE = EGRESS
        TYPE = HOST_PORT
        VALUE_LIST = ('comma separated list of host:port pairs');
    
    Copy
  2. 연결된 외부 통합을 만듭니다. 자세한 내용은 CREATE EXTERNAL ACCESS INTEGRATION 섹션을 참조하십시오.

    USE ROLE ACCOUNTADMIN;
    
    CREATE OR REPLACE EXTERNAL ACCESS INTEGRATION OPENFLOW_<RUNTIME>_EAI
       ALLOWED_NETWORK_RULES = (OPENFLOW_<RUNTIME_NAME>_NETWORK_RULE)
       ENABLED = TRUE;
    
    Copy
  3. 이전에 생성된 런타임 역할에 EAI에 대한 액세스 권한을 부여합니다.

    GRANT USAGE ON INTEGRATION OPENFLOW_<RUNTIME_NAME>_EAI TO ROLE OPENFLOW_RUNTIME_ROLE_<RUNTIME_NAME>;
    
    Copy

다음 단계

런타임 만들기