Openflow Connector for Salesforce Bulk API: Einrichten von Salesforce

Unter diesem Thema werden die Schritte zur Einrichtung von Salesforce für Openflow Connector for Salesforce Bulk API beschrieben.

Der Konnektor authentifiziert sich bei Salesforce mit dem OAuth 2.0JWT-Bearer-Ablauf. Dazu ist es erforderlich, ein Zertifikatschlüsselpaar zu erstellen, eine externe Client-App in Salesforce zu konfigurieren und einen Benutzer zur Verwendung der App zu autorisieren.

Wichtig

Salesforce hat verbundene Apps durch externe Client-Apps ersetzt. Wenn Sie bereits eine verbundene App haben, empfiehlt Snowflake, stattdessen eine neue externe Client-App zu erstellen.

Zertifikate erstellen

Sie benötigen einen privaten Schlüssel und ein öffentliches Zertifikat, um die externe Client-App in Salesforce zu konfigurieren. Der private Schlüssel wird vom Konnektor zum Signieren von JWT-Token verwendet, und das öffentliche Zertifikat wird in die externe Client-App in Salesforce hochgeladen, damit Salesforce die Signatur überprüfen kann.

  1. Generieren Sie den privaten Schlüssel. Sie werden nach einem Kennwort gefragt, um den privaten Schlüssel zu sichern.

    openssl genpkey -algorithm RSA -out private.key -aes256
    

    Notieren Sie sich das Kennwort. Sie benötigen es, wenn Sie die Konnektorparameter in Snowflake konfigurieren.

  2. Erstellen Sie ein selbstsigniertes Zertifikat aus dem privaten Schlüssel.

    openssl req -new -x509 -key private.key -out public.crt -days 365
    

    Sie können auch eine Zertifikatsignieranforderung (CSR) generieren, um ein Zertifikat von der CA Ihres Unternehmens signieren zu lassen.

Bemerkung

Sie sind dafür verantwortlich, die für die Schlüsselpaar-Authentifizierung verwendeten Dateien und privaten Schlüssel gemäß den Sicherheitsrichtlinien Ihrer Organisation zu schützen und zu rotieren.

Erstellen einer externen Client-App in Salesforce

