Mit SAML auf die Edge API zugreifen

<ph type="x-smartling-placeholder"></ph> Sie sehen die Dokumentation zu Apigee Edge.
Gehen Sie zur Apigee X-Dokumentation.
Weitere Informationen

SAML unterstützt eine Umgebung für die Einmalanmeldung (SSO). Wenn Sie SAML mit Edge verwenden, können Sie die Einmalanmeldung (SSO) unterstützen. für die Edge-Benutzeroberfläche und -API zusätzlich zu allen anderen Diensten, die Sie bereitstellen und die auch SAML aus.

Voraussetzung: Sie müssen SAML für mindestens aktivieren aktivieren. eine Organisation, bevor Sie damit auf die Edge API zugreifen können.

Unterschiede zwischen SAML und OAuth2

Nach der Einrichtung von SAML funktioniert die Verwendung ähnlich wie die Verwendung von OAuth2 für den Zugriff der Edge API. Wenn Sie die Edge-API aufrufen, fügen Sie ein OAuth2-Zugriffstoken in Ihre Anfrage.

Der Hauptunterschied zwischen SAML und OAuth2 beim Zugriff auf die Edge API liegt in der Art und Weise, erhalten Sie Tokens. Bei SAML müssen Sie beim Abrufen Ihrer Token-Paar:

  1. Zonen: Edge für Nutzer der öffentlichen Cloud müssen beim Abrufen von Tokens auf ihren Zonennamen verweisen.
  2. Sicherheitscode:Geben Sie einen einmaligen Sicherheitscode an, wenn Sie einen Zugriff anfordern bzw. eine Aktualisierung anfordern. Token-Paar.

SAML verwendet dieselben Endpunkte im Edge OAuth2-Dienst, wobei der entsprechende Zonenname hinzugefügt wird.

Um Zugriffstokens mit SAML zu erhalten, können Sie eine der folgenden Methoden verwenden, die in diesem Abschnitt beschrieben werden:

Darüber hinaus können Sie die Tokengenerierung für Computernutzer automatisieren, wie unter Tokengenerierung automatisieren beschrieben.

Zugriffstokens mit get_token abrufen

Mit dem Dienstprogramm get_token können Sie Ihre Anmeldedaten für OAuth2-Zugriff und Aktualisierungstokens, die Sie mit SAML verwenden.

So rufen Sie ein Zugriffstoken mit get_token ab:

  1. Legen Sie die Umgebungsvariable SSO_LOGIN_URL auf Ihre Anmelde-URL fest. Die Anmelde-URL enthält folgendes Format:
    https://zoneName.login.apigee.com

    Legen Sie beispielsweise für eine Zone mit dem Namen „acme“ SSO_LOGIN_URL auf „https://acme.login.apigee.com“ fest. wie das folgende Beispiel zeigt:

    export SSO_LOGIN_URL=https://acme.login.apigee.com
  2. Rufen Sie get_token auf, um das OAuth2-Zugriffstoken abzurufen:
    get_token -u me@example.com

    Sie werden aufgefordert, die angezeigte URL aufzurufen, um einen einmaligen Sicherheitscode zu erhalten:

    Get passcode from https://acme.login.apigee.com/passcode
    [Note:  Passcode can be used only time time and expires] Input passcode (no spaces) and then press ENTER:

    Wenn Sie sich in letzter Zeit nicht über Ihren Identitätsanbieter angemeldet haben, werden Sie aufgefordert, sich anzumelden. .

    Diese URL gibt einen einmaligen Sicherheitscode zurück, der so lange gültig ist, bis Sie die URL zu rufen Sie einen neuen Sicherheitscode ab oder verwenden Sie den Sicherheitscode mit get_token, um einen ein Zugriffstoken hinzufügen. Beispiel:

  3. Geben Sie den Sicherheitscode ein. Das Dienstprogramm get_token ruft die OAuth2-Tokens ab, gibt das Zugriffstoken in stdout aus und schreibt die Zugriffs- und Aktualisierungstokens an ~/.sso-cli.

  4. Rufen Sie die Edge API auf und übergeben Sie das Zugriffstoken im Authorization: Bearer. wie im folgenden Beispiel gezeigt wird:
    curl https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval \
      -H "Authorization: Bearer ACCESS_TOKEN"

    Der Wert des Zugriffstokens kann aus stdout kopiert werden.

    Dieses Beispiel ruft Details zur angegebenen Organisation ab. Eine vollständige Liste der Verwaltungs- API-Endpunkte finden Sie in der Apigee Edge API-Referenz.

Wenn Ihr Zugriffstoken abläuft, können Sie get_token noch einmal aufrufen, um einen neuen Zugriff zu erhalten Token. Beispiel:

get_token -u me@example.com

Sie werden erst dann zur Eingabe eines neuen Sicherheitscodes aufgefordert, wenn das Aktualisierungstoken abläuft.

Wenn das Aktualisierungstoken abläuft, werden Sie von get_token aufgefordert, einen neuen Sicherheitscode einzugeben. Du musst Generieren Sie einen neuen Sicherheitscode, bevor Sie ein neues OAuth2-Zugriffstoken generieren können.

Zugriffstokens mit dem Edge OAuth2-Dienst abrufen

