Die Basisauthentifizierung ist eine Möglichkeit zur Authentifizierung bei Aufrufen der Edge-Verwaltungs-API.
Sie können beispielsweise die folgende curl
-Anfrage an die Edge Management API senden, um Zugriff zu erhalten.
Informationen zu Ihrer Organisation:
curl -u USER_NAME:PASSWORD https://MS_IP_DNS:8080/v1/organizations/ORG_NAME
In diesem Beispiel verwenden Sie die Option curl
-u
, um die Basisauthentifizierung zu bestehen
Anmeldedaten. Alternativ können Sie ein OAuth2-Token im Bearer
-Header übergeben, um
Aufrufe der Edge-Verwaltungs-API, wie das folgende Beispiel zeigt:
curl -H "Authorization: Bearer ACCESS_TOKEN" https://MS_IP_DNS:8080/v1/organizations/ORG_NAME
Nachdem Sie einen externen IdP für die Authentifizierung aktiviert haben, können Sie optional die Basic-Version deaktivieren
Authentifizierung. Wenn Sie „Einfach“ deaktivieren
Authentifizierung, alle Skripts (z. B. Maven, Shell und apigeetool
), die
sich auf Edge-Management-API-Aufrufe, die eine Basisauthentifizierung unterstützen, nicht mehr funktionieren. Aktualisierung erforderlich
alle API-Aufrufe und -Skripts, die die Basisauthentifizierung verwenden, um OAuth2-Zugriffstokens im
Bearer
-Header.
Tokens mit get_token abrufen und aktualisieren
Das get_token
-Dienstprogramm tauscht Ihre Anmeldedaten für die Basisauthentifizierung (und in einigen Fällen ein
Sicherheitscode) für ein OAuth2-Zugriffs- und Aktualisierungstoken anfordern. Das Dienstprogramm get_token
akzeptiert Ihre
Anmeldedaten und gibt ein gültiges Zugriffstoken zurück. Wenn ein Token aktualisiert werden kann, wird das Dienstprogramm aktualisiert
und gibt sie zurück. Wenn das Aktualisierungstoken abläuft, werden Nutzerdaten angefordert.
Das Dienstprogramm get_token
speichert die Tokens auf dem Laufwerk, damit sie bei Bedarf verwendet werden können. Es
gibt außerdem ein gültiges Zugriffstoken an stdout
aus. Dann können Sie eine Browsererweiterung wie
Postman oder betten Sie ihn zur Verwendung in curl
in eine Umgebungsvariable ein.
So erhalten Sie ein OAuth2-Zugriffstoken, um Edge-Verwaltungs-API-Aufrufe auszuführen:
- Laden Sie das
sso-cli
-Bundle herunter:curl http://EDGE_SSO_IP_DNS:9099/resources/scripts/sso-cli/ssocli-bundle.zip -o "ssocli-bundle.zip"
Dabei ist EDGE_SSO_IP_DNS die IP-Adresse oder der DNS-Name der Maschine, auf der die Apigee-SSO-Modul Wenn Sie TLS für die Apigee-SSO konfiguriert haben, verwenden Sie
https
und die richtige TLS-Portnummer. - Entpacken Sie das
ssocli-bundle.zip
-Bundle wie im folgenden Beispiel gezeigt:unzip ssocli-bundle.zip
- Installieren Sie
get_token
in/usr/local/bin
, wie im folgenden Beispiel gezeigt:./install -b PATH
Mit der Option
-b
wird ein anderer Standort angegeben. - Legen Sie die Umgebungsvariable
SSO_LOGIN_URL
so auf Ihre Anmelde-URL fest: Formular:export SSO_LOGIN_URL="http://EDGE_SSO_IP_DNS:9099"
Dabei ist EDGE_SSO_IP_DNS die IP-Adresse der Maschine, auf der die Apigee-SSO gehostet wird. -Modul. Wenn Sie TLS für die Apigee-SSO konfiguriert haben, verwenden Sie
https
und den richtigen TLS-Port Nummer. - (Nur SAML) Rufen Sie in einem Browser die folgende URL auf, um einen Einmalpasscode zu erhalten:
http://EDGE_SSO_IP_DNS:9099/passcode
Wenn Sie TLS in Apigee SSO konfiguriert haben, verwenden Sie
https
und die richtige TLS-Portnummer.Bei dieser Anfrage wird ein einmaliger Sicherheitscode zurückgegeben, der so lange gültig ist, bis Sie die URL zu fordern Sie einen neuen Sicherheitscode an oder verwenden Sie den Sicherheitscode mit
get_token
, um einen ein Zugriffstoken hinzufügen.Beachten Sie, dass Sie einen Sicherheitscode nur verwenden können, wenn Sie sich mit einem SAML-IdP authentifizieren. Sie können nicht Sicherheitscode zur Authentifizierung mit einem LDAP-IdP.
- Rufe
get_token
auf, um das OAuth2-Zugriffstoken abzurufen, wie im folgenden Beispiel gezeigt:get_token -u EMAIL_ADDRESS
Dabei ist EMAIL_ADDRESS die E-Mail-Adresse eines Edge-Nutzers.
(Nur SAML) Geben Sie in der Befehlszeile zusätzlich zur E-Mail-Adresse den Sicherheitscode ein, wie im folgenden Beispiel gezeigt:
get_token -u EMAIL_ADDRESS -p PASSCODE
Das Dienstprogramm
get_token
ruft das OAuth2-Zugriffstoken ab und gibt es im Bildschirm und schreibt ihn und das Aktualisierungstoken in~/.sso-cli
. - Übergeben Sie das Zugriffstoken als
Bearer
-Header an einen Edge-Management-API-Aufruf. wie das folgende Beispiel zeigt:curl -H "Authorization: Bearer ACCESS_TOKEN" https://MS_IP:8080/v1/organizations/ORG_NAME
- Nachdem Sie zum ersten Mal ein neues Zugriffstoken erhalten haben, können Sie es mit einem einzigen Befehl abrufen und an einen API-Aufruf übergeben, wie im folgenden Beispiel gezeigt:
header=`get_token` && curl -H "Authorization: Bearer $header" https://MS_IP:8080/v1/o/ORG_NAME
Wenn das Zugriffstoken abgelaufen ist, wird es automatisch aktualisiert werden, bis das Aktualisierungstoken abläuft.
(Nur SAML) Nach Ablauf des Aktualisierungstokens werden Sie von get_token
aufgefordert, einen neuen Sicherheitscode einzugeben. Ich
Sie müssen die in Schritt 3 oben angegebene URL aufrufen und einen neuen Sicherheitscode generieren, bevor Sie einen neuen Sicherheitscode generieren können.
ein neues OAuth-Zugriffstoken.
Mit der Verwaltungs-API Daten abrufen und aktualisieren Tokens
OAuth2 verwenden Sicherheit mit der Apigee Edge-Verwaltungs-API zeigt, wie Sie die Edge-Management-API zum Abrufen und Aktualisieren von Tokens. Sie können auch Edge API-Aufrufe verwenden, um Tokens abzurufen die aus SAML-Assertions generiert wurden.
Der einzige Unterschied zwischen den API-Aufrufen, die in OAuth2-Sicherheit mit der Apigee Edge-Verwaltungs-API verwenden beschrieben sind, besteht darin, dass die URL des Aufrufs auf den Namen Ihrer Zone verweisen muss. Außerdem müssen Sie Folgendes angeben, um das anfängliche Zugriffstoken mit einem SAML-IdP zu generieren: Sicherheitscode, wie in Schritt 3 der obigen Anleitung beschrieben.
Übergeben Sie für die Autorisierung die reservierten Anmeldedaten des OAuth2-Clients im Authorization
Header. Durch den Aufruf werden die Zugriffs- und Aktualisierungstokens auf dem Bildschirm ausgegeben.
Zugriffstoken anfordern
(LDAP) Verwenden Sie den folgenden API-Aufruf, um den ersten Zugriff zu generieren und die Aktualisierung durchzuführen Tokens:
curl -H "Content-Type: application/x-www-form-urlencoded;charset=utf-8" \ -H "accept: application/json;charset=utf-8" \ -H "Authorization: Basic ZWRnZWNsaTplZGdlY2xpc2VjcmV0" -X POST \ http://EDGE_SSO_IP_DNS:9099/oauth/token -s \ -d 'grant_type=password&username=USER_EMAIL&password=USER_PASSWORD'
(SAML) Verwenden Sie den folgenden API-Aufruf, um den anfänglichen Zugriff zu generieren und die Aktualisierung zu ermöglichen. Tokens:
curl -H "Content-Type: application/x-www-form-urlencoded;charset=utf-8" \ -H "accept: application/json;charset=utf-8" \ -H "Authorization: Basic ZWRnZWNsaTplZGdlY2xpc2VjcmV0" -X POST \ https://EDGE_SSO_IP_DNS:9099/oauth/token -s \ -d 'grant_type=password&response_type=token&passcode=PASSCODE'
Für die Authentifizierung mit einem SAML-IdP ist ein temporärer Sicherheitscode erforderlich, während für die Authentifizierung mit einem LDAP-IdP ein temporärer Sicherheitscode erforderlich ist. nicht.
Zugriffstoken aktualisieren
Verwenden Sie den folgenden Aufruf, der das Aktualisierungstoken enthält, um das Zugriffstoken später zu aktualisieren:
curl -H "Content-Type:application/x-www-form-urlencoded;charset=utf-8" \ -H "Accept: application/json;charset=utf-8" \ -H "Authorization: Basic ZWRnZWNsaTplZGdlY2xpc2VjcmV0" -X POST \ https://EDGE_SSO_IP_DNS:9099/oauth/token \ -d 'grant_type=refresh_token&refresh_token=REFRESH_TOKEN'