Zum Inhalt springen

API-Schlüssel-Sicherheitsanbieter im Jitterbit App Builder

Der API-Schlüssel-Sicherheitsanbieter ermöglicht es Administratoren, die REST-APIs des App Builders mithilfe eines von App Builder generierten API-Schlüsselcodes zu sichern. Der Verbraucher übergibt den API-Schlüssel an App Builder, wenn er REST-API-Anfragen stellt. Da jeder API-Schlüssel mit einem einzelnen Benutzer verknüpft ist, bietet dies sowohl Authentifizierung als auch Autorisierung.

Definition und Anwendungsfälle

Die API-Schlüssel von App Builder bestehen aus einer 128-Bit, kryptografisch zufälligen Zahl. Die Schlüssel sind base64url kodiert. Nachfolgend ein Beispiel für einen API-Schlüssel:

DLOo9sPS5slJEMHpXBFt3g

API-Schlüssel bieten folgende Vorteile gegenüber der standardmäßigen Benutzername/Passwort-Authentifizierung:

  • Sie haben eine höhere Entropie als Kombinationen aus Benutzername und Passwort.
  • Sie überstehen eine Passwortzurücksetzung.
  • Sie können leicht widerrufen werden.
  • Sie können rotiert werden.
  • Sie sind schneller. Passwörter müssen gehasht werden, was absichtlich langsam ist.

Die Nachteile oder Schwächen von API-Schlüsseln umfassen die Verwaltung ihrer Verteilung und das Risiko von Leaks. Einige der Anwendungsfälle, in denen API-Schlüssel die geeignetste Authentifizierungsmethode sein können, sind:

  • Dienstkonten
  • Anwendung-zu-Anwendung-Kommunikation
  • Server-zu-Server-Kommunikation
  • Nur-Lese-Zugriff
  • Nicht-sensitive Informationen

Fügen Sie einen API-Schlüssel-Sicherheitsanbieter hinzu

Um einen neuen API-Schlüssel-Sicherheitsanbieter hinzuzufügen, befolgen Sie diese Schritte:

  1. Gehen Sie zu IDE > Sicherheitsanbieter. Die Sicherheits-Seite öffnet sich.

  2. Klicken Sie im Benutzerauthentifizierung-Tabelle auf + Benutzerauthentifizierung. Der Anbieter-Dialog erscheint:

    provider dialog

  3. Füllen Sie im Abschnitt Einstellungen diese Felder aus:

    1. Name: Geben Sie einen Namen ein, um Ihren API-Schlüssel-Sicherheitsanbieter zu identifizieren.

    2. Typ: Wählen Sie im Dropdown-Menü API-Schlüssel als Typ des Sicherheitsanbieters, den Sie erstellen. Dadurch werden die restlichen Felder, die im Dialog angezeigt werden, geändert.

    3. Priorität: Geben Sie eine Zahl ein, um die Reihenfolge festzulegen, in der Sicherheitsanbieter im Anmeldeformular angezeigt werden.

    4. Aktiviert: Klicken Sie auf dieses Kontrollkästchen, um den neuen Sicherheitsanbieter zu aktivieren.

    5. Identifier: Dieses Feld wird automatisch vom App Builder generiert.

  4. Füllen Sie im Abschnitt Schlüssel diese Felder aus:

    1. Standardablauf: Geben Sie an, wie viele Minuten die Standardlebensdauer neuer Schlüssel beträgt. (Änderungen an diesem Feld wirken sich nicht auf vorhandene Schlüssel aus.)

    2. Maximaler Ablauf: Geben Sie an, wie viele Minuten die maximale Lebensdauer neuer Schlüssel beträgt. (Änderungen an diesem Feld wirken sich nicht auf vorhandene Schlüssel aus.)

    3. Länge: Geben Sie die Länge (in Bytes) neuer Schlüssel an. (Änderungen an diesem Feld wirken sich nicht auf vorhandene Schlüssel aus.)

  5. Klicken Sie auf Speichern.

Nachdem Sie einen neuen API-Schlüssel-Sicherheitsanbieter gespeichert haben, werden Sie zurück zur Sicherheit-Seite geleitet, wo die Tabelle Benutzerauthentifizierung den neuen Anbieter anzeigt, den Sie gerade erstellt haben. Durch Klicken auf das -Symbol am Ende seiner Zeile können Sie die Konfiguration fortsetzen.

Konfigurieren eines API-Schlüssel-Sicherheitsanbieters

Um Ihren API-Schlüssel-Sicherheitsanbieter zu konfigurieren, gehen Sie zu IDE > Sicherheitsanbieter. Suchen Sie ihn in der Tabelle Benutzerauthentifizierung und klicken Sie auf das -Symbol am Ende seiner Zeile. Die Seite Anbieter wird angezeigt, auf der Sie zusätzliche Konfigurationen hinzufügen können. Das Anbieter-Panel auf der linken Seite zeigt dieselben Einstellungen und Schlüssel, die angezeigt werden, wenn Sie den Sicherheitsanbieter erstellt haben. Das Eigenschaften-Panel auf der rechten Seite ermöglicht es Ihnen, einige zusätzliche Parameter einzurichten, die im Folgenden beschrieben werden.

