Einrichten des externen Zugriffs für Snowflake Notebooks

Standardmäßig schränkt Snowflake Anfragen zum Datenverkehr im Netzwerk von externen Endpunkten ein. Um auf externe Endpunkte zugreifen zu können, müssen Sie eine Integration für externen Netzwerkzugriff erstellen. Unter diesem Thema wird beschrieben, wie Sie den externen Netzwerkzugang für Ihr Notebook einrichten können.

Externe Zugriffsintegrationen und die ihnen zugrunde liegenden Netzwerkregeln müssen von einem Administrator der Organisation erstellt werden.

Erstellen Sie Integrationen für den externen Zugriff (EAI)

Um eine externe Zugriffsintegration für Notebooks zu erstellen, gehen Sie wie folgt vor:

  1. Erstellen Sie mit dem Befehl CREATE NETWORK RULE eine Netzwerkregel, die eine Gruppe von IP-Adressen oder Domänen definiert.

  2. Erstellen Sie eine externe Zugriffsintegration, die die Liste der erlaubten Netzwerkregeln mit dem Befehl CREATE EXTERNAL ACCESS INTEGRATION festlegt.

Bemerkung

Nur ein ACCOUNTADMIN oder eine Rolle mit der Berechtigung, EAIs zu erstellen, kann diese für bestimmte externe Endpunkte einrichten. Informationen zu den erforderlichen Berechtigungen finden Sie unter Anforderungen an die Zugriffssteuerung.

Die folgenden Beispiele zeigen, wie Sie den externen Zugriff für gängige Websites für Data Science und maschinelles Lernen einstellen können.

Erstellen Sie eine Integration für den externen Zugriff für PyPI:

CREATE OR REPLACE NETWORK RULE pypi_network_rule
MODE = EGRESS
TYPE = HOST_PORT
VALUE_LIST = ('pypi.org', 'pypi.python.org', 'pythonhosted.org',  'files.pythonhosted.org');

CREATE OR REPLACE EXTERNAL ACCESS INTEGRATION pypi_access_integration
ALLOWED_NETWORK_RULES = (pypi_network_rule)
ENABLED = true;
Copy

Erstellen Sie eine Integration für den externen Zugriff für HuggingFace:

CREATE OR REPLACE NETWORK RULE hf_network_rule
MODE = EGRESS
TYPE = HOST_PORT
VALUE_LIST = ('huggingface.co', 'cdn-lfs.huggingface.co');

CREATE OR REPLACE EXTERNAL ACCESS INTEGRATION hf_access_integration
ALLOWED_NETWORK_RULES = (hf_network_rule)
ENABLED = true;
Copy

Erlauben Sie den Zugriff auf das gesamte Netzwerk mit einer einzigen Integration für den externen Zugriff:

CREATE OR REPLACE NETWORK RULE allow_all_rule
MODE= 'EGRESS'
TYPE = 'HOST_PORT'
VALUE_LIST = ('0.0.0.0:443','0.0.0.0:80');

CREATE OR REPLACE EXTERNAL ACCESS INTEGRATION allow_all_integration
ALLOWED_NETWORK_RULES = (allow_all_rule)
ENABLED = true;
Copy

Gewähren Sie die Berechtigungen, die für die Erstellung externer Zugriffsintegrationen erforderlich sind

Nachdem Sie die EAIs erstellt haben, müssen Sie einer Kontorolle die Berechtigung USAGE für die Integration erteilen.

Die Rolle, mit der Sie eine EAI erstellen, wird zum Eigentümer. Als Eigentümer ist die Rolle verpflichtet, anderen Rollen die Berechtigung USAGE zu erteilen. Um USAGE-Berechtigungen für die Integrationen zu erteilen, verwenden Sie die folgenden Befehle:

GRANT USAGE ON INTEGRATION pypi_access_integration TO ROLE my_notebook_role;
GRANT USAGE ON INTEGRATION hf_access_integration TO ROLE my_notebook_role;
GRANT USAGE ON INTEGRATION allow_all_integration TO ROLE my_notebook_role;
Copy

Bemerkung

Es ist wichtig, dass Sie der Rolle, die die Notebooks erstellt, die Berechtigung USAGE für die Integration erteilen. USAGE die der Rolle PUBLIC erteilt wird, funktioniert nicht. Eine ausführliche Syntax finden Sie unter externer Zugriff auf das Netzwerk.

Aktivieren Sie Integrationen für den externen Zugriff (EAI)

Nachdem Sie EAIs erstellt und bereitgestellt haben, stellen Sie sicher, dass Sie die Notebook-Sitzung neu starten, damit die von Ihnen erstellten Zugriffsintegrationen im Bereich für den externen Zugriff angezeigt werden.

  1. Melden Sie sich bei Snowsight an.

  2. Wählen Sie Projects » Notebooks aus.

  3. Um auf die Konfiguration des externen Zugriffs zuzugreifen, wählen Sie die Seite Weitere Aktionen für das Arbeitsblatt oben rechts auf Ihrem Notebook aus.

  4. Wählen Sie Notebook settings, und wählen Sie dann den Bereich External access.

  5. Wählen Sie in der Liste der verfügbaren Integrationen für den externen Zugriff die Schalterflächen neben den einzelnen Integrationen, um sie zu aktivieren oder zu deaktivieren.

Um die neuen Integrationen zu aktivieren, siehe Aktivieren Sie Integrationen für den externen Zugriff (EAI).

Verwenden Sie Geheimnisse mit externen Zugangsintegrationen

In den meisten Fällen erfordern APIs einen API-Schlüssel. Um einen externen Zugriff zu ermöglichen, verwenden Sie SQL, um ein Geheimnis (z. B. den Schlüssel API ) mit Ihrem Notebook zu verknüpfen. Um ein Geheimnis manuell mit einem Notebook zu verknüpfen, verwenden Sie den Befehl ALTER NOTEBOOK. … SET SECRETS:

ALTER NOTEBOOK <name>
 SET SECRETS = ('<secret_variable_name>' = <secret_name>);
Copy

Um ein Geheimnis abzurufen, nachdem Sie es mit einem Notebook verknüpft haben, siehe Python-API für Zugriff auf Geheimnisse.

Zusätzliche Ressourcen