Korzystanie z SAML w zadaniach automatycznych

Edge for Private Cloud wer. 4.17.09

W przypadku używania SAML z interfejsem Edge API proces uzyskiwania dostępu OAuth2 i odświeżania tokenów z potwierdzenia SAML nosi nazwę przepływu kodu dostępu. Aby uzyskać jednorazowy kod dostępu, musisz użyć przeglądarki, aby uzyskać jednorazowy kod dostępu, który następnie służy do uzyskania tokenów OAuth2.

Twoje środowisko programistyczne może jednak obsługiwać automatyzację w przypadku typowych zadań programistycznych, takich jak automatyzacja testów lub ciągła integracja/ciągłe wdrażanie (CI/CD). Aby zautomatyzować te zadania przy włączonym SAML, musisz mieć sposób uzyskania i odświeżenia tokenów OAuth2 bez konieczności kopiowania i wklejania kodu dostępu z przeglądarki.

Edge obsługuje automatyczne generowanie tokenów przy użyciu użytkowników maszyn. Użytkownik komputera może uzyskać tokeny OAuth2 bez konieczności podawania kodu dostępu. Oznacza to, że możesz całkowicie zautomatyzować proces uzyskiwania i odświeżania tokenów OAuth2 za pomocą interfejsu Edge Management API.

Tworzenie użytkownika maszyny

Użyj narzędzia apigee-ssoadminapi.sh, aby utworzyć użytkownika komputera dla organizacji SAML. Więcej informacji znajdziesz w artykule o używaniu apigee-ssoadminapi.sh. Możesz utworzyć jednego użytkownika komputera dla wszystkich organizacji albo osobnego użytkownika komputera dla każdej organizacji.

Użytkownik komputera zostanie utworzony i zapisany w magazynie danych Edge, a nie u dostawcy tożsamości SAML. W związku z tym nie ponosisz odpowiedzialności za utrzymanie użytkownika maszyny przy użyciu Edge Ui i interfejsu Edge Management API.

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

Aby utworzyć użytkownika komputera:

  1. Aby utworzyć użytkownika komputera, 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, gdzie machine_user_email -u machine_user_email

    • SSO_ADMIN_NAME to nazwa użytkownika administratora zdefiniowana przez właściwość SSO_ADMIN_NAME w pliku konfiguracji używanym do konfigurowania modułu Edge SSO. Wartość domyślna to ssoadmin.
    • SSO_ADMIN_SECRET to hasło administratora określone przez właściwość SSO_ADMIN_SECRET w pliku konfiguracji.

      W tym przykładzie możesz pominąć wartości atrybutów --port i --ssl, ponieważ moduł apigee-sso korzysta z wartości domyślnych, czyli 9099 dla --port i http dla --ssl. Jeśli w Twojej instalacji nie są używane te wartości domyślne, podaj je odpowiednio.
  2. Zaloguj się w interfejsie użytkownika Edge, dodaj adres e-mail użytkownika komputera do organizacji i przypisz mu odpowiednią rolę. Więcej informacji znajdziesz w artykule Dodawanie użytkowników globalnych.

Uzyskiwanie i odświeżanie tokena użytkownika maszyny

Użyj interfejsu Edge API, aby uzyskać i odświeżyć tokeny OAuth2 przez przekazanie danych logowania użytkownika komputera zamiast hasła.

Aby uzyskać tokeny OAuth2 dla użytkownika komputera:

  1. Użyj tego wywołania API, aby wygenerować tokeny dostępu początkowego i odświeżania
    > curl -H "Content-Type: application/x-www-form-urlencoded;charset=utf-8" /
    -H "Accept: application/json;charset=utf-8" /
    -H "Authorization_login: Basic ZWRnIPNsaTplZGY2.



    edge_sso_IP_DNS
    Wywołanie wyświetla na ekranie token dostępu i tokeny odświeżania. Zapisz tokeny do późniejszego wykorzystania.
  2. Przekaż token dostępu do wywołania interfejsu Edge Management API jako nagłówek okaziciela:
    > curl -H "Authorization: Bearer access_token" http://ms_IP_DNS:8080/v1/organizations/nazwa_organizacji

    gdzie nazwa_organizacji to nazwa organizacji zawierającej użytkownika komputera.
  3. Aby później odświeżyć token dostępu, użyj tego wywołania z tokenem odświeżania
    > curl -H "Content-Type:application/x-www-form-urlencoded;charset=utf-8" /
    -H "Accept: application/json;charset=utf-8" /
    Token-H "Authorization: Basic ZWRnIP9
    NsaTplZ



    edge_sso_IP_DNS

Utwórz użytkownika maszyny za pomocą interfejsu Edge Management API

Użytkownika maszyny możesz utworzyć przy użyciu interfejsu Edge Management API, zamiast korzystać z narzędzia apigee-ssoadminapi.sh. Aby utworzyć użytkownika komputera:

  1. Aby uzyskać token dla użytkownika ssoadmin, którego nazwa użytkownika to ssoadmin, a użytkownikiem ssoadmin ma nazwę użytkownika konta administratora dla apigee-sso:
    > curl "http://edge_sso_IP_DNS:9099/oauth/token" -i -X POST /SEC
    -H/gcloud-client-identyfikator-url-zakodowany







    To polecenie wyświetla token, który jest potrzebny do następnego wywołania.
  2. Użyj tego polecenia cURL, aby utworzyć użytkownika urządzenia, ""message" wraz z potwierdzoną wartością w poprzednim kroku:
    > curl "http://edge_sso_IP_DNS:9099/Users" -i -X POST /
    -H "Accept: application/json" -H "Content-Type: application/json" /
    -d '



  3. Zaloguj się w interfejsie użytkownika Edge, dodaj adres e-mail użytkownika komputera do organizacji i przypisz mu odpowiednią rolę. Więcej informacji znajdziesz w artykule Dodawanie użytkowników globalnych.