Um eine neue Eigenschaft hinzuzufügen, klicken Sie auf die Schaltfläche + Eigenschaft. Dadurch wird der Dialog Eigenschaften geöffnet, der die Felder Parameter und Wert enthält. Die folgenden Parameter sind verfügbar:

properties dialog

Hinweis

Keiner dieser Parameter ist erforderlich. Sie sollten sie nur hinzufügen, wenn es notwendig ist, die Art und Weise zu ändern, wie Ihr API-Schlüssel von der Standardkonfiguration übergeben wird. Weitere Informationen finden Sie unter API-Schlüssel übergeben.

  • AllowApiKeyInQueryString: Verwenden Sie diesen Parameter, um den API-Schlüssel im Abfrage-String anstelle im HTTP-Header zu übergeben (siehe den Abschnitt Pass an API key). Der Standardwert ist False.

  • AllowInsecureHttp: Verwenden Sie diesen Parameter, um den API-Schlüssel über eine unsichere HTTP-Anfrage anstelle einer sicheren HTTPS-Anfrage zu übergeben (siehe den Abschnitt Pass an API key). Der Standardwert ist False.

  • HttpHeaderName: Verwenden Sie diesen Parameter, um den Namen des HTTP-Headers zu ändern, der den API-Schlüssel vom Standard X-API-Key überträgt.

  • QueryStringParameterName: Wenn Sie auch die Option AllowApiKeyInQueryString verwendet haben, um den API-Schlüssel über einen der Abfrage-String-Parameter zu übergeben, können Sie diese Option verwenden, um den Namen des Parameters vom Standardnamen apiKey zu ändern (siehe den Abschnitt Pass an API key).

Klicken Sie auf Speichern und schließen Sie den Eigenschaften-Dialog. Der neue Parameter, den Sie hinzugefügt haben, wird in der Eigenschaften-Tabelle aufgeführt.

Generate an API key

Wenn Sie einen konfigurierten API-Schlüssel-Sicherheitsanbieter haben, können Sie API-Schlüssel erstellen, die mit Benutzern verknüpft sind, indem Sie die folgenden Schritte ausführen:

  1. Gehen Sie zu IDE > Runtime > Benutzerverwaltung.

  2. Das Benutzer-Panel listet alle Benutzer auf. Suchen Sie den Benutzer, für den Sie einen API-Schlüssel generieren möchten, und klicken Sie auf das -Symbol am Ende seiner Zeile.

  3. Im Benutzer-Dialog klicken Sie auf Mehr > Schlüssel. Der Schlüssel-Dialog öffnet sich.

  4. Klicken Sie auf Erstellen. Der Schlüssel generieren-Dialog wird geöffnet.

  5. Wählen Sie im Menü Anbieter den API-Schlüssel-Sicherheitsanbieter aus, den Sie erstellt haben.

  6. (Optional) Geben Sie eine Beschreibung für diesen Schlüssel an und tragen Sie eine benutzerdefinierte Ablaufzeit im Feld Gültig bis ein.

  7. Klicken Sie auf Speichern. Der API-Schlüssel wird erstellt.

Pass an API key

In den meisten Szenarien empfiehlt Jitterbit, dass der Client den API-Schlüssel über einen benutzerdefinierten Header in einer sicheren HTTPS-Verbindung übergibt, um das Risiko einer Offenlegung zu minimieren. Das folgende Beispiel veranschaulicht dies:

GET /Vinyl/rest/v1/sales/customers HTTP/1.1
Host: example.com:443
Accept: application/json
X-API-Key: ABCd0eFG1hiJKLMnOPQr2s

Dies ist das Standardverhalten, das der App Builder automatisch auswählt. Sie können auch den Parameter HttpHeaderName verwenden, wenn Sie Ihren API-Schlüssel konfigurieren, um den Namen des HTTP-Headers zu ändern, der den API-Schlüssel vom Standard X-API-Key überträgt.

Die folgenden Beispiele sind einige Ausnahmen von dieser Empfehlung:

  1. In einigen Szenarien können HTTPS-Verbindungen vorzeitig beendet werden. Um dieses Problem zu umgehen, können Sie den App Builder zwingen, API-Schlüssel zu akzeptieren, die über HTTP-Verbindungen gesendet werden, indem Sie den Parameter AllowInsecureHttp während der API-Schlüsselkonfiguration auf True setzen.

  2. In Fällen, in denen Sie keinen Zugriff auf die HTTP-Anforderungsheader haben, ist es auch möglich, den API-Schlüssel über die Abfragezeichenfolgenparameter zu senden. Um diese Option zu aktivieren, setzen Sie AllowApiKeyInQueryString auf True in den API-Schlüsselkonfigurationen. Das folgende Beispiel veranschaulicht, wie der API-Schlüssel in diesem Szenario übergeben wird:

    GET /Vinyl/rest/v1/sales/customers?apiKey=ABCd0eFG1hiJKLMnOPQr2s HTTP/1.1
    HOST: example.com:443
    Accept: application/json
    

    Hinweis

    Im obigen Beispiel wurde der Schlüssel unter dem Namen apiKey gesendet. Sie können dies ändern, indem Sie zur API-Schlüsselkonfiguration gehen und den Parameter QueryStringParameterName hinzufügen, um einen anderen Namen auszuwählen.