Vorgang zur Tokenerzeugung automatisieren

Sie lesen gerade die Apigee Edge-Dokumentation.
Zur Apigee X-Dokumentation.
info

Wenn Sie SAML mit der Edge API verwenden, wird der Prozess zum Abrufen von OAuth2-Zugriffs- und Aktualisierungstokens aus der SAML-Assertion als der Passcode-Ablauf bezeichnet. Beim Sicherheitscode Ablauf rufen Sie mit einem Browser einen einmaligen Sicherheitscode ab, mit dem Sie dann OAuth2 Tokens abrufen.

Ihre Umgebung unterstützt jedoch möglicherweise die Automatisierung für häufige Entwicklungsaufgaben, wie Testautomatisierung oder Continuous Integration/Continuous Deployment (CI/CD). Wenn SAML aktiviert ist, benötigen Sie eine Möglichkeit, OAuth2-Tokens abzurufen und zu aktualisieren, ohne einen Passcode aus einem Browser kopieren und einfügen zu müssen.

Informationen zu Maschinenbenutzern

Apigee Edge unterstützt Maschinenbenutzer in Ihrer SAML-fähigen Organisation. Maschinenbenutzer werden ausschließlich für die Automatisierung verwendet und nicht direkt von einer Person aufgerufen.

Ein Maschinenbenutzer kann OAuth2-Tokens abrufen, ohne einen Passcode angeben zu müssen. Das bedeutet, dass Sie den Prozess zum Abrufen und Aktualisieren von OAuth2-Tokens mithilfe der Edge API vollständig automatisieren können.

Schritte zum Automatisieren des Tokengenerierungsprozesses

So automatisieren Sie den Tokengenerierungsprozess:

Schritt Beschreibung
1 Maschinenbenutzer in Ihrer SAML-Identitätszone erstellen
2 Maschinenbenutzer in Ihrer Edge-Organisation die erforderlichen Rollen zuweisen
3 OAuth2-Tokens des Maschinenbenutzers abrufen

Video:Sehen Sie sich ein Kurzvideo an, um zu erfahren, wie Sie den Zugriff auf die Apigee Edge APIs mithilfe von Anmeldedaten für Maschinenbenutzer automatisieren.

Maschinenbenutzer für SAML-Identitätszonen verwalten

Apigee bietet die Befehlszeilenschnittstelle (Command-Line Interface, CLI) zur Verwaltung von Maschinenbenutzern, mit der Sie Maschinenbenutzerkonten erstellen und verwalten können. Die Schritte zur Verwendung der CLI zur Verwaltung von Maschinenbenutzern werden in den folgenden Abschnitten beschrieben.

CLI verwenden

Wenn Sie die CLI zur Verwaltung von Maschinenbenutzern verwenden möchten, laden Sie zuerst die folgende Datei herunter und entpacken Sie sie: usermgmt.tar.gz(1)

Das Format für den Aufruf der CLI ist wie folgt:

usermgmt_platform [command] [flags]

In der folgenden Tabelle sind die unterstützten Plattformen und der entsprechende Befehl zum Aufrufen der CLI zur Verwaltung von Maschinenbenutzern zusammengefasst. Die ausführbaren Dateien befinden sich im Verzeichnis usermgmt.

Plattform 32-Bit 64‑Bit
Linux usermgmt_linux_386 usermgmt_linux_amd64
Mac usermgmt_darwin_386 usermgmt_darwin_amd64
Windows usermgmt_windows_386 usermgmt_windows_amd64

In der folgenden Tabelle sind die Befehle zusammengefasst, die angegeben werden können.

Befehl Weitere Informationen
create Maschinenbenutzer in einer Identitätszone erstellen
delete Maschinenbenutzer in einer Identitätszone löschen
help Hilfe zur Verwendung der CLI aufrufen
list Alle Maschinenbenutzer in einer Identitätszone auflisten
reset Passwort für einen Maschinenbenutzer in einer Identitätszone zurücksetzen

Optional können Sie eines der folgenden Flags übergeben, um Hilfe zum angegebenen Befehl aufzurufen: -h oder --help

In der CLI anmelden

