Snowflake OAuth für Partneranwendungen konfigurieren

Unter diesem Thema wird erläutert, wie Sie den Snowflake OAuth-Zugriff auf Snowflake für unterstützte Snowflake-Partneranwendungen konfigurieren. Dabei muss eine Integration erstellt werden, ein First-Class-Objekt von Snowflake, das die Schnittstelle zwischen Snowflake und einer Anwendung oder dem Service eines Drittanbieters definiert.

Wichtig

Wenn Sie mit einer Drittanbieteranwendung eine Verbindung zu Snowflake herstellen, empfiehlt Snowflake zu überprüfen, ob der von der Anwendung verwendete Integrationsablauf Ihren internen Sicherheitsanforderungen entspricht. Sie können sich direkt an den Partner wenden, um Details zu dessen End-to-End-Ablauf zu erhalten, der für dieses Feature verwendet wird.

Bemerkung

Der sitzungsinterne Rollenwechsel zu Sekundärrollen wird von Snowflake OAuth nicht unterstützt.

Wenn dieses Verhalten für Ihren OAuth-Workflow erforderlich ist, verwenden Sie stattdessen External OAuth.

Weitere Informationen dazu finden Sie unter Verwenden von Sekundärrollen mit External OAuth.

Derzeit unterstützt Snowflake OAuth die folgenden Anwendungen:

Client

Erforderliche Clientversion

Clienttyp

Tableau Desktop / Server / Online 1

2019.1 oder höher

Öffentlich

Looker 2

6.20 oder höher

Alation

Siehe die Alation-Dokumentation

ThoughtSpot

Siehe die ThoughtSpot-Dokumentation

Collibra

Siehe die Collibra-Dokumentation

1

Wenn Tableau Server eine Verbindung zu Snowflake über private Konnektivität zum Snowflake-Dienst herstellt, müssen Sie eine kundenspezifische Sicherheitsintegration und nicht die für eine Partneranwendung entwickelte Integration verwenden. Eine Anleitung dazu finden Sie unter Snowflake OAuth für kundenspezifische Clients konfigurieren. Tableau Desktop verwendet weiterhin die Integration der Partneranwendung, auch wenn eine private URL verwendet wird.

2

Looker unterstützt OAuth nur dann, wenn von Looker gehostete Instanzen auf das öffentliche Internet zugreifen können. Beachten Sie, dass diese Einschränkung keine Auswirkungen auf vom Kunden gehostete Looker-Implementierungen (d. h. lokale Implementierungen) hat. Daher können bei Kunden, die private Konnektivität zum Snowflake-Dienst verwenden, Probleme auftreten, wenn sie versuchen, OAuth und Looker mit Snowflake zu verwenden. Wenden Sie sich bei Fragen oder für weitere Informationen an Looker.

Unter diesem Thema:

Konfigurieren einer Snowflake OAuth-Integration

Erstellen Sie mit dem Befehl CREATE SECURITY INTEGRATION eine Integration. Eine Integration ist ein Snowflake-Objekt, das eine Schnittstelle zwischen Snowflake und Diensten von Drittanbietern bereitstellt, z. B. einem Client, der Snowflake OAuth unterstützt.

Bemerkung

Dieser SQL-Befehl kann nur von Kontoadministratoren (d. h. Benutzern mit der Systemrolle ACCOUNTADMIN) oder von Rollen mit der globalen Berechtigung CREATE INTEGRATION ausgeführt werden.

CREATE [ OR REPLACE ] SECURITY INTEGRATION [ IF NOT EXISTS ]
  <name>
  TYPE = OAUTH
  ENABLED = { TRUE | FALSE }
  OAUTH_CLIENT = <partner_application>
  oauthClientParams
  [ COMMENT = '<string_literal>' ]
Copy

Wobei:

oauthClientParams

oauthClientParams ::=
  [ OAUTH_ISSUE_REFRESH_TOKENS = TRUE | FALSE ]
  [ OAUTH_REFRESH_TOKEN_VALIDITY = <integer> ]
  [ BLOCKED_ROLES_LIST = ('<role_name>', '<role_name>') ]
Copy

Blockieren bestimmter Rollen für die Verwendung der Integration

Mit dem optionalen Parameter BLOCKED_ROLES_LIST können Sie Snowflake-Rollen auflisten, denen ein Benutzer nicht ausdrücklich die Zustimmung zur Verwendung der Integration geben kann.

Die Rollen ACCOUNTADMIN, SECURITYADMIN und ORGADMIN sind standardmäßig in dieser Liste enthalten und können nicht entfernt werden. Wenn Sie Benutzern aus geschäftlichen Gründen die Verwendung von Snowflake OAuth bei diesen Rollen gestatten müssen und Ihr Sicherheitsteam dies zulässt, wenden Sie sich an den Snowflake-Support mit der Anforderung, dass die Rollen für Ihr Konto zugelassen werden.

Überwachen der Anmeldefrequenz

Wenn sich ein Benutzer erfolgreich authentifiziert hat, kann die Partneranwendung das ausgegebene Aktualisierungstoken verwenden, um neue, kurzlebige Zugriffstoken anzufordern; der Benutzer wird solange nicht mehr aufgefordert, den Anmeldevorgang zu wiederholen, bis das Aktualisierungstoken abläuft. Der optionale Parameter OAUTH_REFRESH_TOKEN_VALIDITY gibt an, wie lange ein Aktualisierungstoken gültig ist (in Sekunden). Diese Einstellung kann verwendet werden, um das Aktualisierungstoken regelmäßig ablaufen zu lassen und den Benutzer zu zwingen, den Anmeldevorgang zu wiederholen.

