Korzystanie z SAML za pomocą interfejsu API do zarządzania Edge

Edge for Private Cloud w wersji 4.19.01

Uwierzytelnianie podstawowe to jeden ze sposobów uwierzytelniania podczas wykonywania wywołań interfejsu Edge Management API. Dla: możesz na przykład wysłać poniższe żądanie cURL do interfejsu Edge Management API, aby uzyskać dostęp do informacji o Twojej organizacji:

curl -u userName:pWord https://ms_IP_DNS:8080/v1/organizations/orgName

W tym przykładzie do przekazywania podstawowych danych uwierzytelniających służy opcja cURL -u. Ewentualnie może przekazać token OAuth2 w nagłówku Bearer, aby utworzyć interfejs Edge Management API połączeń. Na przykład:

curl -H "Authorization: Bearer access_token" https://ms_IP_DNS:8080/v1/organizations/orgName

Po włączeniu SAML możesz opcjonalnie wyłączyć uwierzytelnianie podstawowe. jeśli wyłączysz uwierzytelnianie podstawowe, wszystkie skrypty (skrypty Maven, skrypty powłoki, apigeetool itp.), które korzystają z Edge wywołania interfejsu zarządzania API obsługujące uwierzytelnianie podstawowe nie będą już działać. Musisz zaktualizować wszystkie wywołania interfejsu API oraz skrypty, które korzystają z uwierzytelniania podstawowego do przekazywania tokenów dostępu OAuth2 w nagłówku Bearer.

Używanie get_token do pobierania i odświeżania tokenów

Narzędzie get_token wymienia dane uwierzytelniające podstawowe uwierzytelnianie i kod dostępu na token dostępu OAuth2 i token odświeżania. Narzędzie get_token akceptuje dane logowania i wydrukuje prawidłowy token dostępu. Jeśli token można odświeżyć, spowoduje to jego odświeżenie i go wydrukować. Jeśli token odświeżania wygaśnie, pojawi się prośba o podanie danych logowania użytkownika.

Sklepy z narzędziami get_token tokeny na dysku gotowe do użycia w razie potrzeby. Wyświetla również prawidłowy token dostępu do standardowego protokołu. Następnie możesz użyć Postmana lub umieścić go w zmiennej środowiskowej do wykorzystania w curl.

Poniżej opisaliśmy, jak za pomocą polecenia get_token uzyskać token dostępu OAuth2 dla wykonaj wywołania interfejsu Edge Management API:

  1. Pobierz sso-cli. pakiet:
    curl http://edge_sso_IP_DNS:9099/resources/scripts/sso-cli/ssocli-bundle.zip -o "ssocli-bundle.zip"

    gdzie edge_sso_IP_DNS to adres IP komputera z nazwą DNS i hostuje moduł Edge SSO. Jeśli masz skonfigurowane logowanie TLS na Edge SSO, użyj aplikacji https oraz prawidłowy numer portu TLS.

  2. Rozpakuj pakiet ssocli-bundle.zip:
    unzip ssocli-bundle.zip
  3. Zainstaluj get_token w /usr/local/bin:
    ./install -b, aby określić inna lokalizacja: > ./instalacja -b ścieżka
  4. Ustaw SSO_LOGIN_URL. do adresu URL logowania w postaci:
    eksport SSO_LOGIN_URL="http://edge_sso_IP_DNS:9099"

    gdzie edge_sso_IP_DNS to adres IP nazwy DNS komputera i hostuje moduł Edge SSO. Jeśli masz skonfigurowane szyfrowanie TLS na Edge SSO, użyj https i prawidłowego numeru portu TLS.
  5. W przeglądarce otwórz ten adres URL, aby otrzymać jednorazowy kod dostępu:
    http://edge_sso_IP_DNS:9099/passcode

    Jeśli masz skonfigurowane TLS na Edge SSO, użyj https i prawidłowego numeru portu TLS.

    Uwaga: jeśli nie zalogujesz się obecnie przez dostawcę tożsamości, pojawi się prośba o zalogowanie.

    Ten adres URL zwraca jednorazowy kod dostępu, który pozostaje ważny do momentu odświeżenia go w celu uzyskania lub użyjesz kodu dostępu z get_token do wygenerowania tokena dostępu.
  6. Aby uzyskać, wywołaj get_token token dostępu OAuth2:
    get_token -u emailAddress

    gdzie emailAddress to adres e-mail użytkownika Edge. Jesteś pojawi się prośba o wpisanie jednorazowego kodu dostępu uzyskanego w kroku 3:
    Kod jednorazowy ( kup go u https://edge_sso_IP.com/passcode )
    Wpisz kod dostępu, jeśli usługa SAML jest włączona, lub naciśnij ENTER:


    Wpisz kod dostępu. Narzędzie get_token uzyskuje dostęp OAuth2 token, wydrukuje go na ekranie, a potem zapisze go wraz z tokenem odświeżania w ~/.sso-cli.

    Hasło możesz wpisać w wierszu poleceń, używając polecenia get_token w formacie:
    > get_token -u emailAddress -p kod dostępu
  7. Przekaż token dostępu do wywołania interfejsu Edge Management API jako nagłówek Bearer:
    > curl -H "Authorization: Bearer” access_token" https://ms_IP:8080/v1/organizations/orgName

    Po uzyskaniu nowego tokena dostępu po raz pierwszy możesz go uzyskać, przekazać ją do wywołania interfejsu API w jednym poleceniu, jak w tym przykładzie:
    > nagłówek=`get_token` && curl -H "Authorization: Bearer $header" https://ms_IP:8080/v1/o/orgName

    W przypadku tej formy polecenia po wygaśnięciu token dostępu jest automatycznie odświeżany aż do wygaśnięcia tokena odświeżania.

Gdy token odświeżania wygaśnie, get_token poprosi o podanie nowego kodu dostępu. Ty musi przejść do adresu URL wskazanego powyżej w kroku 3 i wygenerować nowy kod dostępu, zanim będzie można wygenerować nowy token dostępu OAuth

Pobieranie i odświeżanie przy użyciu interfejsu API zarządzania tokeny

Przy użyciu protokołu OAuth2 zabezpieczeń w Apigee Edge Management API zawiera instrukcje, które pokazują, jak korzystać Interfejs Edge Management API pozwalający uzyskiwać i odświeżać tokeny. Do tokenów możesz też używać wywołań interfejsu Edge API wygenerowanych na podstawie asercji SAML.

Jedyna różnica między wywołaniami interfejsu API udokumentowanymi w sekcji Korzystanie z zabezpieczeń OAuth2 za pomocą interfejsu Apigee Edge Management API oznacza, że adres URL wywołania musi odnosić się do Twojej strefy. imię i nazwisko. Ponadto podczas generowania początkowego tokena dostępu musisz podać kod dostępu, przedstawione w kroku 3 powyższej procedury.

Aby na przykład wygenerować tokeny 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 /
  https://edge_sso_IP_DNS:9099/oauth/token -s /
  -d 'grant_type=password&response_type=token&passcode=passcode'  

Na potrzeby autoryzacji przekaż zarezerwowane dane logowania klienta OAuth2 w nagłówku Authorization (Autoryzacja). Podczas rozmowy zostanie wydrukowany i odświeżać tokeny na ekranie.

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 /
https://edge_sso_IP_DNS:9099/oauth/token /
-d 'grant_type=refresh_token&refresh_token=refreshToken'