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.

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 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.

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

Bemerkung

Dies muss mit der Rolle ACCOUNTADMIN ausgeführt 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 aus und wählen Sie dann den Bereich External access aus.

  5. Sie sehen eine Auflistung der Integrationen für den externen Zugriff, die Ihnen zur Verfügung stehen. Sie können die Umschalter neben jeder Integration auswählen, um sie zu aktivieren oder zu deaktivieren.

Bereitstellung der Integration für den externen Zugriff

Externe Integrationen müssen zusammen mit den zugrunde liegenden Netzwerkregeln von einem Organisationsadministrator erstellt und bereitgestellt werden.

Integration für den externen Zugriff erstellen

Es gibt zwei Schritte bei der Erstellung einer Integration für den externen Zugriff auf Notebooks.

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

  2. Erstellen Sie eine Integration für den externen Zugriff, um die Zulassungsliste für Netzwerkregeln mit dem Befehl CREATE EXTERNAL ACCESS INTEGRATION anzugeben.

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

Bereitstellung der Integration für den externen Zugriff

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

Sie können die Berechtigung USAGE für die Integrationen mit den folgenden Befehlen erteilen:

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.

Integrationen aktivieren

Nachdem Sie EAIs erstellt und bereitgestellt haben, stellen Sie sicher, dass Sie die Notebook-Sitzung neu starten. Jetzt sollten Sie die von Ihnen erstellten Integrationen im Bereich für den externen Zugriff sehen. Um die neuen Integrationen zu aktivieren, siehe Aktivieren Sie bestehende Integrationen für den externen Zugriff (EAI).

Zusätzliche Ressourcen