Zum Inhalt springen

Voraussetzungen für 3-beinige OAuth 2.0 (3LO) für den Snowflake-Connector im Integration Studio

Einführung

Dies sind die Voraussetzungen für die Verwendung von 3-beinigem OAuth 2.0 (3LO) mit dem Snowflake-Connector. Zuerst erstellen und konfigurieren Sie eine Snowflake OAuth-Sicherheitsintegration und dann konfigurieren Sie eine App-Registrierung in der Management-Konsole mit der Sicherheitsintegration.

Hinweis

Die Agent-Version 10.83 / 11.21 oder höher ist erforderlich, um 3-beinige OAuth 2.0-Authentifizierung zu verwenden.

Erstellen und Konfigurieren einer Snowflake OAuth-Sicherheitsintegration

Befolgen Sie diese Schritte, um eine Snowflake OAuth-Sicherheitsintegration zu erstellen und zu konfigurieren:

  1. Navigieren Sie in der Snowflake-Oberfläche zur Snowflake CLI.

  2. Um die Sicherheitsintegration zu erstellen, führen Sie den folgenden Befehl aus, wobei die Parameter OAUTH_REDIRECT_URI und OAUTH_CLIENT_RSA_PUBLIC_KEY basierend auf Ihrer Implementierung angepasst werden:

    CREATE SECURITY INTEGRATION jitterbit_app
      TYPE = OAUTH
      ENABLED = TRUE
      OAUTH_CLIENT = CUSTOM
      OAUTH_CLIENT_TYPE = 'CONFIDENTIAL'
      OAUTH_REDIRECT_URI = 'https://apps.<region>.jitterbit.com/design-studio/api/v1/oauth/authcode'
      OAUTH_ISSUE_REFRESH_TOKENS = TRUE
      OAUTH_REFRESH_TOKEN_VALIDITY = 86400
      BLOCKED_ROLES_LIST = ('SYSADMIN')
      OAUTH_CLIENT_RSA_PUBLIC_KEY ='ABCjkl123...';
    
    • Setzen Sie OAUTH_REDIRECT_URI auf eine der folgenden URLs (abhängig von der Region Ihrer Organisation):

      Region URL
      APAC https://apps.apac-southeast.jitterbit.com/design-studio/api/v1/oauth/authcode
      EMEA https://apps.emea-west.jitterbit.com/design-studio/api/v1/oauth/authcode
      NA https://apps.na-east.jitterbit.com/design-studio/api/v1/oauth/authcode
    • Für Informationen zu RSA-Schlüsselpaaren und zum Erhalten eines öffentlichen Schlüssels verweisen Sie auf die Snowflake-Dokumentation zu Schlüsselpaar-Authentifizierung und Schlüsselpaar-Rotation.

Für weitere Informationen zum Befehl CREATE SECURITY INTEGRATION siehe die Snowflake CREATE SECURITY INTEGRATION (Snowflake OAuth) Dokumentation.

  1. Um die Snowflake-Rollen hinzuzufügen, die mit dieser Integration interagieren sollen, führen Sie den folgenden Befehl aus. Dieses Beispiel verwendet USERADMIN, um eine App-Registrierung in der Management Console zu konfigurieren:

    Important

    Rollen, die in der PRE_AUTHORIZED_ROLES_LIST festgelegt sind, dürfen nicht in der BLOCKED_ROLES_LIST enthalten sein, die für die Sicherheitsintegration definiert ist. Rollen, die in der PRE_AUTHORIZED_ROLES_LIST festgelegt sind, müssen außerdem über ausreichende Berechtigungen verfügen, um mit den erforderlichen Datenbanken und Schemata zu interagieren, damit die Aktivitäten wie erwartet funktionieren.

    alter security integration jitterbit_app set PRE_AUTHORIZED_ROLES_LIST = ('USERADMIN')
    

    Für weitere Informationen zu Snowflake-Rollen und Zugriffskontrolle siehe die Snowflake Übersicht über die Zugriffskontrolle.

  2. Um die Client-ID und das Client-Geheimnis zu erhalten, die für eine gültige App-Registrierung erforderlich sind, führen Sie den folgenden Befehl aus:

    select system$show_oauth_client_secrets('jitterbit_app');
    
  3. Um die Autorisierungs- und Tokenanforderungs-URLs zu erhalten, die für eine gültige App-Registrierung erforderlich sind, führen Sie den folgenden Befehl aus:

    DESCRIBE SECURITY INTEGRATION jitterbit_app;
    

    Die Werte OAUTH_AUTHORIZATION_ENDPOINT und OAUTH_TOKEN_ENDPOINT sind die Autorisierungs- und Tokenanforderungs-URLs. Diese Werte benötigen Sie, um eine App-Registrierung in der Management Console zu konfigurieren.

Konfigurieren Sie eine App-Registrierung in der Management Console

Befolgen Sie diese Schritte, um die erforderlichen Werte für eine private Anwendung in der Management Console App-Registrierung zu konfigurieren:

  1. Sammeln Sie die erforderlichen Informationen aus der Snowflake OAuth-Sicherheitsintegration, die oben konfiguriert wurde:

    • Autorisierte Rollen, die in Schritt 3 verwendet werden. Zum Beispiel USERADMIN.
    • Client-ID und Client-Geheimnis, die in Schritt 4 erhalten wurden.
    • Autorisierungs-URL, die in Schritt 5 erhalten wurde (OAUTH_AUTHORIZATION_ENDPOINT).
    • Access-Token-URL und Refresh-Token-URL, die in Schritt 5 erhalten wurden (OAUTH_TOKEN_ENDPOINT).
  2. Geben Sie in der Konfiguration der App-Registrierung jede Rolle als Scope im Codeformat ein, zum Beispiel session:role:USERADMIN.

  3. Setzen Sie die Authentifizierungs-URL der App auf <snowflake_account_url>/oauth/authorize. Dieser Wert muss mit dem Wert von OAUTH_AUTHORIZATION_ENDPOINT übereinstimmen.

  4. Setzen Sie die Access-Token-URL und die Refresh-Token-URL der App auf <snowflake_account_url>/oauth/token-request. Diese Werte müssen mit dem Wert von OAUTH_TOKEN_ENDPOINT übereinstimmen.

    Hinweis

    <snowflake_account_url> muss eine gültige Snowflake-Konto-URL sein, die mit Ihrem Konto verknüpft ist. Zum Beispiel https://example-account123.snowflakecomputing.com.

  5. Gehen Sie zu Erweiterte Optionen.

    Geben Sie im Tab für Authentifizierungsanfragen unter Parameter response_type als Schlüssel und code als Wert ein. Wählen Sie dann Request URL aus dem Menü Send in aus.

Sobald die private Anwendung auf der Seite App-Registrierungen registriert ist, steht sie im Menü OAuth-Anwendung in der Snowflake-Verbindung zur Auswahl.