Edge for Private Cloud v4.18.01
Die Basisauthentifizierung ist eine Möglichkeit, sich bei Aufrufen der Edge-Verwaltungs-API zu authentifizieren. Für Sie können beispielsweise die folgende cURL-Anfrage an die Edge-Verwaltungs-API senden, um auf Informationen zuzugreifen zu Ihrer Organisation:
> curl -u userName:pWord https://ms_IP_DNS:8080/v1/organizations/orgName
In diesem Beispiel werden mit der cURL-Option „-u“ Anmeldedaten für die Basisauthentifizierung übergeben. Alternativ können Sie ein OAuth2-Token im Header Bearer übergeben, um Edge-Verwaltungs-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 Basic Auth optional deaktivieren. Wenn Sie Basic Auth deaktivieren, Maven-Skripts, Shell-Skripts, apigeetool usw., die auf Edge basieren Verwaltungs-API-Aufrufe, die Basic Auth unterstützen, funktionieren nicht mehr. Sie müssen alle API-Aufrufe und Skripts, die Basic Auth verwenden, um OAuth2-Zugriffstokens im Bearer-Header zu übergeben.
Tokens mit get_token abrufen und aktualisieren
Das Dienstprogramm get_token tauscht Ihre Anmeldedaten für die Basisauthentifizierung und einen Sicherheitscode gegen ein OAuth2-Zugriffs- und Aktualisierungstoken aus. Die get_token-Dienstprogramm akzeptiert, dass Anmeldedaten und gibt ein gültiges Zugriffstoken aus. Wenn ein Token aktualisiert werden kann, wird es aktualisiert und ausgedruckt. Wenn das Aktualisierungstoken abläuft, werden Sie zur Eingabe von Nutzeranmeldedaten aufgefordert.
Das Dienstprogramm get_token Die Tokens auf dem Laufwerk, die bei Bedarf einsatzbereit sind. Außerdem wird ein gültiges Zugriffstoken an stdout ausgegeben. Anschließend können Sie Postman verwenden oder die URL in eine Umgebungsvariable einbetten, um sie in curl zu verwenden.
Im Folgenden wird beschrieben, wie Sie mit get_token ein OAuth2-Zugriffstoken für Führen Sie Edge-Management-API-Aufrufe aus:
- 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"
wobei edge_sso_IP_DNS die IP-Adresse oder der DNS-Name des Computers ist, auf dem das Edge-SSO-Modul gehostet wird. Wenn Sie TLS für die Edge-SSO konfiguriert haben, verwenden Sie https und die richtige TLS-Portnummer. - Entpacke das ssocli-bundle.zip-Bundle:
> unzip ssocli-bundle.zip - Installieren Sie get_token unter /usr/local/bin:
> ./install Mit der Option -b können Sie einen anderen Speicherort angeben: > ./install -b path - SSO_LOGIN_URL festlegen
-Umgebungsvariable an Ihre Anmelde-URL an. Diese hat folgendes Format:
Exportieren SSO_LOGIN_URL="http://edge_sso_IP_DNS:9099"
Dabei ist edge_sso_IP_DNS die IP-Adresse des DNS-Namens der Maschine. das Edge-SSO-Modul hostet. Wenn Sie TLS für die Edge-SSO konfiguriert haben, verwenden Sie https und 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 https und die richtige TLS-Portnummer.
Hinweis: Wenn Sie derzeit nicht über Ihren Identitätsanbieter angemeldet sind, werden Sie aufgefordert, sich anzumelden.
Diese URL gibt einen Einmalpasscode zurück, der gültig bleibt, bis Sie die URL aktualisieren, um einen neuen Passcode zu erhalten, oder den Passcode mit get_token verwenden, um ein Zugriffstoken zu generieren. - Rufen Sie get_token auf, um
Das OAuth2-Zugriffstoken:
> get_token -u emailAddress
Dabei ist emailAddress die E-Mail-Adresse eines Edge-Nutzers. Sie werden aufgefordert, den Einmalcode einzugeben, den Sie in Schritt 3 erhalten haben:
Einmalcode (unter https://edge_sso_IP.com/passcode abrufen)
Geben Sie den Sicherheitscode ein, wenn SAML aktiviert ist, oder drücken Sie die Eingabetaste:
Geben Sie den Sicherheitscode ein. Das Dienstprogramm get_token ruft den OAuth2-Zugriff ab. gibt es auf dem Bildschirm aus und schreibt es zusammen mit dem 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 Sicherheitscode - Übergeben Sie das Zugriffstoken an einen Edge-Management-API-Aufruf als Bearer-Header:
> curl -H "Authorization: Bearer access_token" https://ms_IP:8080/v1/organizations/orgName
Nachdem Sie zum ersten Mal ein neues Zugriffstoken abgerufen haben, können Sie es abrufen und und übergeben sie in einem einzigen Befehl an einen API-Aufruf, 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 diesem Befehl automatisch aktualisiert bis das Aktualisierungstoken abläuft.
Nach Ablauf des Aktualisierungstokens werden Sie von get_token aufgefordert, einen neuen Sicherheitscode einzugeben. Ich müssen Sie die URL aufrufen, die in Schritt 3 oben angegeben wurde, und einen neuen Sicherheitscode generieren. Erst dann können Sie einen Neues OAuth-Zugriffstoken
Tokens mit der Verwaltungs-API abrufen und aktualisieren
OAuth2 verwenden Sicherheit mit der Apigee Edge-Verwaltungs-API enthält Anweisungen zur Verwendung der Edge-Management-API zum Abrufen und Aktualisieren von Tokens. 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 im Artikel 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 zum Generieren des anfänglichen Zugriffstokens den Sicherheitscode angeben, wie in Schritt 3 oben beschrieben.
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 im Header Authorization eine reservierte OAuth2-Clientanmeldedaten. Der Aufruf druckt die und aktualisieren Sie Tokens auf dem Bildschirm.
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'