SAML mit automatisierten Aufgaben verwenden

Edge for Private Cloud Version 4.18.01

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

Ihre Entwicklungsumgebung 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.

Edge unterstützt die automatische Tokengenerierung durch die Verwendung von Computernutzern. Ein Computernutzer kann OAuth2-Tokens abrufen, ohne einen Sicherheitscode angeben zu müssen. Das bedeutet, dass Sie den Prozess zum Abrufen und Aktualisieren von OAuth2-Tokens mithilfe der Edge-Verwaltungs-API vollständig automatisieren können.

Computernutzer erstellen

Verwenden Sie das Dienstprogramm apigee-ssoadminapi.sh, um einen Computernutzer für eine SAML-Organisation zu erstellen. Weitere Informationen finden Sie unter apigee-ssoadminapi.sh verwenden. Sie können einen einzelnen Computernutzer erstellen, der von allen Organisationen verwendet wird, oder für jede Organisation einen separaten Computernutzer.

Der Computernutzer wird im Edge-Datenspeicher und nicht in Ihrem SAML-Identitätsanbieter erstellt und gespeichert. Daher sind Sie nicht für die Wartung des Computernutzers mithilfe der Edge Ui und der Edge-Verwaltungs-API verantwortlich.

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

So erstellen Sie einen Computernutzer:

  1. Verwenden Sie den folgenden Befehl apigee-ssoadminapi.sh, 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 -u machine_user_password:

    • SSO_ADMIN_NAME ist der Administrator-Nutzername, der durch die Eigenschaft SSO_ADMIN_NAME in der Konfigurationsdatei definiert ist, die zum Konfigurieren des Edge-SSO-Moduls verwendet wird. Der Standardwert ist ssoadmin.
    • SSO_ADMIN_SECRET ist das Administratorpasswort, das in der Konfigurationsdatei in der Eigenschaft SSO_ADMIN_SECRET angegeben ist.

      In diesem Beispiel können Sie die Werte für --port und --ssl weglassen, da das Modul apigee-sso die Standardwerte 9099 für --port und http für --ssl verwendet. Wenn Ihre 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 Ihren Organisationen hinzu und weisen Sie dem Computernutzer die erforderliche Rolle zu. Weitere Informationen finden Sie unter Globale Nutzer hinzufügen.

Nutzertoken der Maschine abrufen und aktualisieren

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

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

  1. Verwenden Sie den folgenden API-Aufruf, um die ersten 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 ZWRnZWNsaTplZGdl_edge 'id


    edge_sso_IP_DNS
    Der Aufruf gibt die Zugriffs- und Aktualisierungstokens auf dem Bildschirm aus. Speichern Sie die Tokens zur späteren Verwendung.
  2. Übergeben Sie das Zugriffstoken an einen Edge-Management-API-Aufruf als Bearer-Header:
    > curl -H „Authorization: Bearer access_token“ http://ms_IP_DNS:8080/v1/organizations/orgName

    , wobei orgName der Name der Organisation ist, die den Computernutzer enthält.
  3. Verwenden Sie zum späteren Aktualisieren des Zugriffstokens den folgenden Aufruf, der das Aktualisierungstoken enthält:
    > curl -H "Content-Type:application/x-www-form-urlencoded;charset=utf-8" /
    -H "Accept: application/json;charset=utf-8" /
    -H "token_Token/refresh_Token: -H "token_Refresh" /
    -H "token_Token/Refresh" -H "token0Refresh" Basic ZWRnZWNsaTplZGdlY2xpc2VjcmV0, der -H "token0refresh_Token: Basic ZWRnZWVNsaTpcZ2" :

    edge_sso_IP_DNS

Maschinennutzer mithilfe der Edge Management API erstellen

Sie können einen Maschinennutzer mit der Edge Management API anstelle des Dienstprogramms apigee-ssoadminapi.sh erstellen. So erstellen Sie einen Computernutzer:

  1. Verwenden Sie den folgenden cURL-Befehl, um ein Token für den Nutzer ssoadmin-






    edge_sso_IP_DNS

    Mit diesem Befehl wird ein Token angezeigt, das Sie für den nächsten Aufruf benötigen.
  2. Verwenden Sie den folgenden cURL-Befehl, um den Computernutzer zu erstellen, 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-Token" /
    "user_token" /{user_name" /"user_token" /{user_name" /"user_email" /"


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