Vorgang zur Tokenerzeugung automatisieren

Sie sehen die Dokumentation zu Apigee Edge.
Zur Apigee X-Dokumentation
weitere Informationen

Wenn Sie SAML mit der Edge API verwenden, wird der Prozess, mit dem Sie OAuth2-Zugriffs- und Aktualisierungstokens aus der SAML-Assertion abrufen, als Sicherheitscode bezeichnet. Dabei rufen Sie über einen Browser einen einmaligen Sicherheitscode ab, mit dem Sie dann OAuth2-Tokens abrufen können.

Ihre Umgebung unterstützt jedoch möglicherweise Automatisierung für gängige Entwicklungsaufgaben wie Testautomatisierung oder Continuous Integration/Continuous Deployment (CI/CD). Um diese Aufgaben bei aktiviertem SAML zu automatisieren, müssen Sie OAuth2-Tokens abrufen und aktualisieren können, ohne einen Sicherheitscode aus einem Browser kopieren/einfügen zu müssen.

Informationen zu Computernutzern

Apigee Edge unterstützt Computernutzer in Ihrer SAML-fähigen Organisation. Computernutzer werden ausschließlich zur Automatisierung eingesetzt und nicht direkt von einem Menschen aufgerufen.

Ein Computernutzer kann OAuth2-Tokens abrufen, ohne einen Sicherheitscode angeben zu müssen. Das bedeutet, dass Sie den Prozess des Abrufens und Aktualisierens von OAuth2-Tokens mithilfe der Edge API vollständig automatisieren können.

Schritte zur Automatisierung des Generierungsprozesses von Tokens

So automatisieren Sie den Prozess zum Generieren von Tokens:

Step Beschreibung
1 Computernutzer in Ihrer SAML-Identitätszone erstellen
2 Weisen Sie dem Computernutzer in Ihrer Edge-Organisation die erforderlichen Rollen zu
3 OAuth2-Tokens der Computernutzer abrufen

Video: In einem kurzen Video erfahren Sie, wie Sie den Zugriff auf die Apigee Edge-APIs mithilfe von Computernutzeranmeldedaten automatisieren.

Computernutzer für SAML-Identitätszonen verwalten

Apigee bietet die Befehlszeile für die Nutzerverwaltung (Machine User Management, CLI) zum Erstellen und Verwalten von Computernutzerkonten. Die Schritte zur Verwendung der Befehlszeile für die Nutzerverwaltung werden in den folgenden Abschnitten beschrieben.

Befehlszeile verwenden

Wenn Sie die Befehlszeile für die Nutzerverwaltung verwenden möchten, laden Sie zuerst die folgende Datei herunter und entpacken Sie sie: usermgmt.tar.gz(1)

Das Format zum Aufrufen der Befehlszeile sieht so aus:

usermgmt_platform [command] [flags]

In der folgenden Tabelle sind die unterstützten Plattformen und der entsprechende Befehl zum Aufrufen der Befehlszeile zur Nutzerverwaltung für Computer 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 Computernutzer in einer Identitätszone erstellen
delete Computernutzer in einer Identitätszone löschen
help Hilfe zur Befehlszeile
list Alle Computernutzer in einer Identitätszone auflisten
reset Passwort für einen Computernutzer in einer Identitätszone zurücksetzen

Optional können Sie eines der folgenden Flags übergeben, um Hilfe für den angegebenen Befehl anzuzeigen: -h oder --help.

In der Befehlszeile anmelden

Wenn Sie die Befehlszeile zum ersten Mal innerhalb von 24 Stunden ausführen, werden Sie aufgefordert, die Anmeldedaten für Ihr zoneadmin-Konto 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 Befehlszeile zur Nutzerverwaltung speichert ein Zugriffstoken auf Ihrem lokalen Computer, sodass Sie sich nur einmal alle 24 Stunden anmelden müssen.

Hilfe zur Befehlszeile

Rufen Sie mit dem Befehl usermgmt_platform help Informationen zur Befehlszeile-Nutzung auf. Eine Liste der unterstützten Plattformen finden Sie unter Befehlszeile 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.

Rufen Sie Hilfe zu einem bestimmten Befehl auf, indem Sie den Befehl und das Flag -h oder --help in der Befehlszeile übergeben.

So erhalten Sie beispielsweise Hilfe zum list-Befehl:

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

Computernutzer in einer Identitätszone erstellen

Erstellen Sie mit dem Befehl usermgmt_platform create einen Computernutzer in einer Identitätszone. Eine Liste der unterstützten Plattformen finden Sie unter Befehlszeile 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 Computernutzer ein:
    Create a Machine User
    Username: machineuser1@mycompany.com
  4. Geben Sie ein Passwort für den Computernutzer ein. Geben Sie das Passwort noch einmal ein, wenn Sie dazu aufgefordert werden.
    Password: password
    Re-enter password: password 

    Der Nutzer wird erstellt.

    Created machine user machineuser1@mycompany.com

Alle Computernutzer in einer Identitätszone auflisten

Mit dem Befehl usermgmt_platform list listen Sie alle Computernutzer in einer Identitätszone auf. Eine Liste der unterstützten Plattformen finden Sie unter Befehlszeile 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 Computernutzer in der Identitätszone wird angezeigt:

    Machine users in the zone:
    machineuser1@mycompany.com
        

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

Setzen Sie das Passwort für einen Computernutzer in einer Identitätszone mit dem Befehl usermgmt_platformreset zurück. Eine Liste der unterstützten Plattformen finden Sie unter Befehlszeile 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 Computernutzers 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 Computernutzer ein. Geben Sie das Passwort noch einmal ein, wenn Sie dazu aufgefordert werden.
    Enter the new password: password
    Re-enter password: password

    Das Passwort wurde zurückgesetzt.

    Reset password for machine user machineuser1@mycompany.com

Computernutzer in einer Identitätszone löschen

Mit dem Befehl usermgmt_platform delete können Sie einen Computernutzer in einer Identitätszone löschen. Eine Liste der unterstützten Plattformen finden Sie unter Befehlszeile 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 für den Computernutzer ein, den Sie löschen möchten:
    Delete User
    Enter the username for the machine user
    Username: machineuser1@mycompany.com 

    Der Computernutzer wird gelöscht.

    Deleted user machineuser1@mycompany.com

Weisen Sie dem Computernutzer in Ihrer Edge-Organisation die erforderlichen Rollen zu

Fügen Sie den Computernutzer über die Benutzeroberfläche zu 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 Computernutzers abrufen

Mit den Dienstprogrammen acurl(1) und get_token(1) können Sie die Tokengenerierung automatisieren und das Token-Caching für Computernutzer verarbeiten, wie unter OAuth2 für Computernutzer und Computernutzer in SAML-Zonen beschrieben.

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

  1. Verwenden Sie Ihr bevorzugtes URL-Codierungstool, um den Nutzernamen und das Passwort des Computernutzers zu codieren.

    Warnung: Verwenden Sie ein internes URL-Codierungstool, damit die Nutzeranmeldedaten des Computers nicht kompromittiert werden.

  2. Generieren Sie die ersten Zugriffs- und Aktualisierungstokens durch Aufrufen des SAML-Token-Endpunkts, 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 -s \
      -d 'grant_type=password&username=machineusername&password=machineuserpassword'

    Übergeben Sie zur Autorisierung die reservierten Anmeldedaten des OAuth2-Clients (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 wie im folgenden Beispiel an den SAML-Token-Endpunkt senden:
    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“ im Rahmen 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.