Wenn Sie die CLI zum ersten Mal innerhalb von 24 Stunden ausführen, werden Sie aufgefordert, die Anmeldedaten für Ihr zoneadmin einzugeben.

Enter your Apigee credentials
Username: zoneadmin-username
Password: zoneadmin-password
If your user is opted with MFA, enter MFA code. Otherwise press enter to skip.
MFA: mfa-code_or_enter_to_skip

Die CLI zur Verwaltung von Maschinenbenutzern speichert ein Zugriffstoken auf Ihrem lokalen Computer, sodass Sie sich nur einmal pro 24 Stunden anmelden müssen.

Hilfe zur Verwendung der CLI aufrufen

Rufen Sie mit dem Befehl usermgmt_platform help Informationen zur Verwendung der CLI auf. Eine Liste der unterstützten Plattformen finden Sie unter CLI verwenden.

usermgmt_platform help

Die folgenden Hilfeinformationen werden angezeigt:

A command-line interface (CLI) to manage machine user accounts to automate
Apigee identity zone management. Use the CLI to create, list, delete,
and reset the password for machine users.

Usage:
  usermgmt [flags]
  usermgmt [command]

Available Commands:
  create  Creates a machine users in an identity zone.
  delete  Deletes a machine users in an identity zone.
  help    Help about any command
  list    Lists the machine users in an identity zone.
  reset   Resets the password for a machine user in an identity zone.

Flags:
  -h, --help               help for usermgmt

Use "usermgmt [command] --help" for more information about a command.

Wenn Sie Hilfe zu einem bestimmten Befehl aufrufen möchten, übergeben Sie sowohl den Befehl als auch das Flag -h oder --help in der Befehlszeile.

Beispiel: So rufen Sie Hilfe zum Befehl „list“ auf:

usermgmt_platform list -h

Die folgenden Hilfeinformationen werden angezeigt:

Lists the machine users in an identity zone.

Usage:
  usermgmt list [flags]

Flags:
  -h, --help   help for list

Maschinenbenutzer in einer Identitätszone erstellen

Erstellen Sie mit dem Befehl usermgmt_platform create einen Maschinenbenutzer in einer Identitätszone. Eine Liste der unterstützten Plattformen finden Sie unter CLI verwenden.

  1. Geben Sie den folgenden Befehl ein:
    usermgmt_platform create

    Die Liste der Identitätszonen wird angezeigt:

    myzone1
    myzone2
  2. Geben Sie an der Eingabeaufforderung den Namen einer Zone ein:
    Enter a zone name: myzone1
  3. Geben Sie einen Nutzernamen für den Maschinenbenutzer ein:
    Create a Machine User
    Username: machineuser1@mycompany.com
  4. Geben Sie ein Passwort für den Maschinenbenutzer ein. Geben Sie das Passwort ein, wenn Sie dazu aufgefordert werden.
    Password: password
    Re-enter password: password 

    Der Nutzer wird erstellt.

    Created machine user machineuser1@mycompany.com

Alle Maschinenbenutzer in einer Identitätszone auflisten

Listen Sie mit dem Befehl usermgmt_platform list alle Maschinenbenutzer in einer Identitätszone auf. Eine Liste der unterstützten Plattformen finden Sie unter CLI verwenden.

  1. Geben Sie den folgenden Befehl ein:
    usermgmt_platform list
    Die Liste der Identitätszonen wird angezeigt:
    myzone1
    myzone2
  2. Geben Sie an der Eingabeaufforderung den Namen einer Zone ein:
    Enter a zone name: myzone1

    Die Liste der Maschinenbenutzer in der Identitätszone wird angezeigt:

    Machine users in the zone:
    machineuser1@mycompany.com
        

Passwort für einen Maschinenbenutzer in einer Identitätszone zurücksetzen