Die unterstützten Minimal-, Maximal- und Standardwerte für den Parameter OAUTH_REFRESH_TOKEN_VALIDITY lauten wie folgt:

Anwendung

Minimum

Maximum

Standard

Tableau Desktop

60 (1 Minute)

36000 (10 Stunden)

36000 (10 Stunden)

Tableau Server oder Tableau Online

60 (1 Minute)

7776000 (90 Tage)

7776000 (90 Tage)

Wenn Sie aus geschäftlichen Gründen den Mindestwert senken oder den Höchstwert erhöhen müssen, wenden Sie sich an den Snowflake-Support, um eine Änderung für Ihr Konto anzufordern.

Verwenden der Clientumleitung mit Snowflake OAuth für Partneranwendungen

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

Weitere Informationen dazu finden Sie unter Umleiten von Clientverbindungen.

Verwalten von Netzwerkrichtlinien

Snowflake unterstützt Netzwerkrichtlinien für Snowflake OAuth. Weitere Informationen dazu finden Sie unter Netzwerkrichtlinien.

Beispiele

Tableau Desktop

Im folgenden Beispiel wird eine Snowflake OAuth-Integration mit den Standardeinstellungen erstellt:

CREATE SECURITY INTEGRATION td_oauth_int1
  TYPE = OAUTH
  ENABLED = TRUE
  OAUTH_CLIENT = TABLEAU_DESKTOP;
Copy

Zeigen Sie mit DESCRIBE INTEGRATION die Integrationseinstellungen an:

DESC SECURITY INTEGRATION td_oauth_int1;
Copy

Im folgenden Beispiel wird eine Snowflake OAuth-Integration mit Aktualisierungstoken erstellt, die nach 10 Stunden (36000 Sekunden) ablaufen. Die Integration verhindert, dass Benutzer eine Sitzung mit SYSADMIN als aktiver Rolle starten können:

CREATE SECURITY INTEGRATION td_oauth_int2
  TYPE = OAUTH
  ENABLED = TRUE
  OAUTH_REFRESH_TOKEN_VALIDITY = 36000
  BLOCKED_ROLES_LIST = ('SYSADMIN')
  OAUTH_CLIENT = TABLEAU_DESKTOP;
Copy

Tableau Server oder Tableau Online

Im folgenden Beispiel wird eine Snowflake OAuth-Integration mit den Standardeinstellungen erstellt:

CREATE SECURITY INTEGRATION ts_oauth_int1
  TYPE = OAUTH
  ENABLED = TRUE
  OAUTH_CLIENT = TABLEAU_SERVER;
Copy

Zeigen Sie mit DESCRIBE INTEGRATION die Integrationseinstellungen an:

DESC SECURITY INTEGRATION ts_oauth_int1;
Copy

Im folgenden Beispiel wird eine Snowflake OAuth-Integration mit Aktualisierungstoken erstellt, die nach 1 Tag (86.400 Sekunden) ablaufen. Die Integration verhindert, dass Benutzer eine Sitzung mit SYSADMIN als aktiver Rolle starten können:

CREATE SECURITY INTEGRATION ts_oauth_int2
  TYPE = OAUTH
  ENABLED = TRUE
  OAUTH_CLIENT = TABLEAU_SERVER
  OAUTH_REFRESH_TOKEN_VALIDITY = 86400
  BLOCKED_ROLES_LIST = ('SYSADMIN');
Copy

Anmelden bei Snowflake aus einer Partneranwendung

Tableau

Führen Sie die von Tableau bereitgestellten Anweisungen aus, um mit Snowflake OAuth eine Verbindung zu Snowflake herzustellen.

Wichtig

Derzeit können Tableau-Anwendungen nur die Standardrolle für einen Benutzer autorisieren. Wenn keine Standardrolle festgelegt ist, wird die Rolle PUBLIC als aktive Rolle für die Sitzung verwendet.

Looker

Führen Sie die von Looker bereitgestellten Anweisungen aus, um mit Snowflake OAuth eine Verbindung zu Snowflake herzustellen.

Alation

Greifen Sie auf die Alation Community zu, und führen Sie die von Alation bereitgestellten Anweisungen aus, um mit Snowflake OAuth eine Verbindung zu Snowflake herzustellen.

ThoughtSpot

Rufen Sie die ThoughtSpot-Dokumentation auf, und folgen Sie den Anweisungen zum Erstellen einer Verbindung zu Snowflake, die einen Schritt zur Konfiguration von Snowflake OAuth enthält.

Collibra

Rufen Sie den Collibra-Katalog der Konnektoren auf, und führen Sie die von Collibra bereitgestellten Anweisungen aus, um mit Snowflake OAuth eine Verbindung zu Snowflake herzustellen.

Fehlercodes

Unter Fehlercodes finden Sie eine Liste der mit OAuth in Verbindung stehenden Fehlercodes und der im JSON-Blob zurückgegeben Fehler, die während des Autorisierungsablaufs, der Tokenanforderung oder des Tokenaustauschs oder beim Erstellen einer Snowflake-Sitzung nach Abschluss des OAuth-Ablaufs aufgetreten sind.