Zum Inhalt springen

Snowflake-Verbindungsanleitung für Jitterbit App Builder

Einführung

Diese Anleitung zeigt Ihnen, wie Sie eine App Builder-App mit einem Snowflake-Konto über OAuth oder zertifikatbasierte Authentifizierung verbinden.

OAuth-Authentifizierung

Voraussetzungen

1. Richten Sie einen Sicherheitsanbieter ein

  1. Wählen Sie IDE > Sicherheitsanbieter.

  2. Klicken Sie auf die Schaltfläche + Benutzer-Authentifizierung.

  3. Setzen Sie Werte für die folgenden Felder:

    • Im Abschnitt Einstellungen:

      • Name: Geben Sie einen Namen für den Sicherheitsanbieter ein.
      • Typ: Wählen Sie OAuth.
      • Aktiviert: Ausgewählt.
    • Im Abschnitt Authentifizierung:

      • OAuth Grant: Wählen Sie Authorization Code.
      • OAuth-Client-Authentifizierung: Wählen Sie Basic.
      • OAuth-Ressourcen-Authentifizierung: Wählen Sie Bearer.
    • Im Abschnitt Tokens:

      • Besitzer: Wählen Sie Benutzer.
    • Im Abschnitt Anmelden:

      • Umleitung bei Herausforderung: Ausgewählt.
  4. Klicken Sie auf die Schaltfläche Speichern. Zusätzliche Panels erscheinen.

  5. Im Abschnitt Endpunkte klicken Sie auf die Schaltfläche + Endpunkt, und fügen Sie die folgenden Endpunkte hinzu:

    Endpunkttyp URL
    Autorisierungsendpunkt https://{Snowflake account URL}/oauth/authorize
    Token-Endpunkt https://{Snowflake account URL}/oauth/token-request
  6. Im Abschnitt Anmeldeinformationen klicken Sie auf die Schaltfläche + Anmeldeinformation, und fügen Sie die folgende Anmeldeinformation hinzu:

    Typ Benutzername Passwort
    Client OAUTH_CLIENT_ID OAUTH_CLIENT_SECRET

    Hinweis

    OAUTH_CLIENT_ID und OAUTH_CLIENT_SECRET sind Ausgaben des SYSTEM$SHOW_OAUTH_CLIENT_SECRETS Befehls.

  7. Im Abschnitt Eigenschaften klicken Sie auf + Eigenschaft, und fügen Sie die folgende Eigenschaft hinzu:

    Parameter Wert
    Scopes session:role:SYSADMIN

2. Richten Sie einen Datenserver ein

  1. Wählen Sie IDE > Datenserver.
  2. Klicken Sie auf die Schaltfläche + Server.
  3. Im Popup Server setzen Sie die Werte für Folgendes:

    • Im Abschnitt Servereinstellungen:

      • Servername: Geben Sie einen Namen für diesen Snowflake-Server ein.
      • Typ: Wählen Sie Snowflake. Zusätzliche Felder erscheinen. Setzen Sie die Werte für Folgendes:
        • URL: Die URL.
        • Warehouse: Ihren Snowflake-Warenhausnamen.
        • Datenbankname: Ihren Snowflake-Datenbanknamen.
        • Schemasname: Ihren Snowflake-Schemasnamen.
    • Im Abschnitt Sicherheit:

      • Sicherheitsanbieter: Wählen Sie den zuvor erstellten OAuth-Sicherheitsanbieter aus.
      • Benutzername: Leer lassen.
      • Passwort: Leer lassen.
    • Beschreibung: (Optional) Geben Sie eine Beschreibung für diesen Datenserver ein.

  4. Klicken Sie auf die Schaltfläche Speichern.

  5. Im Abschnitt Servereinstellungen klicken Sie auf die Schaltfläche Erweiterte Einstellungen. Das Popup Server (Erweiterte Einstellungen) öffnet sich.
  6. Klicken Sie auf die Schaltfläche Bearbeiten.
  7. Im Feld Erweitert geben Sie AuthScheme=OAuth ein.
  8. Klicken Sie auf die Schaltfläche Speichern, und schließen Sie die Popups Server (Erweiterte Einstellungen) und Server.

Sie können den Datenserver jetzt in Ihren Apps verwenden.

Zertifikatbasierte Authentifizierung

