Einführung in OAuth

In Snowflake wird OAuth für Clients über Integrationen ermöglicht. Eine Integration ist ein Snowflake-Objekt, das eine Schnittstelle zwischen Snowflake und Drittanbieterdiensten bereitstellt. Administratoren konfigurieren OAuth mithilfe einer Sicherheitsintegration, mit der Clients, die OAuth unterstützen, Benutzer auf eine Autorisierungsseite umleiten und Zugriffstoken (sowie optional Aktualisierungstoken) für den Zugriff auf Snowflake generieren können.

Snowflake unterstützt das OAuth 2.0-Protokoll für Authentifizierung und Autorisierung unter Verwendung einer der folgenden Optionen:

In der folgenden Tabelle werden Snowflake OAuth und External OAuth verglichen:

Kategorie

Snowflake OAuth

External OAuth

Clientanwendung ändern

Erforderlich

Erforderlich

Zugriff auf Browser der Clientanwendung

Erforderlich

Nicht erforderlich

Programmgesteuerte Clients

Benötigt einen Browser

Optimale Größe

Treibereigenschaft

authenticator = oauth

authenticator = oauth

Sicherheitsintegrationssyntax

create security integration type = oauth ...

create security integration type = external_oauth

OAuth-Ablauf

OAuth 2.0-Codegenehmigungsablauf

Jeder OAuth-Ablauf, den der Client mit dem External OAuth-Server initiieren kann

Überwachen von OAuth-Anmeldungen

Damit sich Anmeldeversuche von Snowflake-Benutzern abfragen lassen, stellt Snowflake einen Anmeldeverlauf zur Verfügung:

Wenn OAuth zur Authentifizierung verwendet wird (ob erfolgreich oder nicht), hat die Spalte FIRST_AUTHENTICATION_FACTOR in der Ausgabe den Wert OAUTH_ACCESS_TOKEN.

Private Konnektivität

Snowflake unterstützt External OAuth mit privater Konnektivität zum Snowflake-Dienst.

Snowflake OAuth und Tableau können wie folgt mit privater Konnektivität zu Snowflake verwendet werden:

Tableau Desktop

Ab Version 2020.4 enthält Tableau einen eingebetteten OAuth-Client, der die Verbindung zu Snowflake mit der Konto-URL für private Konnektivität zum Snowflake-Dienst unterstützt.

Nach dem Upgrade auf Tableau 2020.4 ist keine weitere Konfiguration erforderlich. Verwenden Sie die entsprechende private Konnektivitäts-URL für AWS oder Azure, um sich mit Snowflake zu verbinden.

Tableau Server

Ab Tableau 2020.4 können Benutzer den Tableau Server optional so konfigurieren, dass der eingebettete OAuth-Client verwendet wird, um eine Verbindung zu Snowflake über die Konto-URL für private Konnektivität zum Snowflake-Dienst herzustellen.

Zur Verwendung dieser Funktion müssen Sie eine neue Custom Client-Sicherheitsintegration erstellen und die Tableau-Anweisungen befolgen.

Tableau Online

Tableau Online bietet keine Unterstützung der Snowflake-Konto-URL für private Konnektivität zum Snowflake-Dienst, da Tableau Online Zugriff auf das öffentliche Internet benötigt.

Wenden Sie sich an Tableau, um weitere Informationen darüber zu erhalten, wann Tableau Online Snowflake-Konto-URLs für private Konnektivität zum Snowflake-Dienst unterstützen wird.

Wichtig

Um die Konto-URL zu bestimmen, die für private Konnektivität zum Snowflake-Dienst verwendet werden soll, rufen Sie die Funktion SYSTEM$GET_PRIVATELINK_CONFIG auf.

Looker

Derzeit erfordert die Kombination von Snowflake OAuth und Looker einen Zugang zum öffentlichen Internet. Daher können Sie Snowflake OAuth und Looker nicht mit privater Konnektivität zum Snowflake-Dienst verwenden.

Weitere Informationen dazu finden Sie unter:

Clients, Treiber und Konnektoren

Unterstützte Clients, Treiber und Konnektoren können OAuth verwenden, um die Anmeldeinformationen des Benutzers zu überprüfen.

Beachten Sie Folgendes:

  • Es ist notwendig, den Parameter authenticator auf oauth und den Parameter token auf oauth_access_token zu setzen.

  • Wenn Sie den token-Wert als URL-Abfrageparameter übergeben, muss der oauth_access_token-Wert als URL codiert werden.

  • Wenn Sie den token-Wert an ein Properties-Objekt übergeben (z. B. JDBC-Treiber), sind keine Anpassungen erforderlich.

Weitere Informationen zu Verbindungsparametern finden Sie in der Referenzdokumentation für die folgenden Clients, Treiber oder Konnektoren:

Clientumleitung

Snowflake unterstützt die Verwendung der Clientumleitung mit Snowflake-OAuth und External OAuth, einschließlich der Verwendung der Clientumleitung und OAuth bei unterstützten Snowflake-Clients.

Weitere Informationen dazu finden Sie unter Umleiten von Clientverbindungen.

Replikation

Snowflake unterstützt Replikation und Failover/Failback von Snowflake OAuth- und External OAuth-Sicherheitsintegrationen vom Quellkonto in das Zielkonto.

Weitere Informationen dazu finden Sie unter Replikation von Sicherheitsintegrationen und Netzwerkrichtlinien über mehrere Konten hinweg.