Sie können den Edge OAuth2-Dienst verwenden, um Zugriffstokens abzurufen, die Sie mit SAML verwenden. Authentifizierung die Edge API verwenden, verwenden Sie bei Ihrer ersten Anfrage einen Sicherheitscode, um einen Zugriff zu erhalten bzw. eine Aktualisierung zu erhalten. Tokenpaar und noch einmal, um ein neues Tokenpaar zu erhalten.

So rufen Sie ein Tokenpaar mit der Edge API ab:

  1. Rufen Sie in einem Browser die folgende URL auf, um einen einmaligen Sicherheitscode zu erhalten:
    https://zoneName.login.apigee.com/passcode

    Rufen Sie beispielsweise für eine Zone mit dem Namen „acme“ die folgende URL auf:

    https://acme.login.apigee.com/passcode

    Wenn Sie sich in letzter Zeit nicht über Ihren Identitätsanbieter angemeldet haben, werden Sie aufgefordert, sich anzumelden. .

    Diese URL gibt einen einmaligen Sicherheitscode zurück, der als Anmeldedaten für den Abruf von Tokens dient. Er bleibt gültig, bis Sie die URL zu rufen Sie einen neuen Sicherheitscode ab oder verwenden Sie den Sicherheitscode mit get_token, um einen ein Zugriffstoken hinzufügen. Beispiel:

  2. Senden Sie eine Anfrage an die Edge API, wie das folgende Beispiel zeigt:
    curl https://zoneName.login.apigee.com/oauth/token \
          -s \
          -H "Accept: application/json" \
          -d 'grant_type=password&response_type=token&passcode=passcode'

    passcode dient als Anmeldedaten für die Autorisierung.

    Wobei:

    • Der Header Authorization ist „Basic ZWRnZWNsaTplZGdlY2xpc2VjcmV0“ (verwenden Sie diese genauen Wert).
    • Der Anfragetyp ist POST.
    • Der Text der Anfrage enthält Folgendes: <ph type="x-smartling-placeholder">
        </ph>
      • grant_type ist „password“.
      • response_type ist „Token“.
      • passcode, wobei passcode der Sicherheitscode ist, der im vorherigen Schritt zurückgegeben wurde.

    Der Aufruf druckt das Zugriffs- und Aktualisierungstoken auf dem Bildschirm aus.

So aktualisieren Sie Ihr Zugriffstoken:

Senden Sie eine Anfrage an https://zoneName.login.apigee.com/oauth/token, wie das folgende Beispiel zeigt:

curl https://zoneName.login.apigee.com/oauth/token \
      -d 'grant_type=refresh_token&refresh_token=REFRESH_TOKEN'

Wobei:

  • Der Anfragetext enthält Folgendes: <ph type="x-smartling-placeholder">
      </ph>
    • grant_type ist „refresh_token“.
    • refresh_token ist der Wert des Aktualisierungstokens.
  • Der Header Authorization ist „Basic ZWRnZWNsaTplZGdlY2xpc2VjcmV0“ (verwenden Sie diese genauen Wert).
  • Der Anfragetyp ist POST.

Mit SAML auf die Edge API zugreifen

Sie können Tools wie curl oder das Apigee-Dienstprogramm acurl verwenden. bis auf die Edge-API zugreifen.

Mit curl rufen Sie die Edge API auf und übergeben das Zugriffstoken in der Authorization: Bearer-Headers wie im folgenden Beispiel gezeigt:

curl https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval \
  -H "Authorization: Bearer ACCESS_TOKEN"

Bei acurl müssen Sie den Authorization-Header nicht angeben. Beispiel:

acurl https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval

In diesen Beispielen wird ein Edge API-Endpunkt aufgerufen, der Details über die angegebene Organisation abruft. Eine vollständige Liste der Edge API-Endpunkte finden Sie in der Apigee Edge API-Referenz.

Weitere Methoden zum API-Aufruf, einschließlich Möglichkeiten, um sicherzustellen, dass Ihr Token erhalten bleibt Informationen hierzu finden Sie unter Mit OAuth2 auf die Edge API zugreifen.

Computernutzer in SAML-Zonen

Sie können die Dienstprogramme acurl und get_token verwenden, um Scripts für den automatisierten Zugriff zu erstellen zu den Edge APIs für Computernutzer in SAML-Zonen. Das folgende Beispiel zeigt, wie Sie get_token für Folgendes verwenden: Fordern Sie ein Zugriffstoken an und fügen Sie den Tokenwert dann einem curl-Aufruf hinzu:

  USER=me@example.com
  PASS=not-that-secret
  TOKEN=$(get_token -u $USER:$PASS -m '' --force-basic-auth)
  curl -H "Authorization: Bearer $TOKEN" 'https://api.enterprise.apigee.com/v1/organizations/...'

Im obigen Beispiel wird durch Festlegen des Werts von -m auf einen leeren String verhindert, dass ein Computernutzer nicht zur Eingabe eines MFA-Codes aufgefordert. Mit dem Flag --force-basic-auth wird die Die Standardaufforderung für einen Sicherheitscode, der durch Anfragen mit SAML-Zonen ausgelöst wird.

Alternativ können Sie die Tokenanfrage und den curl-Aufruf mit dem acurl-Dienstprogramm kombinieren. Beispiel:

  USER=me@example.com
  PASS=not-that-secret
  acurl -u $USER:$PASS -m '' --force-basic-auth 'https://api.enterprise.apigee.com/v1/organizations/...'