Erstellen Sie mit dem JWT-Bearer-Ablauf eine externe Client-App in Salesforce. Der Konnektor erfordert diesen spezifischen OAuth-Ablauf zum Authentifizieren. Verwenden eines anderen OAuth-Ablaufs (wie z. B. Autorisierungscodeablauf) verursacht``invalid_grant``-Fehler.

  1. Melden Sie sich bei Salesforce als Administrator an.

  2. Gehen Sie zu Setup » Apps » App Manager, und wählen Sie dann New External Client App aus.

  3. Füllen Sie die erforderlichen Felder aus:

    • External Client App Name: Beispiel: Openflow connector for Salesforce Bulk API.

    • Contact Email: Beispiel: salesforceadmin@mycompany.com.

  4. Aktivieren Sie im Bereich API (Enable OAuth Settings) das Kontrollkästchen Enable OAuth.

  5. Geben Sie eine gültige Callback URL an (z. B. https://www.google.com/).

    Bemerkung

    Die Callback-URL wird von Salesforce benötigt, aber nicht von dem JWT-Bearer-Ablauf verwendet. Sie können eine beliebige URL angeben.

  6. Geben Sie die gewünschten OAuth Scopes für die Anwendung an. Die folgenden Geltungsbereiche sind erforderlich, damit der Konnektor ordnungsgemäß funktioniert:

    • Verwalten von Benutzerdaten über APIs (api)

    • Anforderungen jederzeit ausführen (refresh_token, offline_access)

  7. Aktivieren Sie unter Flow Enablement das Kontrollkästchen Enable JWT Bearer Flow, und laden Sie die public.crt-Datei hoch, die Sie im vorherigen Schritt erstellt haben.

    Wichtig

    Sie müssen speziell JWT-Bearer-Ablauf aktivieren auswählen. Aktivieren Sie keine anderen Abläufe, es sei denn, Sie haben einen bestimmten Grund dafür. Das Zertifikat, das Sie hier hochladen, muss dem privaten Schlüssel (private.key) entsprechen, den Sie in den Konnektorparametern konfigurieren.

  8. Klicken Sie auf Create, um den Anwendungserstellungsprozess abzuschließen.

  9. Gehen Sie zur Registerkarte Settings, erweitern Sie den Abschnitt OAuth Settings, und klicken Sie auf Consumer Key and Secret, um die Anmeldeinformationen für Ihre Anwendung abzurufen.

  10. Notieren Sie sich die Werte für Consumer Key und Consumer Secret zur Verwendung bei der Konnektorkonfiguration in Snowflake. Consumer Key wird in der Konnektorkonfiguration als OAuth2 Client ID verwendet.

Genehmigen der Client-App für einen Benutzer

Der Konnektor interagiert mit Salesforce APIs im Namen eines bestimmten Benutzers (z. B.OAuth2 -Subjekt, der in den Konnektorparametern konfiguriert ist). Sie müssen diesen Benutzer zur Verwendung der externen Client-App autorisieren, indem Sie die entsprechenden Profile oder Berechtigungssätze zuweisen.

Wenn dieser Schritt nicht abgeschlossen ist, erhält der Konnektor beim Versuch, sich zu authentifizieren, einen Berechtigungsfehler, auch wenn derJWT-Bearer-Ablauf korrekt konfiguriert ist.

  1. Gehen Sie zur Registerkarte Policies der Client-Anwendung.

  2. Klicken Sie auf Edit.

  3. Erweitern Sie den Abschnitt OAuth Policies, und ändern Sie Permitted Users in Admin approved users are pre-authorized.

  4. Erweitern Sie den App Policies-Bereich und wählen Sie die Profile oder Berechtigungssätze aus, die dem Salesforce-Benutzer zugewiesen sind, den der Konnektor verwenden soll. Beispiel: Wenn der Benutzer das Profil System Administrator hat, wählen Sie dieses Profil aus.

    Bemerkung

    Der Benutzer, der als OAuth2 Subject in der Konnektorkonfiguration angegeben ist, muss zu mindestens einem der hier ausgewählten Profile oder Berechtigungssätze gehören. Wenn der Benutzer nicht autorisiert ist, erhalten Sie beim Überprüfen oder Ausführen des Konnektors einen Berechtigungsfehler.

  5. Klicken Sie auf Save.

Übereinstimmung der Anmeldeinformationen verifizieren

Bevor Sie mit der Einrichtung von Snowflake fortfahren, stellen Sie sicher, dass die folgenden Anmeldeinformationen zu derselben externen Client-App und demselben Schlüsselpaar gehören:

  • Der Verbraucherschlüssel (Client-ID) wurde von der gerade erstellten externen Client-App abgerufen.

  • Der private Schlüssel (private.key) entspricht dem Zertifikat (public.crt), das in dieselbe externe Client-App hochgeladen wurden.

  • Das OAuth2-Subjekt (Benutzer) ist für diese externe Client-App über die Profil- oder Berechtigungssatz-Zuweisung autorisiert.

Wenn Sie mehrere externe Client-Apps erstellt oder mit verschiedenen Konfigurationen experimentiert haben, ist das Mischen von Anmeldeinformationen aus verschiedenen Apps oder Schlüsselpaaren eine häufige Quelle für invalid_grant-Fehler. Bei Unsicherheit erstellen Sie eine neue externe Client-App mit einem neuen Zertifikat und einem neuen Schlüsselpaar.

Nächste Schritte

Führen Sie die Snowflake-Einrichtungsaufgaben aus:

Openflow Connector for Salesforce Bulk API: Snowflake einrichten