Configuração do Openflow - Snowflake Deployment: Criação de uma função no tempo de execução¶
Openflow - Snowflake Deployment requer a criação de uma série de recursos que são específicos não para uma implantação, mas para um tempo de execução específico. Normalmente, esses recursos incluem:
Criação de uma função de tempo de execução específica para o tempo de execução
Criação de regras de rede específicas do tempo de execução e integrações de acesso externo (EAI)
Este tópico descreve a criação desses recursos.
Crie uma função de tempo de execução e privilégios associados para gravar dados na função de tempo de execução do Snowflake para tempos de execução na seção de implantação do Snowflake
Associe a função de tempo de execução. Consulte Função de tempo de execução para tempos de execução na seção Implantação do Snowflake.
Crie integrações de acesso externo e associe-as aos tempos de execução. Consulte Criação de integrações de acesso externo
Quando a conectividade do PrivateLink de saída é necessária para conectar um sistema privado usando SPCS Egress.
Criação de uma função de tempo de execução¶
Ao criar e editar tempos de execução do Openflow, os proprietários de tempo de execução poderão associar uma função ao tempo de execução. Essa função será usada para fluxos executados dentro do tempo de execução. Para obter mais informações sobre as funções de tempo de execução, consulte O que é uma função de tempo de execução?.
Nota
Como OPENFLOW_ADMIN, você criará a função do tempo de execução e a concederá a OPENFLOW_ADMIN, para que os usuários aos quais foi concedida essa função sejam autorizados a definir esta função no tempo de execução.
A criação de uma função de tempo de execução é um pré-requisito para a criação de um tempo de execução e envolve as seguintes etapas:
Criar a função em si
Conceder à função o acesso ao warehouse usado pelo tempo de execução.
Conceder à função o acesso aos objetos Snowflake usados pelo tempo de execução.
Conceder à função o acesso às integrações de acesso externo utilizadas pelo tempo de execução.
Para criar uma função de tempo de execução:
Crie a função de tempo de execução necessária.
Nota
<RUNTIMENAME>denota o nome do tempo de execução associado.USE ROLE OPENFLOW_ADMIN; CREATE ROLE IF NOT EXISTS OPENFLOW_RUNTIME_ROLE_<RUNTIMENAME>; GRANT ROLE OPENFLOW_RUNTIME_ROLE_<RUNTIMENAME> TO ROLE OPENFLOW_ADMIN;
Permita que a função de tempo de execução utilize um warehouse existente que você planeja usar para ingestão de dados. Use este warehouse mais tarde ao configurar seus conectores para tempos de execução onde você usará esta função de tempo de execução.
GRANT USAGE, OPERATE ON WAREHOUSE <OPENFLOW_INGEST_WAREHOUSE> TO ROLE OPENFLOW_RUNTIME_ROLE_<RUNTIMENAME>;
Permitir que a função de tempo de execução use, crie ou acesse objetos Snowflake.
Nota
Dependendo do conector Openflow que está sendo criado, os objetos subjacentes necessários variam. O exemplo abaixo serve apenas para fins ilustrativos.
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>;
Criação de regras de rede e integrações de acesso externo¶
O modelo de segurança do Snowflake fornece acesso seguro a pontos de extremidade e sistemas externos específicos ao Snowflake usando políticas de redes.
Dois aspectos essenciais das políticas de rede são Regras de rede e integrações de acesso externo (EAI). Cada um deles é usado para fornecer acesso seguro aos recursos externos exigidos pelo tempo de execução.
Existem três etapas necessárias para criar regras de rede e integrações de acesso externo:
Criar a regra de rede, agrupando os identificadores de rede em áreas lógicas.
Criar a integração de acesso externo (EAI), especificando a lista de regras de rede e garantindo que a função de tempo de execução tenha USAGE na EAI.
Associar a EAI com o tempo de execução na UI do Openflow ao criar tempos de execução.
Para criar a regra de rede necessária e a EAI, execute as seguintes etapas:
Nota
Esses exemplos usam RUNTIME_NAME como um espaço reservado para o nome do tempo de execução que está sendo criado.
Crie uma regra de rede apropriada. Consulte CREATE NETWORK RULE para obter mais informações.
Nota
<OPENFLOW_DATABASE>denota o nome do banco de dados que conterá a regra de rede. O Snowflake sugere a criação de um banco de dados específico para regras de rede e integrações de acesso externo relacionados ao 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');
Crie a integração externa associada. Consulte CREATE EXTERNAL ACCESS INTEGRATION para obter mais informações.
USE ROLE ACCOUNTADMIN; CREATE OR REPLACE EXTERNAL ACCESS INTEGRATION OPENFLOW_<RUNTIME>_EAI ALLOWED_NETWORK_RULES = (OPENFLOW_<RUNTIME_NAME>_NETWORK_RULE) ENABLED = TRUE;
Concessão de acesso à EAI para a função de tempo de execução criada anteriormente.
GRANT USAGE ON INTEGRATION OPENFLOW_<RUNTIME_NAME>_EAI TO ROLE OPENFLOW_RUNTIME_ROLE_<RUNTIME_NAME>;