Automatyzowanie zadań zewnętrznych dostawców tożsamości

Jeśli z interfejsem Edge API korzystasz z zewnętrznego IDP, proces uzyskiwania OAuth2 tokeny dostępu i odświeżania pochodzące z interakcji z dostawcą tożsamości są nazywane przepływem kodu dostępu. Za pomocą uzyskać w przeglądarce jednorazowy kod dostępu, a następnie uzyskać dostęp do OAuth2. tokeny.

Twoje środowisko programistyczne może jednak obsługiwać automatyzację w typowych zadaniach programistycznych, takich jak automatyzacja testów lub CI/CD. Aby zautomatyzować te zadania po włączeniu zewnętrznego dostawcy tożsamości, potrzebujesz sposobu na uzyskiwanie i odświeżanie tokenów OAuth2 bez konieczności kopiowania i wklejania kodu dostępu przeglądarki.

Edge obsługuje automatyczne generowanie tokenów przez wykorzystanie maszyn użytkowników w organizacjach na których jest włączony dostawca tożsamości. Użytkownik komputera może uzyskiwania tokenów OAuth2 bez konieczności podawania kodu dostępu. Oznacza to, że mogą całkowicie zautomatyzować procesu uzyskiwania i odświeżania tokenów OAuth2 przy użyciu interfejsu Edge Management API.

Istnieją 2 sposoby tworzenia użytkownika komputera w organizacji obsługującej dostawcę tożsamości:

Każdą z tych metod opisujemy w dalszej części tego artykułu.

Nie możesz utworzyć użytkownika komputera w organizacjach, w których nie włączono zewnętrznego dostawcy tożsamości.

Utwórz użytkownika komputera za pomocą funkcji apigee-ssoadminapi.sh

Użyj funkcji apigee-ssoadminapi.sh do tworzenia użytkownika maszyny w organizacji korzystającej z dostawcy tożsamości. Patrz sekcja Korzystanie z: apigee-ssoadminapi.sh. Możesz utworzyć jednego użytkownika komputera, który będzie używany przez wszystkie w Twojej organizacji. Możesz też utworzyć osobnego użytkownika komputera dla każdej z nich.

Użytkownik maszyny jest tworzony i przechowywany w magazynie danych Edge, a nie u dostawcy tożsamości. Dlatego nie odpowiadają za obsługę użytkownika urządzenia przy użyciu interfejsu Edge i zarządzania urządzeniami brzegowymi. API.

Podczas tworzenia użytkownika komputera musisz podać adres e-mail i hasło. Po podczas tworzenia użytkownika komputera, przypisujesz go do co najmniej 1 organizacji.

Aby utworzyć użytkownika komputera za pomocą narzędzia apigee-ssoadminapi.sh:

  1. Aby utworzyć użytkownika maszyny, użyj tego polecenia apigee-ssoadminapi.sh:
    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?

    Gdzie:

    • SSO_ADMIN_NAME to nazwa użytkownika administratora zdefiniowana w SSO_ADMIN_NAME w pliku konfiguracji, który służy do konfigurowania Moduł Apigee SSO. Wartość domyślna to ssoadmin.
    • SSO_ADMIN_SECRET to hasło administratora określone przez SSO_ADMIN_SECRET w pliku konfiguracyjnym.

      W tym przykładzie możesz pominąć wartości dla --port oraz --ssl, ponieważ moduł apigee-sso używa wartości domyślnej wartości 9099 dla --port i http dla --ssl. Jeśli instalacja nie będzie używać tych wartości domyślnych, określ je odpowiednio.

  2. Zaloguj się w interfejsie Edge i dodaj adres e-mail użytkownika komputera do organizacji oraz przypisz użytkownika komputera na niezbędną rolę. Zobacz Dodawanie użytkowników globalnych dla: i innych.

Tworzenie użytkownika komputera przy użyciu Edge interfejs API zarządzania

Użytkownika komputera możesz utworzyć za pomocą interfejsu Edge Management API. apigee-ssoadminapi.sh.

Aby utworzyć użytkownika maszyny za pomocą interfejsu API do zarządzania:

  1. Aby uzyskać token dla użytkownika ssoadmin, użyj podanego niżej polecenia curl, nazwa użytkownika konta administratora organizacji 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"

    Gdzie SSO_ADMIN_SECRET to hasło administratora ustawione podczas instalacji apigee-sso zgodnie z właściwością SSO_ADMIN_SECRET w tagu .

    To polecenie wyświetla token potrzebny do wykonania następnego wywołania.

  2. Za pomocą tego polecenia curl utwórz użytkownika maszyny i przekaż mu token otrzymane w poprzednim kroku:
    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"

    W kolejnych krokach będziesz potrzebować hasła użytkownika komputera.

  3. Zaloguj się w interfejsie Edge.
  4. Dodaj adres e-mail użytkownika komputera do organizacji i przypisz go do rolę niezbędną. Patrz sekcja Dodawanie na całym świecie.

Uzyskiwanie i odświeżanie tokenów użytkownika maszyny

Używanie interfejsu Edge API do uzyskiwania i odświeżania tokenów OAuth2 danych logowania, a nie kodu dostępu.

Aby uzyskać tokeny OAuth2 dla użytkownika komputera:

  1. Aby wygenerować token początkowego dostępu i odświeżania, użyj tego wywołania interfejsu API:
    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'

    Zapisz tokeny na później.

  2. Przekaż token dostępu do wywołania interfejsu Edge Management API jako nagłówek Bearer zgodnie z Oto przykład:
    curl -H "Authorization: Bearer access_token" \
      http://MS_IP_DNS:8080/v1/organizations/org_name

    Gdzie org_name to nazwa organizacji zawierającej użytkownika komputera.

  3. Aby później odświeżyć token dostępu, użyj tego wywołania zawierającego token odświeżania:
    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'