Edge for Private Cloud v. 4.17.09
Die Standardauthentifizierung ist eine Möglichkeit, sich bei Aufrufen der Edge Management API zu authentifizieren. Sie können beispielsweise die folgende cURL-Anfrage an die Edge Management API senden, um auf Informationen zu Ihrer Organisation zuzugreifen:
curl -u userName:pWord https://ms_IP_DNS:8080/v1/organizations/orgName
In diesem Beispiel verwenden Sie die cURL-Option „-u“, um Anmeldedaten für die Basisauthentifizierung zu übergeben. Alternativ können Sie ein OAuth2-Token im Header Bearer übergeben, um Edge Management API-Aufrufe auszuführen. Beispiel:
curl -H "Authorization: Bearer <access_token>" https://ms_IP_DNS:8080/v1/organizations/orgName
Nachdem Sie SAML aktiviert haben, können Sie optional die Standardauthentifizierung deaktivieren. Wenn Sie die Standardauthentifizierung deaktivieren, funktionieren alle Skripts (Maven-Skripts, Shell-Skripts, apigeetool usw.), die auf Edge-Verwaltungs-API-Aufrufen basieren, die die Standardauthentifizierung unterstützen, nicht mehr. Sie müssen alle API-Aufrufe und Skripts aktualisieren, die die Basisauthentifizierung verwenden, um OAuth2-Zugriffstokens im Bearer-Header zu übergeben.
„get_token“ zum Abrufen und Aktualisieren von Tokens verwenden
Das Dienstprogramm get_token tauscht Ihre Basic Auth-Anmeldedaten und einen Passcode gegen ein OAuth2-Zugriffs- und Aktualisierungstoken aus. Das Dienstprogramm get_token akzeptiert Ihre Anmeldedaten und gibt ein gültiges Zugriffstoken aus. Wenn ein Token aktualisiert werden kann, wird es aktualisiert und ausgegeben. Wenn das Aktualisierungstoken abläuft, werden Nutzeranmeldedaten abgefragt.
Das Dienstprogramm get_token speichert die Tokens auf dem Laufwerk, damit sie bei Bedarf verwendet werden können. Außerdem wird ein gültiges Zugriffstoken in stdout ausgegeben.
Von dort aus können Sie Postman verwenden oder es in eine Umgebungsvariable einbetten, um es in curl zu verwenden.
Im Folgenden wird beschrieben, wie Sie mit get_token ein OAuth2-Zugriffstoken abrufen, um Edge Management 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 des DNS-Namens des Computers, auf dem das Edge-SSO-Modul gehostet wird. Wenn Sie TLS für Edge-SSO konfiguriert haben, verwenden Sie
httpsund die richtige TLS-Portnummer. - Entpacken Sie das
ssocli-bundle.zip-Bundle:unzip ssocli-bundle.zip
- Installieren Sie
get_tokenin/usr/local/bin:
./install
Mit der Option
-bkönnen Sie einen anderen Speicherort angeben:./install -b path
- Legen Sie die Umgebungsvariable
SSO_LOGIN_URLauf Ihre Log-in-URL fest. Verwenden Sie dazu das folgende Format:export SSO_LOGIN_URL="http://edge_sso_IP_DNS:9099"
Dabei ist edge_sso_IP_DNS die IP-Adresse des DNS-Namens des Computers, auf dem das Edge-SSO-Modul gehostet wird. Wenn Sie TLS für Edge-SSO konfiguriert haben, verwenden Sie
httpsund die richtige TLS-Portnummer. - Rufen Sie in einem Browser die folgende URL auf, um einen einmaligen Sicherheitscode zu erhalten:
http://edge_sso_IP_DNS:9099/passcode
Wenn Sie TLS für Edge-SSO konfiguriert haben, verwenden Sie
httpsund die richtige TLS-Portnummer.Diese URL gibt einen einmaligen Sicherheitscode zurück, der so lange gültig bleibt, bis Sie die URL aktualisieren, um einen neuen Sicherheitscode zu erhalten, oder bis Sie den Sicherheitscode mit
get_tokenverwenden, um ein Zugriffstoken zu generieren. - Rufen Sie
get_tokenauf, um das OAuth2-Zugriffstoken abzurufen:
get_token -u emailAddress
Dabei ist emailAddress die E-Mail-Adresse eines Edge-Nutzers. Sie werden aufgefordert, den einmaligen Sicherheitscode einzugeben, den Sie in Schritt 3 erhalten haben:
One Time Code ( Get one at https://edge_sso_IP.com/passcode ) Enter the passcode if SAML is enabled or press ENTER:Gib den Sicherheitscode ein. Das Dienstprogramm
get_tokenruft das OAuth2-Zugriffstoken ab, gibt es auf dem Bildschirm aus und schreibt es und das Aktualisierungstoken in~/.sso-cli.Sie können den Sicherheitscode in der Befehlszeile mit einem
get_token-Befehl im folgenden Format eingeben:get_token -u emailAddress -p passcode
- Übergeben Sie das Zugriffstoken als Bearer-Header an einen Edge Management API-Aufruf:
curl -H "Authorization: Bearer access_token" https://ms_IP:8080/v1/organizations/orgName
Nachdem Sie zum ersten Mal ein neues Zugriffstoken erhalten haben, können Sie das Zugriffstoken abrufen und mit einem einzigen Befehl an einen API-Aufruf übergeben, wie unten gezeigt:
header=`get_token` && curl -H "Authorization: Bearer $header" https://ms_IP:8080/v1/o/orgName
Wenn das Zugriffstoken abgelaufen ist, wird es mit dieser Form des Befehls automatisch aktualisiert, bis das Aktualisierungstoken abläuft.
Nach Ablauf des Aktualisierungstokens werden Sie von get_token aufgefordert, einen neuen Passcode einzugeben. Sie müssen die oben in Schritt 3 angegebene URL aufrufen und einen neuen Passcode generieren, bevor Sie ein neues OAuth-Zugriffstoken generieren können.
Verwaltungs-API zum Abrufen und Aktualisieren von Tokens verwenden
OAuth2-Sicherheit mit der Apigee Edge Management API verwenden enthält eine Anleitung, wie Sie mit der Edge Management API Tokens abrufen und Aktualisierungstokens abrufen. Sie können auch Edge API-Aufrufe für Tokens verwenden, die aus SAML-Assertions generiert wurden.
Der einzige Unterschied zwischen den API-Aufrufen, die unter OAuth2-Sicherheit mit der Apigee Edge Management API verwenden dokumentiert sind, besteht darin, dass die URL des Aufrufs auf Ihren Zonennamen verweisen muss. Außerdem müssen Sie zum Generieren des ersten Zugriffstokens den Passcode angeben, wie in Schritt 3 des obigen Verfahrens gezeigt.
Verwenden Sie beispielsweise den folgenden API-Aufruf, um die ersten Zugriffs- und Aktualisierungstokens zu generieren:
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'
Übergeben Sie zur Autorisierung reservierte OAuth2-Clientanmeldedaten im Header Authorization. Der Aufruf gibt die Zugriffs- und Aktualisierungstokens auf dem Bildschirm aus.
Wenn Sie das Zugriffstoken später aktualisieren möchten, verwenden Sie den folgenden Aufruf, der das Aktualisierungstoken enthält:
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=refreshToken'