Zum Inhalt springen

API-Schlüssel-Sicherheitsanbieter im Jitterbit App Builder

Der API-Schlüssel-Sicherheitsanbieter ermöglicht es Administratoren, REST-APIs des App Builders mithilfe eines von App Builder generierten API-Schlüsselcodes abzusichern. Der Verbraucher übergibt den API-Schlüssel an den 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 Benutzername-Passwort-Kombinationen.
  • 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

Einen API-Schlüssel hinzufügen

Um einen neuen API-Schlüssel hinzuzufügen, gehen Sie zu IDE > Sicherheitsanbieter.

Die Sicherheits-Seite wird angezeigt, auf der die Tabelle Benutzerauthentifizierung alle aktuellen Methoden zur Benutzerauthentifizierung anzeigt. Wenn keine API-Schlüssel vorhanden sind oder wenn Sie einen neuen erstellen möchten, klicken Sie auf die Schaltfläche + Benutzerauthentifizierung. Der Dialog Anbieter wird geöffnet, der die folgenden Felder enthält:

provider dialog

  1. Im Abschnitt Einstellungen:

    1. Name: Geben Sie einen Namen ein, um Ihren API-Schlüssel 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 Ihren API-Schlüssel zu aktivieren.

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

  2. Unter dem Abschnitt Schlüssel:

    1. Standardablauf: Geben Sie an, wie viele Minuten die Standardlebensdauer neuer Schlüssel beträgt. (Änderungen in 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 in 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 in diesem Feld wirken sich nicht auf vorhandene Schlüssel aus.)

Wenn Sie fertig sind, klicken Sie auf Speichern. Wenn Sie ohne Speichern beenden möchten, klicken Sie auf Abbrechen. Nachdem Sie einen neuen API-Schlüssel gespeichert haben, werden Sie zurück zur Sicherheit-Seite geleitet, wo die Tabelle Benutzerauthentifizierung den neuen API-Schlüssel 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üssels

Um einen API-Schlüssel zu konfigurieren, gehen Sie zu IDE > Sicherheitsanbieter. Suchen Sie den API-Schlüssel, den Sie bearbeiten möchten, 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 an, die angezeigt werden, wenn Sie einen neuen Schlüssel erstellen. 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. Siehe API-Schlüssel übergeben, um mehr zu erfahren.

  • AllowApiKeyInQueryString: Verwenden Sie diesen Parameter, um den API-Schlüssel im Abfrage-String anstelle im HTTP-Header zu übergeben (siehe den Abschnitt API-Schlüssel übergeben). 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 API-Schlüssel übergeben). 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 API-Schlüssel übergeben).

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

API-Schlüssel übergeben

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 übernimmt. Wenn Sie möchten oder müssen, können Sie 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 Abfrage-String-Parameter 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

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