Edge-Admin-Dienstprogramme und APIs nach dem Aktivieren von Apigee-SSO verwenden

In diesem Abschnitt wird beschrieben, wie Sie nach der Aktivierung von Apigee SSO Systemadministrator-Tools und -Befehle von Edge ausführen. Für viele Aufgaben in Edge sind Anmeldedaten für die Systemadministration erforderlich, z. B.:

  • Organisationen und Umgebungen erstellen
  • Edge-Komponenten hinzufügen und entfernen
  • apigee-adminapi.sh-Befehle ausführen

Nachdem Sie SSO in Edge aktiviert haben, deaktivieren Sie in der Regel die Standardauthentifizierung, sodass die Authentifizierung nur über den OIDC-/SAML-IdP möglich ist. Daher müssen Sie das Systemadministratorkonto Ihrem IdP hinzufügen oder einen lokalen Machine User für die Automatisierung erstellen.

Edge Management APIs als Systemadministrator aufrufen

Für viele Edge API-Aufrufe müssen Sie Anmeldedaten für die Systemadministration übergeben. Im Artikel SAML mit der Edge Management API verwenden finden Sie eine Anleitung zum Abrufen und Aktualisieren von Aktualisierungstokens mit dem get_token Dienstprogramm bei API-Aufrufen der Edge Management API.

Dienstprogramm „apigee-adminapi.sh“ mit Apigee SSO verwenden

Mit dem Dienstprogramm apigee-adminapi.sh können Sie dieselben Edge-Konfigurationsaufgaben ausführen, die Sie auch durch Aufrufe der Edge Management API ausführen. Das Dienstprogramm apigee-adminapi.sh bietet folgende Vorteile:

  • Einfache Befehlszeilenschnittstelle
  • Tab-basierte Befehlsvervollständigung
  • Hilfe- und Nutzungsinformationen
  • Anzeige des entsprechenden API-Aufrufs, wenn Sie die API testen möchten

Nachdem Sie Apigee SSO aktiviert haben, haben Sie zwei Möglichkeiten, Anmeldedaten an das Dienstprogramm apigee-adminapi.sh zu übergeben. Dies hängt davon ab, ob Sie ein menschlicher Administrator oder ein automatisiertes Skript sind.

Mit der Option -h für den Befehl können Sie alle Optionen für einen beliebigen apigee-adminapi.sh-Befehl aufrufen, einschließlich der Optionen zum Angeben von SSO-Anmeldedaten. Beispiel:

apigee-adminapi.sh orgs list -h

Inhabertoken übergeben (für menschliche Administratoren)

Da das modernisierte Apigee SSO den Legacy-Ablauf /passcode zum Kopieren und Einfügen nicht unterstützt, müssen menschliche Administratoren das Dienstprogramm get_token verwenden, um den OAuth 2.0-Gerätecodeablauf abzuschließen und das resultierende Token dann an das Skript zu übergeben.

Rufen Sie zuerst ein Token ab:

/opt/apigee/apigee-openldap/bin/get_token -u adminEmail

Verwenden Sie dann das Token beim Aufrufen des Befehls:

apigee-adminapi.sh orgs list --sso-url http://edge_sso_IP_DNS:9099 --oauth-flow passcode \
  --admin adminEmail --oauth-token token_string

Wobei:

  • oauth-flow gibt passcode an. Dadurch wird dem Legacy-Skript signalisiert, dass ein Token bereitgestellt wird.
  • oauth-token enthält den Roh-JWT-String, der von get_token abgerufen wurde.

Passwort übergeben (nur für Machine User)

Wenn Sie Infrastrukturbereitstellungen automatisieren, können Sie Anmeldedaten direkt über den Ablauf password_grant übergeben. Wenn jedoch die SAML/OIDC-Föderation aktiviert ist, können sich menschliche Schattennutzer nicht mit einem Passwort anmelden, um die Umgehung der MFA zu verhindern. Sie müssen zuerst einen expliziten Machine User in OpenLDAP bereitstellen.

apigee-adminapi.sh orgs list --sso-url http://edge_sso_IP_DNS:9099 --oauth-flow password_grant \
  --admin machineUserEmail --oauth-password machineUserPassword

Wobei:

  • Die Option sso-url gibt die URL von Apigee SSO an. Ändern Sie den Port oder das Protokoll, wenn Sie sie von 9099 und HTTP geändert haben.
  • oauth-flow gibt password_grant an.
  • machineUserEmail ist die E-Mail-Adresse des automatisierten Machine User.
  • oauth-password gibt das Passwort des Machine User an.

Edge-Dienstprogramme mit Apigee SSO verwenden

Für viele Edge-Dienstprogramme sind Anmeldedaten für die Systemadministration erforderlich, z. B.:

  • apigee-provision zum Erstellen von Organisationen, Umgebungen und virtuellen Hosts
  • setup.sh zum Hinzufügen von Knoten zu einem vorhandenen System
  • Alle anderen Dienstprogramme, bei denen Sie die Anmeldedaten des Systemadministrators in einer Konfiguration Datei angeben müssen

Diese Dienstprogramme verwenden eine Konfigurationsdatei als Eingabe, in der die Anmeldedaten des Systemadministrators angegeben sind. Bevor SSO aktiviert wird, erfolgt dies mit den folgenden Eigenschaften:

ADMIN_EMAIL="adminEmail"
APIGEE_ADMINPW="adminPWord"

Nachdem Sie Apigee SSO aktiviert haben, müssen Sie andere Eigenschaften verwenden, um die Anmeldedaten des Systemadministrators anzugeben.

Inhabertoken verwenden (für menschliche Administratoren)

Für interaktive Bereitstellungen durch menschliche Administratoren rufen Sie ein Token mit dem Dienstprogramm get_token ab und geben Sie es über die Eigenschaft OAUTH_BEARER_TOKEN an:

ADMIN_EMAIL="adminEmail"
SSO_LOGIN_URL="http://edge_sso_IP_DNS:9099"
OAUTH_FLOW="passcode"
OAUTH_BEARER_TOKEN="token_string"

Wobei:

  • OAUTH_FLOW gibt passcode an. Dadurch wird signalisiert, dass ein Token bereitgestellt wird.
  • OAUTH_BEARER_TOKEN enthält den Roh-JWT-String, der von get_token abgerufen wurde.

Passwort verwenden (nur für Machine User)

Für vollständig automatisierte Bereitstellungen geben Sie die Anmeldedaten eines explizit bereitgestellten Machine User über den Ablauf password_grant an:

ADMIN_EMAIL="machineUserEmail"
SSO_LOGIN_URL="http://edge_sso_IP_DNS:9099"
OAUTH_FLOW="password_grant"
OAUTH_ADMIN_PASSWORD="machineUserPassword"

Wobei:

  • SSO_LOGIN_URL gibt die URL von Apigee SSO an.
  • OAUTH_FLOW gibt password_grant an.
  • OAUTH_ADMIN_PASSWORD gibt das Passwort des Machine User an.