Externen IdP mit der Edge Management API verwenden

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 userName:pWord https://ms_IP_DNS:8080/v1/organizations/orgName

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/orgName

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 Sie zur Eingabe von Nutzeranmeldedaten aufgefordert.

Das Dienstprogramm get_token speichert die Tokens auf dem Laufwerk, damit sie bei Bedarf verwendet werden können. Es gibt auch 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-Management-API-Aufrufe durchzuführen:

  1. Laden Sie das Bundle sso-cli 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.

  2. Entpacken Sie das ssocli-bundle.zip-Bundle wie im folgenden Beispiel gezeigt:
    unzip ssocli-bundle.zip
  3. 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.

  4. 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.

  5. (Nur SAML) Rufen Sie in einem Browser die folgende URL auf, um eine einmalige URL-Benachrichtigung zu erhalten. Sicherheitscode:
    http://edge_sso_IP_DNS:9099/passcode

    Wenn Sie TLS für die Apigee-SSO konfiguriert haben, verwenden Sie https und den richtigen TLS-Port Nummer.

    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.

  6. Rufen Sie get_token auf, um das OAuth2-Zugriffstoken abzurufen, wie im folgenden Beispiel gezeigt:
    get_token -u emailAddress

    Dabei ist emailAddress die E-Mail-Adresse eines Edge-Nutzers.

    (Nur SAML): Geben Sie zusätzlich zur E-Mail-Adresse den Sicherheitscode in der Befehlszeile ein. wie im folgenden Beispiel gezeigt:

    get_token -u emailAddress -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.

  7. Ü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/orgName
  8. Nachdem Sie zum ersten Mal ein neues Zugriffstoken erhalten haben, können Sie es abrufen und übergeben Sie sie in einem einzigen Befehl an einen API-Aufruf, wie das folgende Beispiel zeigt:
    header=`get_token` && curl -H "Authorization: Bearer $header"
      https://ms_IP:8080/v1/o/orgName

    Wenn das Zugriffstoken abgelaufen ist, wird es automatisch aktualisiert werden, bis das Aktualisierungstoken abläuft.

(Nur SAML) Wenn das Aktualisierungstoken abgelaufen ist, fordert get_token Sie auf, 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 verwenden Sicherheit mit der Apigee Edge-Verwaltungs-API besteht darin, dass die URL des Aufrufs auf Ihre Zonenname. Außerdem müssen Sie Folgendes angeben, um das anfängliche Zugriffstoken mit einem SAML-IdP zu generieren: den Sicherheitscode, wie in Schritt 3 der obigen Anleitung beschrieben.

Übergeben Sie für die Autorisierung die reservierten Anmeldedaten des OAuth2-Clients im Authorization Header. Der Aufruf druckt das Zugriffs- und Aktualisierungstoken auf dem Bildschirm aus.

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 /
  https://edge_sso_IP_DNS:9099/oauth/token -s /
  -d 'grant_type=password&response_type=token'

(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=refreshToken'