Setzen Sie mit dem Befehl usermgmt_platform reset das Passwort für einen Maschinenbenutzer in einer Identitätszone zurück. Eine Liste der unterstützten Plattformen finden Sie unter CLI verwenden.

  1. Geben Sie den folgenden Befehl ein:
    usermgmt_platform reset

    Die Liste der Identitätszonen wird angezeigt:

    myzone1
    myzone2
  2. Geben Sie an der Eingabeaufforderung den Namen einer Zone ein:
    Enter a zone name: myzone1
  3. Geben Sie den Nutzernamen des Maschinenbenutzers ein, dessen Passwort Sie zurücksetzen möchten:
    Reset User Password
    Enter the username for the machine user
    Username: machineuser1@mycompany.com
  4. Geben Sie ein neues Passwort für den Maschinenbenutzer ein. Geben Sie das Passwort ein, wenn Sie dazu aufgefordert werden.
    Enter the new password: password
    Re-enter password: password

    Das Passwort wird zurückgesetzt.

    Reset password for machine user machineuser1@mycompany.com

Maschinenbenutzer in einer Identitätszone löschen

Löschen Sie mit dem Befehl usermgmt_platform delete einen Maschinenbenutzer in einer Identitätszone. Eine Liste der unterstützten Plattformen finden Sie unter CLI verwenden.

  1. Geben Sie den folgenden Befehl ein:
    usermgmt_platform delete
    Die Liste der Identitätszonen wird angezeigt:
    myzone1
    myzone2
  2. Geben Sie an der Eingabeaufforderung den Namen einer Zone ein:
    Enter a zone name: myzone1
  3. Geben Sie den Nutzernamen des Maschinenbenutzers ein, den Sie löschen möchten:
    Delete User
    Enter the username for the machine user
    Username: machineuser1@mycompany.com 

    Der Maschinenbenutzer wird gelöscht.

    Deleted user machineuser1@mycompany.com

Maschinenbenutzer in Ihrer Edge-Organisation die erforderlichen Rollen zuweisen

Fügen Sie den Maschinenbenutzer über die Benutzeroberfläche Ihrer SAML-fähigen Edge-Organisation hinzu und weisen Sie ihm die erforderlichen Rollen zu (z. B. Organisationsadministrator), wie unter Nutzer hinzufügen beschrieben.

OAuth2-Tokens des Maschinenbenutzers abrufen

Sie können den Tokengenerierungsprozess automatisieren und das Token-Caching für Maschinenbenutzer mit den acurl(1) und get_token(1) Dienstprogrammen verwalten, wie unter OAuth2 für Maschinenbenutzer und Maschinenbenutzer in SAML-Zonen beschrieben.

So rufen Sie die OAuth2-Tokens des Maschinenbenutzers manuell mit curl ab:

  1. Codieren Sie den Nutzernamen und das Passwort des Maschinenbenutzers mit Ihrem bevorzugten URL-Codierungstool.

    Warnung: Verwenden Sie ein internes URL-Codierungstool, um sicherzustellen, dass die Anmeldedaten des Maschinenbenutzers nicht kompromittiert werden.

  2. Generieren Sie die ersten Zugriffs- und Aktualisierungstokens, indem Sie den SAML-Token-Endpunkt aufrufen, der im folgenden Beispiel gezeigt wird:
    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://zoneName.login.apigee.com/oauth/token -s \
      -d 'grant_type=password&username=machineusername&password=machineuserpassword'

    Übergeben Sie zur Autorisierung die reservierten OAuth2-Clientanmeldedaten ZWRnZWNsaTplZGdlY2xpc2VjcmV0 im Authorization Header. Der Aufruf gibt die Zugriffs- und Aktualisierungstokens in stdout aus.

  3. Übergeben Sie das Zugriffstoken als Bearer-Header an einen Edge Management API-Aufruf:
    curl -H "Authorization: Bearer ACCESS_TOKEN" \
      https://api.enterprise.apigee.com/v1/organizations/orgName
  4. Wenn das Zugriffstoken abläuft, können Sie es aktualisieren, indem Sie das Aktualisierungstoken an den SAML Token-Endpunkt senden, wie im folgenden Beispiel gezeigt:
    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://zoneName.login.apigee.com/oauth/token \
      -d 'grant_type=refresh_token&refresh_token=REFRESH_TOKEN'

(1) Copyright 2023 Google LLC
Die Tools usermgmt, acurl und get_token werden als "Software" gemäß der Vereinbarung zur Nutzung der Google Cloud Platform zur Verfügung gestellt, einschließlich der dienstspezifischen Nutzungsbedingungen unter https://cloud.google.com/terms/service-terms.