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:
-
Im Abschnitt Einstellungen:
-
Name: Geben Sie einen Namen ein, um Ihren API-Schlüssel zu identifizieren.
-
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.
-
Priorität: Geben Sie eine Zahl ein, um die Reihenfolge festzulegen, in der Sicherheitsanbieter im Anmeldeformular angezeigt werden.
-
Aktiviert: Klicken Sie auf dieses Kontrollkästchen, um Ihren API-Schlüssel zu aktivieren.
-
Kennung: Dieses Feld wird automatisch vom App Builder generiert.
-
-
Unter dem Abschnitt Schlüssel:
-
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.)
-
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.)
-
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:
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 istFalse
. -
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 istFalse
. -
HttpHeaderName
: Verwenden Sie diesen Parameter, um den Namen des HTTP-Headers zu ändern, der den API-Schlüssel vom StandardX-API-Key
überträgt. -
QueryStringParameterName
: Wenn Sie auch die OptionAllowApiKeyInQueryString
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 StandardnamenapiKey
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:
-
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 aufTrue
setzen. -
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
aufTrue
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.