Aufgaben für externe IdPs automatisieren

Wenn Sie einen externen IDP mit der Edge API verwenden, ist der Prozess, mit dem Sie OAuth2 erhalten, Zugriffs- und Aktualisierungstoken aus der IdP-Interaktion wird als Ablauf des Sicherheitscodes bezeichnet. Mit der verwenden Sie einen Browser, um einen Einmal-Sicherheitscode zu erhalten, den Sie dann verwenden, um OAuth2 Tokens.

Ihre Entwicklungsumgebung unterstützt jedoch möglicherweise die Automatisierung gängiger Entwicklungsaufgaben, wie Testautomatisierung oder CI/CD. Um diese Aufgaben zu automatisieren, wenn ein externer IdP aktiviert ist, OAuth2-Tokens abrufen und aktualisieren können, ohne einen Sicherheitscode von einem Browser.

Edge unterstützt die automatische Tokengenerierung durch die Verwendung von Maschinennutzern innerhalb von Organisationen mit aktiviertem IdP. Ein Computernutzer kann OAuth2-Token abrufen, ohne einen Sicherheitscode angeben zu müssen. Das bedeutet, dass Sie Ihre Der Prozess zum Abrufen und Aktualisieren von OAuth2-Tokens mithilfe der Edge-Verwaltungs-API.

Es gibt zwei Möglichkeiten, einen Computernutzer für eine IdP-aktivierte Organisation zu erstellen:

Jede dieser Methoden wird in den folgenden Abschnitten beschrieben.

Sie können keinen Computernutzer für Organisationen erstellen, für die kein externer IdP aktiviert ist.

Computernutzer mit apigee-ssoadminapi.sh erstellen

apigee-ssoadminapi.sh verwenden um einen Computernutzer in einer Organisation mit aktiviertem Identitätsanbieter zu erstellen. Weitere Informationen finden Sie unter Verwenden von apigee-ssoadminapi.sh. Sie können einen einzelnen Computernutzer erstellen, der von allen Organisationen erstellen oder für jede Organisation einen separaten Computernutzer erstellen.

Der Computernutzer wird im Edge-Datenspeicher erstellt und gespeichert, nicht in Ihrem IdP. Dementsprechend haben Sie sind nicht für die Wartung des Computernutzers mithilfe der Edge-Benutzeroberfläche und der Edge-Verwaltung verantwortlich. der API erstellen.

Wenn Sie den Computernutzer erstellen, müssen Sie eine E-Mail-Adresse und ein Passwort angeben. Nachher Sie den Computernutzer erstellen, weisen Sie ihn einer oder mehreren Organisationen zu.

So erstellen Sie einen Computernutzer mit apigee-ssoadminapi.sh:

  1. Verwenden Sie den folgenden apigee-ssoadminapi.sh-Befehl, um den Computernutzer zu erstellen:
    apigee-ssoadminapi.sh saml machineuser add --admin SSO_ADMIN_NAME \
      --secret SSO_ADMIN_SECRET --host Edge_SSO_IP_or_DNS \
      -u machine_user_email -p machine_user_password

    QUESTION/TBD: Does apigee-ssoadminapi.sh also take "ldap" as an argument?

    Wobei:

    • SSO_ADMIN_NAME ist der durch den SSO_ADMIN_NAME in der Konfigurationsdatei, die zur Konfiguration des Apigee-SSO-Modul Der Standardwert ist ssoadmin.
    • SSO_ADMIN_SECRET ist das Administratorpasswort, das im SSO_ADMIN_SECRET fest.

      In diesem Beispiel können Sie die Werte für --port und --ssl, da das Modul apigee-sso die Standardeinstellung 9099 für --port und http für --ssl. Wenn Ihr werden bei der Installation diese Standardeinstellungen nicht verwendet; geben Sie sie entsprechend an.

  2. Melden Sie sich in der Edge-Benutzeroberfläche an, fügen Sie die E-Mail-Adresse des Computernutzers zu Ihren Organisationen hinzu und weisen Sie dem Computernutzer die erforderliche Rolle. Weitere Informationen finden Sie unter Globale Nutzer hinzufügen für mehr.

