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 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:

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

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

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

  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/ORG_NAME
  8. 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'