Vorgang zur Tokenerzeugung automatisieren

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

Wenn Sie SAML mit der Edge API verwenden, erhalten Sie den OAuth2-Zugriff und Aktualisierungstokens aus der SAML-Assertion wird als Sicherheitscode-Vorgang bezeichnet. Mit dem Sicherheitscode verwenden Sie einen Browser, um einen einmaligen Sicherheitscode zu erhalten, den Sie dann verwenden, um OAuth2 zu erhalten. Tokens.

Ihre Umgebung unterstützt jedoch möglicherweise die Automatisierung gängiger Entwicklungsaufgaben, wie Testautomatisierung oder Continuous Integration/Continuous Deployment (CI/CD). Zum Automatisieren diese Aufgaben ausführen, wenn SAML aktiviert ist, müssen Sie OAuth2-Tokens ohne einen Sicherheitscode aus einem Browser kopieren und einfügen müssen.

Computernutzer

Apigee Edge unterstützt Computernutzer in Ihrer SAML-fähigen Organisation. Computernutzer werden ausschließlich zur Automatisierung verwendet 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 Abrufen und Aktualisieren von OAuth2-Tokens mithilfe der Edge API.

Schritte zum Automatisieren der Tokengenerierung

So automatisieren Sie die Tokengenerierung:

Schritt 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 diesem 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 zur Nutzerverwaltung für Maschinen (CLI) zum Erstellen und Verwalten von Computernutzerkonten. Die Schritte zur Verwendung der Befehlszeile für die Computernutzerverwaltung werden in den folgenden Abschnitten beschrieben.

Befehlszeile verwenden

Wenn Sie die Befehlszeile für die Computernutzerverwaltung 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 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 für die Computernutzerverwaltung 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 zum 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 für die Computernutzerverwaltung speichert ein Zugriffstoken auf Ihrem lokalen Computer, sodass Sie sich innerhalb von 24 Stunden nur einmal anmelden müssen.

Hilfe zur Verwendung der Befehlszeile

Rufen Sie mit dem Befehl usermgmt_platform help Informationen zur Befehlszeilennutzung 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 sowohl den Befehl als auch das Flag -h oder --help in die Befehlszeile einfügen.

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 den Namen einer Zone in die Eingabeaufforderung 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

Listen Sie alle Computernutzer in einer Identitätszone mit dem Befehl usermgmt_platform list 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 den Namen einer Zone in die Eingabeaufforderung 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_platform reset 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 den Namen einer Zone in die Eingabeaufforderung 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

Löschen Sie mit dem Befehl usermgmt_platform delete 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 delete
    Die Liste der Identitätszonen wird angezeigt:
    myzone1
    myzone2
  2. Geben Sie den Namen einer Zone in die Eingabeaufforderung 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 Ihrer SAML-fähigen Edge-Organisation hinzu und weisen Sie ihm die erforderlichen Rollen zu (z. B. Organisationsadministrator), enthalten, wie unter Nutzer hinzufügen beschrieben.

OAuth2-Tokens des Computernutzers abrufen

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

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

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

    Warnung:Verwenden Sie ein internes Codierungstool für URLs, um sicherzustellen, dass die Nutzeranmeldedaten des Computers nicht kompromittiert werden.

  2. Generieren Sie die anfänglichen Zugriffs- und Aktualisierungstokens, indem Sie den SAML-Tokenendpunkt aufrufen, 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 druckt die Zugriffs- und Aktualisierungstokens in stdout

  3. Übergeben Sie das Zugriffstoken an einen Edge-Management-API-Aufruf als Bearer-Header:
    curl -H "Authorization: Bearer ACCESS_TOKEN" \
      https://api.enterprise.apigee.com/v1/organizations/orgName
  4. Nach Ablauf des Zugriffstokens können Sie es aktualisieren, indem Sie das Aktualisierungstoken an das SAML-Team senden. Tokenendpunktes, 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“ zur Verfügung gestellt. im Bereich Vereinbarung zur Nutzung der Google Cloud Platform, einschließlich des Dienstes Spezifische Nutzungsbedingungen sind unter https://cloud.google.com/terms/service-terms verfügbar.