Die zertifikatbasierte Authentifizierung verwendet ein RSA-Schlüsselpaar. Der öffentliche Schlüssel ist beim Snowflake-Benutzerkonto registriert, und der App Builder verwendet die private Schlüsseldatei zur Authentifizierung.

Voraussetzungen

  • Ein aktives Snowflake Konto.
  • Ein generiertes RSA-Schlüsselpaar. Siehe Generieren des privaten Schlüssels in der Snowflake-Dokumentation für Anweisungen. Die private Schlüsseldatei (.p8) muss im Dateisystem des App Builder-Servers vorhanden und vom App Builder-Prozess lesbar sein.

1. Snowflake konfigurieren

Führen Sie die folgenden SQL-Befehle in Snowflake als Benutzer mit der Rolle ACCOUNTADMIN aus.

  1. Erstellen Sie einen Snowflake-Benutzer mit dem zugewiesenen öffentlichen Schlüssel:

    CREATE USER {username}
      LOGIN_NAME = {username}
      DISPLAY_NAME = 'App Builder (Key Auth)'
      -- The public key must be a single, continuous string.
      -- Do not include the '-----BEGIN PUBLIC KEY-----' or '-----END PUBLIC KEY-----' header lines.
      RSA_PUBLIC_KEY = '{public_key_content}';
    
  2. Gewähren Sie dem Benutzer die erforderliche Rolle:

    GRANT ROLE {role_name} TO USER {username};
    
  3. Gewähren Sie der Rolle die Nutzung der Datenbank und des Schemas:

    GRANT USAGE ON DATABASE {database_name} TO ROLE {role_name};
    GRANT USAGE ON SCHEMA {database_name}.{schema_name} TO ROLE {role_name};
    
  4. Setzen Sie den Standardkontext für den Benutzer:

    ALTER USER {username} SET
        DEFAULT_ROLE = {role_name},
        DEFAULT_WAREHOUSE = '{warehouse_name}',
        DEFAULT_NAMESPACE = '{database_name}.{schema_name}';
    

2. Einen Datenserver einrichten

  1. Wählen Sie IDE > Datenserver.
  2. Klicken Sie auf die Schaltfläche + Server.
  3. Setzen Sie im Popup Server Werte für Folgendes:

    • Im Abschnitt Servereinstellungen:

      • Servername: Geben Sie einen Namen für diesen Snowflake-Server ein.
      • Typ: Wählen Sie Snowflake. Zusätzliche Felder erscheinen. Setzen Sie Werte für Folgendes:
        • URL: Die URL.
        • Warehouse: Ihren Snowflake-Warenhausnamen.
        • Datenbankname: Ihren Snowflake-Datenbanknamen.
        • Schemasname: Ihren Snowflake-Schemasnamen.
    • Im Abschnitt Sicherheit:

      • Sicherheitsanbieter: Leer lassen.
      • Benutzername: Geben Sie den in Schritt 1 erstellten Snowflake-Benutzernamen ein.
      • Passwort: Leer lassen.
    • Beschreibung: (Optional) Geben Sie eine Beschreibung für diesen Datenserver ein.

  4. Klicken Sie auf die Schaltfläche Speichern.

  5. Klicken Sie im Abschnitt Servereinstellungen auf die Schaltfläche Erweiterte Einstellungen. Das Popup Server (Erweiterte Einstellungen) öffnet sich.
  6. Klicken Sie auf die Schaltfläche Bearbeiten.
  7. Geben Sie im Feld Erweitert die folgende Verbindungszeichenfolge ein, wobei Sie {path_to_private_key_file} durch den absoluten Pfad zur .p8-Privatschlüsseldatei auf dem App Builder-Server ersetzen:
AuthScheme=PrivateKey;PrivateKeyType=PEMKEY_FILE;PrivateKey={path_to_private_key_file}
  1. Klicken Sie auf die Schaltfläche Speichern und schließen Sie dann die Popups Server (Erweiterte Einstellungen) und Server.

Sie können den Datenserver jetzt in Ihren Apps verwenden.

Fehlerbehebung

Wenn Sie Probleme mit Snowflake haben, werden die folgenden Schritte zur Fehlerbehebung empfohlen:

  1. Aktivieren Sie Datenprotokollierung, um Protokolldateien und Daten zu generieren, die Sie herunterladen und überprüfen können.

  2. Konsultieren Sie die CData ADO.NET Provider für Snowflake-Dokumentation für detaillierte Informationen.