设置 Openflow - Snowflake Deployment:创建运行时角色

Openflow - Snowflake Deployment 需要创建许多资源,这些资源不是特定于部署,而是特定于具体的运行时。通常,此类资源包括:

  • 创建运行时特定的运行时角色

  • 创建运行时特定的网络规则和外部访问集成 (EAI)

本主题介绍这些资源的创建。

  1. 创建运行时角色和相关权限,以将数据写入 Snowflake 运行时角色,用于 Snowflake 部署部分的运行时

  2. 关联运行时角色。请参阅 Snowflake 部署部分中的运行时角色。

  3. 创建外部访问集成并将其关联到运行时。请参阅 创建外部访问集成

  4. 当需要出站 PrivateLink 连接来通过 SPCS 出口连接至私有系统时。

创建运行时角色

创建和编辑 Openflow 运行时时,运行时所有者能够将角色与运行时相关联。此角色将用于在运行时中执行的流。有关运行时角色的更多信息,请参阅 什么是运行时角色?

备注

As OPENFLOW_ADMIN, you'll create the Runtime role and grant it to OPENFLOW_ADMIN, so that users granted that role are authorized to set this role on the Runtime.

创建运行时角色是创建运行时的先决条件,涉及以下步骤:

  1. 创建角色本身

  2. 授予角色对运行时使用的仓库的访问权限。

  3. 授予角色对运行时使用的 Snowflake 对象的访问权限。

  4. 授予角色对运行时使用的外部访问集成的访问权限。

要创建运行时角色,请执行以下操作:

  1. Create the required runtime role.

    备注

    <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 的安全模型通过 网络策略 提供对 Snowflake 外部特定端点和系统的安全访问。

网络策略的两个关键方面是 网络规则外部访问集成 (EAI)。其中每个都用于提供对运行时所需的外部资源的安全访问。

创建网络规则和外部访问集成需要三个步骤:

  1. 创建网络规则,将网络标识符分组到逻辑区域。

  2. 创建外部访问集成 (EAI),指定网络规则列表并确保运行时角色有对 EAI 的 USAGE 权限。

  3. Associate the EAI with the Runtime in the Openflow UI when creating Runtimes.

要创建所需的网络规则和 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

后续步骤

创建运行时

语言: 中文