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

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.

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.