Schritt 4: API-Integration für Azure mit dem Proxydienst im Portal verknüpfen¶
Wenn eine externe Funktion aufgerufen wird, sendet Snowflake einen HTTP-POST-Befehl an den Proxydienst (d. h. den Azure API Management-Dienst), der den POST-Befehl an den Remotedienst (d. h. Azure Functions) weiterleitet. Durch Erstellen eines Dienstprinzipals für Ihren Azure AD-Mandanten kann sich Snowflake bei Azure AD authentifizieren, indem der Aufruf des API Management-Dienstes über den Mandantenbereich erfolgt.
Unter diesem Thema finden Sie eine Anleitung zum Erstellen eines Dienstprinzipals für die Verknüpfung der API-Integration, die Sie im vorherigen Schritt erstellt haben, mit Ihrem Azure API Management-Dienst. Die Anweisungen sind dieselben, unabhängig davon, ob Sie das Azure-Portal oder die ARM-Vorlage verwenden.
Weitere Informationen zu Dienstprinzipalen finden Sie unter Anwendungen und Dienstprinzipale.
Unter diesem Thema:
Vorheriger Schritt¶
App-Namen und Zustimmung-URL für API-Integration beziehen¶
Bevor Sie einen Dienstprinzipal erstellen können, benötigen Sie einige Informationen über die API-Integration:
Melden Sie sich bei der Snowflake-Weboberfläche an.
Führen Sie den DESCRIBE INTEGRATION-Befehl für die API-Integration aus, die Sie im vorherigen Schritt erstellt haben:
describe api integration <integration_name>;
Die DESCRIBE-Ergebnisse:
Notieren Sie sich den App-Namen (aus der Spalte AZURE_MULTI_TENANT_APP_NAME) im entsprechenden Feld des Arbeitsblatts.
Notieren Sie sich die Zustimmung-URL (aus der Spalte AZURE_CONSENT_URL) im entsprechenden Feld Ihres Arbeitsblatts.
Diese URL sollte ungefähr wir folgt aussehen:
https://login.microsoftonline.com/<tenant_id>/oauth2/authorize?client_id=<snowflake_application_id>&response_type=code
Snowflake Zugriff auf Azure-Mandanten gewähren¶
Um Snowflake Zugriff auf Ihren Azure-Mandanten zu gewähren, benötigen Sie den Wert von AZURE_CONSENT_URL, den Sie sich oben notiert haben.
Kopieren Sie die URL in Ihren Browser. Bei Aufruf der URL erstellt Azure automatisch einen Dienstprinzipal, der Snowflake im Mandantenbereich repräsentiert.
Beachten Sie, dass Sie einen Dienstprinzipal für Snowflake nur einmal pro Mandanten erstellen müssen. Nachdem Snowflake der Zugriff gewährt wurde, muss der Zugriff nicht erneut gewährt werden. Mit anderen Worten: Sie müssen nicht für jede neue externe Funktion, die Sie für Azure erstellen, erneut Zugriff gewähren.
Wenn Snowflake bereits Zugriff auf Ihren Azure-Mandanten gewährt wurde, sollte Ihnen die Snowflake-Website angezeigt werden, auf der in etwa SNOWFLAKE THE CLOUD DATA PLATFORM angezeigt wird. Sie können dann die restlichen Aufgaben überspringen und mit Schritt 5: Externe Funktion für Azure in Snowflake erstellen fortfahren.
Wenn Snowflake noch keinen Zugriff erhalten hat, sollte Ihnen die Microsoft-Seite Permissions requested angezeigt werden. Führen Sie dann die folgenden Aufgaben aus.
Klicken Sie auf die Schaltfläche Accept. Auf diese Weise kann der Azure-Dienstprinzipal, der für Ihr Snowflake-Konto erstellt wurde, ein Zugriffstoken für eine beliebige Ressource in Ihrem Azure AD-Mandantenbereich erhalten.
An diesem Punkt ist die Einrichtung eines Dienstprinzipals in Ihrem Mandantenbereich für die Repräsentation von Snowflake abgeschlossen.
Um die Sicherheit zu erhöhen, sollten Sie jedoch sicherstellen, dass nur autorisierte Kunden auf Ihre Azure-Funktion zugreifen können. Eine Anleitung zur Steuerung des Zugriffs finden Sie im letzten Schritt des Erstellungsprozesses.
Nächster Schritt¶
Schritt 5: Externe Funktion für Azure in Snowflake erstellen