Sicherheitsintegrationen mit App-Spezifikationen anfordern¶
In diesem Thema wird beschrieben, wie Sie eine Snowflake Native App konfigurieren, um App-Spezifikationen zu verwenden, damit der Zugriff auf Sicherheitsintegrationen im Konto des Verbrauchenden angefordert wird. Durch Sicherheitsintegrationen kann sich eine App mit Authentifizierungsanbietenden von Drittanbietern wie OAuth verbinden.
Zugriff auf Authentifizierungsanbietende von Drittanbietern über eine App¶
Snowflake bietet Sicherheitsintegrationen für die Implementierung eines Authentifizierungsservice von Drittanbietern. Durch eine Sicherheitsintegration kann sich eine App mit einem Authentifizierungsservice eines Drittanbieters wie OAuth verbinden.
Bemerkung
Snowflake Native Apps unterstützen nur Sicherheitsintegrationen des Typs
API_AUTHENTICATION. Weitere Informationen dazu finden Sie unter CREATE SECURITY INTEGRATION (Externe API-Authentifizierung).
Workflow zur App-Spezifikation bei Sicherheitsintegrationen¶
Der allgemeine Workflow für das Konfigurieren einer App zur Verwendung einer Sicherheitsintegration lautet wie folgt:
Anbieter konfigurieren Automatisiertes Gewähren von Berechtigungen für die App. Auf diese Weise erhält die App Berechtigungen, um eine Sicherheitsintegration zu erstellen.
Bemerkung
App-Spezifikationen erfordern, dass
manifest_version = 2in der Manifest-Datei festgelegt wird.Anbietende fügen die Berechtigung CREATE INTEGRATION zur Manifest-Datei hinzu.
Anbieter fügen dem Setup-Skript SQL-Anweisungen hinzu, um die folgenden Objekte nach Bedarf zu erstellen:
Anbietende können diese -Befehle direkt in das Setup-Skript einfügen, sodass diese Objekte bei der Installation der App erstellt werden. Alternativ können diese Befehle zu einer gespeicherten Prozedur hinzugefügt werden, die zur Laufzeit aufgerufen wird, um diese Objekte zu erstellen.
Die Verbrauchenden genehmigen Informationen in Bezug auf die OAuth-Integration bei der Konfiguration der App. Weitere Informationen darüber, wie Verbrauchende App-Spezifikationen anzeigen und genehmigen, finden Sie unter Verbindungen zu externen Ressourcen mit App-Spezifikationen genehmigen.
Definition von App-Spezifikationen für Sicherheitsintegrationen¶
Bei einer Sicherheitsintegration enthält die Definition der App-Spezifikationen die Eigenschaften, die für die Verbindung mit einem Drittanbieter erforderlich sind. Bei OAuth hängt die Definition der App-Spezifikation vom OAuth-Typ ab. Die folgende Tabelle listet die Definition der App-Spezifikation für jeden Typ auf:
Art der Sicherheitsintegration |
Werte, die in der App-Spezifikation definiert sind |
|---|---|
|
|
|
|
|
|
Die Version der Manifest-Datei festlegen¶
Um das automatisierte Gewähren von Berechtigungen für eine App zu aktivieren, legen Sie die Version am Anfang der Manifest-Datei fest, wie im folgenden Beispiel gezeigt:
manifest_version: 2
Die Berechtigung CREATE INTEGRATION zur Manifest-Datei hinzufügen¶
Um einer App die Erstellung einer Sicherheitsintegration zu ermöglichen, fügen Sie die Berechtigung CREATE INTEGRATION zur Manifest-Datei hinzu, wie im folgenden Beispiel gezeigt:
manifest_version: 2
...
privileges:
- CREATE INTEGRATION
description: "Allows the app to create security integrations to access external auth providers"
...
Dieser Eintrag im Abschnitt privileges der Manifest-Datei gibt an, dass die App eine Sicherheitsintegration verwendet. Damit die App das automatisierte Gewähren von Berechtigungen nutzen kann, benötigt die Manifest-Datei auch manifest_version: 2.
Dem Setup-Skript eine Sicherheitsintegration hinzufügen¶
Durch Sicherheitsintegrationen kann sich eine App mit einem Authentifizierungsservice eines Drittanbieters wie OAuth verbinden. Um eine Sicherheitsintegration für eine App zu erstellen, fügen Sie dem Setup-Skript den Befehl CREATE SECURITY INTEGRATION (Externe API-Authentifizierung) hinzu, wie im folgenden Beispiel gezeigt:
CREATE SECURITY INTEGRATION external_oauth_provider
TYPE = API_AUTHENTICATION
AUTH_TYPE = OAUTH2
OAUTH_CLIENT_AUTH_METHOD = CLIENT_SECRET_POST
OAUTH_CLIENT_ID = 'YOUR_CLIENT_ID'
OAUTH_CLIENT_SECRET = 'YOUR_CLIENT_SECRET'
OAUTH_GRANT = 'CLIENT_CREDENTIALS'
OAUTH_TOKEN_ENDPOINT = 'https://login.microsoftonline.com/YOUR_TENANT_ID/oauth2/v2.0/token'
OAUTH_ALLOWED_SCOPES = ('https://graph.microsoft.com/.default')
ENABLED = TRUE;
Dieses Beispiel zeigt, wie Sie eine Sicherheitsintegration erstellen, um sich über OAuth mit Client-Anmeldeinformationen mit Microsoft SharePoint zu verbinden. Weitere unterstützte Methoden zum Verbinden mit einem OAuth-Anbieter finden Sie unter CREATE SECURITY INTEGRATION (Externe API-Authentifizierung).
Eine App-Spezifikation für eine Sicherheitsintegration erstellen¶
Das folgende Beispiel zeigt, wie Sie eine App-Spezifikation für eine Sicherheitsintegration mit dem CLIENT_CREDENTIALS OAuth-Typ erstellen:
ALTER APPLICATION SET SPECIFICATION oauth_app_spec
TYPE = SECURITY_INTEGRATION
LABEL = 'Connection to an external OAuth provider'
DESCRIPTION = 'Integrates an external identity provider in the app'
OAUTH_TYPE = 'CLIENT_CREDENTIALS'
OAUTH_TOKEN_ENDPOINT = 'https://login.microsoftonline.com/YOUR_TENANT_ID/oauth2/v2.0/token'
OAUTH_ALLOWED_SCOPES = ('https://graph.microsoft.com/.default');
Bemerkung
Die Werte, die Sie bei der Erstellung der App-Spezifikation angeben, müssen mit denen übereinstimmen, die Sie beim Erstellen der Sicherheitsintegration im Setup-Skript verwenden.
Weitere Informationen zur Verwendung anderer OAuth-Typen finden Sie unter ALTER APPLICATION SET SPECIFICATIONS.
App-Spezifikation im Konto des Verbrauchenden genehmigen¶
Nachdem der Anbietende die App konfiguriert hat, um die Sicherheitsintegration und die App-Spezifikation zu erstellen, können die Verbrauchenden die App-Spezifikation anzeigen und sie bei Bedarf während der Konfiguration der App genehmigen oder ablehnen. Weitere Informationen dazu finden Sie unter Verbindungen zu externen Ressourcen mit App-Spezifikationen genehmigen.