Computernutzer mit Edge erstellen Verwaltungs-API

Sie können einen Computernutzer mit der Edge-Verwaltungs-API anstelle der Dienstprogramm apigee-ssoadminapi.sh.

So erstellen Sie einen Computernutzer mit der Verwaltungs-API:

  1. Verwenden Sie den folgenden curl-Befehl, um ein Token für den ssoadmin-Nutzer abzurufen: Nutzername des Administratorkontos für apigee-sso:
    curl "http://Edge_SSO_IP_DNS:9099/oauth/token" -i -X POST \
      -H 'Accept: application/json' / -H 'Content-Type: application/x-www-form-urlencoded' \
      -d "response_type=token" -d "grant_type=client_credentials" \
      --data-urlencode "client_secret=SSO_ADMIN_SECRET" \
      --data-urlencode "client_id=ssoadmin"

    Dabei ist SSO_ADMIN_SECRET das Administratorpasswort, das Sie bei der Installation festgelegt haben. apigee-sso, wie durch die Eigenschaft SSO_ADMIN_SECRET im Konfigurationsdatei.

    Mit diesem Befehl wird ein Token angezeigt, das Sie für den nächsten Aufruf benötigen.

  2. Erstellen Sie mit dem folgenden curl-Befehl den Computernutzer und übergeben Sie das Token, das Sie im vorherigen Schritt erhalten haben:
    curl "http://edge_sso_IP_DNS:9099/Users" -i -X POST \
      -H "Accept: application/json" -H "Content-Type: application/json" \
      -d '{"userName" : "machine_user_email", "name" :
        {"formatted":"DevOps", "familyName" : "last_name", "givenName" :
        "first_name"}, "emails" : [ {"value" :
        "machine_user_email", "primary" : true } ], "active" : true,
        "verified" : true, "password" : "machine_user_password" }' \
      -H "Authorization: Bearer token"

    Sie benötigen das Computernutzerpasswort in späteren Schritten.

  3. Melden Sie sich bei der Edge-Benutzeroberfläche an.
  4. Fügen Sie die E-Mail-Adresse des Computernutzers Ihren Organisationen hinzu und weisen Sie den Computernutzer der die notwendige Rolle spielen. Weitere Informationen finden Sie unter Hinzufügen für Nutzer weltweit.

Maschinennutzertokens abrufen und aktualisieren

Verwenden Sie die Edge API, um OAuth2-Tokens abzurufen und zu aktualisieren, indem Sie die Anmeldedaten anstelle eines Sicherheitscodes zu verwenden.

So rufen Sie OAuth2-Tokens für den Computernutzer ab:

  1. Verwenden Sie den folgenden API-Aufruf, um die anfänglichen Zugriffs- und Aktualisierungstokens zu generieren:
    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 \
      http://Edge_SSO_IP_DNS:9099/oauth/token -s \
      -d 'grant_type=password&username=m_user_email&password=m_user_password'

    Speichern Sie die Tokens zur späteren Verwendung.

  2. Übergeben Sie das Zugriffstoken an einen Aufruf der Edge-Verwaltungs-API als Bearer-Header wie Das folgende Beispiel zeigt:
    curl -H "Authorization: Bearer access_token" \
      http://MS_IP_DNS:8080/v1/organizations/org_name

    Dabei ist org_name der Name der Organisation, zu der der Computernutzer gehört.

  3. Verwenden Sie den folgenden Aufruf, der das Aktualisierungstoken enthält, um das Zugriffstoken später zu aktualisieren:
    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 \
      http://edge_sso_IP_DNS:9099/oauth/token \
      -d 'grant_type=refresh_token&refresh_token=refreshToken'