Sichern einer externen Funktion

Unter diesem Thema werden plattformunabhängige Details zum Sichern externer Funktionen beschrieben.

Unter diesem Thema:

Zugriffssteuerung

Externe Funktionen

Externe Funktionen folgen wie alle benutzerdefinierten Funktionen (UDFs) den Zugriffssteuerungsregeln:

  • Externe Funktionen haben einen Eigentümer.

  • Der Eigentümer muss Aufrufern (neben dem Eigentümer) entsprechende Berechtigungen für die Funktion erteilen.

Für externe Funktionen gelten jedoch einige zusätzliche Berechtigungsanforderungen:

  • Da für eine externe Funktion eine API-Integration erforderlich ist, muss dem Autor der externen Funktion die Berechtigung USAGE für die API-Integration erteilt werden.

Weitere Informationen zu UDFs und zur Zugriffssteuerung finden Sie unter Zugriffssteuerungsrechte.

API-Integrationen

Eine API-Integration ist ein Datenbankobjekt. Um eine API-Integration zu erstellen, benötigen Sie ACCOUNTADMIN-Berechtigungen oder eine Snowflake-Rolle mit der Berechtigung CREATE INTEGRATION. Kontoadministratoren können bei jeder API-Integration Eigentums- und Nutzungsberechtigungen erteilen und widerrufen.

Proxydienst sichern

Nachdem Sie überprüft haben, dass Sie die externe Funktion aufrufen können, sollten Sie normalerweise Sicherheitsbeschränkungen für den Proxydienst hinzufügen und dann überprüfen, ob Sie die Funktion weiterhin aufrufen können.

  1. Sofern Ihre externe Funktion nicht öffentlich zugänglich sein soll, sollten Sie einschränken, wer Ihre externe Funktion aufrufen darf. Weitere Details dazu finden Sie unter Proxydienst-Endpunkt sichern.

  2. Rufen Sie Ihre Funktion nach dem Hinzufügen von Sicherheitsbeschränkungen erneut auf, um sicherzustellen, dass Sie sie weiterhin aufrufen können.

Um den Zugriff auf den Proxydienst von Snowflake aus zu sichern, gibt der Eigentümer der API-Integration eine Zulassungsliste mit Endpunkten an, auf die das API-Integrationsobjekt zugreifen darf. Vergessen Sie nicht, die Zulassungsliste zu überprüfen, um sicherzustellen, dass sie so strikt wie möglich ist.

Remotedienst sichern

Wenn Sie Ihren eigenen Remotedienst erstellt haben, vergessen Sie nicht, diesen zu sichern.

Die Details hängen von der Implementierung des Remotedienstes ab und liegen außerhalb des Rahmens dieses Dokuments.

In den meisten Fällen sollte der Remotedienst HTTPS und nicht HTTP verwenden.

Zusätzliche Sicherheitsinformationen

  • Die Kommunikation zwischen Snowflake und dem Proxyserver wird mit HTTPS verschlüsselt.

Plattformspezifische Sicherheitsinformationen

AWS

  • Unter AWS werden alle Snowflake-HTTP-Anforderungen (die an das API Gateway gehen) mit der AWS-sigv4-Authentifizierung signiert. Weitere Informationen dazu finden Sie unter AWS-sigv4-Authentifizierung.

  • Beschränken Sie den Zugriff auf Ihre API Gateway-Endpunkte, indem Sie eine Ressourcenrichtlinie hinzufügen. Weitere Informationen dazu finden Sie unter Amazon API Gateway-Endpunkt sichern.

  • Wenn Sie private Endpunkte verwenden, sollten Sie sich über PrivateLink informieren.