Openflow - Snowflake Deployment einrichten: Laufzeitrolle erstellen

Openflow - Snowflake Deployment erfordert die Erstellung einer Reihe von Ressourcen, die nicht für eine Bereitstellung, sondern für eine bestimmte Laufzeitumgebung spezifisch sind. Zu diesen Ressourcen gehören in der Regel:

  • Erstellung einer für Laufzeitumgebung spezifischen Laufzeitrolle

  • Erstellung von Laufzeit-spezifischen Netzwerkregeln und Integrationen für den externen Zugriff (EAI)

Unter diesem Thema wird das Erstellen dieser Ressourcen beschrieben.

  1. Abschnitt „Eine Laufzeitrolle und zugehörige Berechtigungen zum Schreiben von Daten in Snowflake-Laufzeitrolle für Laufzeiten in Snowflake-Bereitstellung erstellen“

  2. Verknüpfen Sie die Laufzeitrolle. Siehe Abschnitt „Laufzeitrolle für Laufzeitumgebungen in der Snowflake-Bereitstellung“.

  3. Erstellen Sie Integrationen für den externen Zugriff und verknüpfen sie mit Laufzeiten. Siehe Erstellen von Integrationen für den externen Zugriff

  4. Wenn ausgehende PrivateLink-Konnektivität erforderlich ist, um übe SPCS-Egress eine Verbindung zu einem privaten System über herzustellen.

Eine Laufzeitrolle erstellen

Beim Erstellen und Bearbeiten von Openflow-Laufzeitumgebungen haben Laufzeit-Eigentümer die Möglichkeit, eine Rolle mit der Laufzeitumgebung zu verknüpfen. Diese Rolle wird für Abläufe verwendet, die innerhalb der Laufzeitumgebung ausgeführt werden. Weitere Informationen zu Laufzeitrollen finden Sie unter Was ist eine Laufzeitrolle?.

Bemerkung

Als OPENFLOW_ADMIN erstellen Sie die Laufzeitrolle und weisen sie dem OPENFLOW_ADMIN zu, sodass Benutzer, denen diese Rolle zugewiesen wurde, berechtigt sind, diese Rolle auf die Laufzeit festzulegen.

Das Erstellen einer Laufzeitrolle ist eine Voraussetzung für das Erstellen einer Laufzeitumgebung und umfasst die folgenden Schritte:

  1. Die Rolle selbst erstellen

  2. Gewähren Sie der Rolle Zugriff auf das von der Laufzeitumgebung verwendete Warehouse.

  3. Gewähren Sie der Rolle Zugriff auf die von der Laufzeitumgebung verwendeten Snowflake-Objekte.

  4. Gewähren Sie der Rolle Zugriff auf die von der Laufzeit verwendeten Integrationen für den externen Zugriff.

So erstellen Sie eine Laufzeitrolle:

  1. Erstellen Sie die erforderliche Laufzeitrolle.

    Bemerkung

    <RUNTIMENAME> bezeichnet den Namen der zugehörigen Laufzeitumgebung.

    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. Erlauben Sie der Laufzeitrolle, ein bestehendes Warehouse zu verwenden, das Sie für die Datenaufnahme verwenden möchten. Verwenden Sie dieses Warehouse später, wenn Sie Ihre Konnektoren für Laufzeiten konfigurieren, in denen Sie diese Laufzeitrolle verwenden werden.

    GRANT USAGE, OPERATE ON WAREHOUSE <OPENFLOW_INGEST_WAREHOUSE> TO ROLE OPENFLOW_RUNTIME_ROLE_<RUNTIMENAME>;
    
    Copy
  3. Erlauben Sie der Laufzeitrolle, Snowflake-Objekte zu verwenden, zu erstellen oder anderweitig darauf zuzugreifen.

    Bemerkung

    Je nachdem, welcher Openflow-Konnektor erstellt wird, variieren die erforderlichen zugrunde liegenden Objekte. Das folgende Beispiel dient nur zur Veranschaulichung.

    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

Erstellen von Netzwerkregeln und Integrationen für den externen Zugriff

Das Sicherheitsmodell von Snowflake bietet sicheren Zugriff auf bestimmte Endpunkte und Systeme außerhalb von Snowflake mithilfe von Netzwerkrichtlinien.

Zwei wichtige Aspekte von Netzwerkrichtlinien sind Netzwerkregeln und Integrationen für den externen Zugriff (EAI). Beide werden verwendet, um einen sicheren Zugriff auf externe Ressourcen zu ermöglichen, die von der Laufzeitumgebung benötigt werden.

Drei Schritte sind erforderlich, um Netzwerkregeln und Integrationen für den externen Zugriff zu erstellen:

  1. Erstellen Sie die Netzwerkregel und gruppieren Sie die Netzwerkbezeichner in logische Bereiche.

  2. Erstellen Sie die Integration für den externen Zugriff (EAI). Geben Sie dabei die Liste der Netzwerkregeln an stellen Sie sicher, dass die Laufzeitrolle über USAGE für die EAI verfügt.

  3. Verknüpfen Sie die EAI mit der Laufzeitumgebung in der Openflow-UI beim Erstellen von Laufzeiten.

So erstellen Sie die erforderlichen Netzwerkregeln und EAI:

Bemerkung

Diese Beispiele verwenden RUNTIME_NAME als Platzhalter für den Namen der zu erstellenden Laufzeitumgebung.

  1. Erstellen Sie eine geeignete Netzwerkregel. Weitere Informationen dazu finden Sie unter CREATE NETWORK RULE.

    Bemerkung

    <OPENFLOW_DATABASE> bezeichnet den Namen der Datenbank, die die Netzwerkregel enthalten wird. Snowflake empfiehlt, eine spezielle Datenbank für Netzwerkregeln und Integrationen für den externen Zugriff im Zusammenhang mit Openflow zu erstellen.

    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. Erstellen Sie die zugehörige externe Integration. Weitere Informationen dazu finden Sie unter 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. Gewähren Sie der zuvor erstellten Laufzeitrolle Zugriff auf die EAI.

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

Nächste Schritte

Laufzeitumgebung erstellen