Omówienie uwierzytelniania zewnętrznego dostawcy tożsamości (nowy interfejs użytkownika Edge)

Interfejs Edge UI i interfejs Edge Management API działają na podstawie żądań wysyłanych do serwera zarządzania Edge, który obsługuje te typy uwierzytelniania:

  • Podstawowe uwierzytelnianie: logowanie się w interfejsie Edge lub wysyłanie żądań do interfejsu API zarządzania Edge przez przekazywanie nazwy użytkownika i hasła.
  • OAuth2: wymień dane uwierzytelniające podstawowego uwierzytelniania Edge na token dostępu OAuth2 i token odświeżania. Wywołuj interfejs Edge Management API, przekazując token dostępu OAuth2 w nagłówku Bearer wywołania interfejsu API.

Edge obsługuje uwierzytelnianie za pomocą tych zewnętrznych dostawców tożsamości:

  • Security Assertion Markup Language (SAML) 2.0: generowanie dostępu OAuth z tych asercji SAML zwracanych przez dostawcę tożsamości SAML.
  • Lightweight Directory Access Protocol (LDAP): używaj metod uwierzytelniania LDAP, takich jak wyszukiwanie i powiązanie lub proste powiązanie, do generowania tokenów dostępu OAuth.

Zarówno dostawcy tożsamości SAML, jak i LDAP obsługują środowisko logowania jednokrotnego. Korzystając z zewnętrznego dostawcy tożsamości w Edge, możesz obsługiwać logowanie jednokrotne w interfejsie Edge i interfejsie API Edge, a także w innych usługach, które udostępniasz i które również obsługują zewnętrznego dostawcę tożsamości.

Instrukcje w tej sekcji dotyczące włączania obsługi zewnętrznego dostawcy tożsamości różnią się od instrukcji dotyczących uwierzytelniania zewnętrznego w ten sposób:

  • Ta sekcja dodaje obsługę SSO
  • Ta sekcja jest przeznaczona dla użytkowników interfejsu Edge (nie klasycznego interfejsu).
  • Ta sekcja jest obsługiwana tylko w wersji 4.19.06 i nowszych.

Informacje o logowaniu jednokrotnym w Apigee

Aby obsługiwać SAML lub LDAP w Edge, zainstaluj apigee-sso, czyli moduł Apigee SSO. Ilustracja poniżej przedstawia logowanie jednokrotne Apigee w instalacji Edge for Private Cloud:

Wykorzystanie portów w przypadku logowania jednokrotnego Apigee

Moduł Apigee SSO możesz zainstalować na tym samym węźle co interfejs Edge i serwer zarządzania lub na osobnym węźle. Upewnij się, że logowanie jednokrotne Apigee ma dostęp do serwera zarządzania przez port 8080.

Port 9099 musi być otwarty na węźle logowania jednokrotnego Apigee, aby obsługiwać dostęp do logowania jednokrotnego Apigee z przeglądarki, zewnętrznego dostawcy tożsamości SAML lub LDAP oraz serwera zarządzania i interfejsu Edge. W ramach konfigurowania Apigee SSO możesz określić, czy połączenie zewnętrzne ma używać protokołu HTTP czy zaszyfrowanego protokołu HTTPS.

Apigee SSO korzysta z bazy danych Postgres dostępnej na porcie 5432 na węźle Postgres. Zazwyczaj możesz używać tego samego serwera Postgres, który został zainstalowany z Edge, czyli samodzielnego serwera Postgres lub 2 serwerów Postgres skonfigurowanych w trybie główny/rezerwowy. Jeśli obciążenie serwera Postgres jest duże, możesz też utworzyć osobny węzeł Postgres tylko na potrzeby logowania jednokrotnego Apigee.

Dodaliśmy obsługę protokołu OAuth2 w Edge for Private Cloud

Jak wspomnieliśmy powyżej, implementacja SAML w Edge opiera się na tokenach dostępu OAuth2.Dlatego do Edge dla chmury prywatnej dodaliśmy obsługę OAuth2. Więcej informacji znajdziesz w artykule Wprowadzenie do OAuth 2.0.

Informacje o SAML

Uwierzytelnianie SAML ma kilka zalet. Korzystając z SAML, możesz:

  • przejąć pełną kontrolę nad zarządzaniem użytkownikami; Gdy użytkownicy odchodzą z organizacji i są centralnie pozbawiani dostępu do usług, automatycznie tracą dostęp do Edge.
  • Kontrolowanie sposobu uwierzytelniania użytkowników w celu uzyskania dostępu do Edge. Możesz wybrać różne typy uwierzytelniania dla różnych organizacji Edge.
  • Sterowanie zasadami uwierzytelniania. Dostawca SAML może obsługiwać zasady uwierzytelniania bardziej zgodne ze standardami Twojej firmy.
  • Możesz monitorować logowania, wylogowania, nieudane próby logowania i działania o wysokim ryzyku w swoim wdrożeniu Edge.

Gdy SAML jest włączony, dostęp do interfejsu Edge i interfejsu API zarządzania Edge odbywa się za pomocą tokenów dostępu OAuth2. Te tokeny są generowane przez moduł logowania jednokrotnego Apigee, który akceptuje asercje SAML zwracane przez dostawcę tożsamości.

Po wygenerowaniu z asercji SAML token OAuth jest ważny przez 30 minut, a token odświeżania – przez 24 godziny. Środowisko programistyczne może obsługiwać automatyzację typowych zadań programistycznych, takich jak automatyzacja testów lub ciągła integracja/ciągłe wdrażanie (CI/CD), które wymagają tokenów o dłuższym czasie trwania. Informacje o tworzeniu specjalnych tokenów do zadań automatycznych znajdziesz w artykule Używanie SAML w zadaniach automatycznych.

Informacje o LDAP

Protokół LDAP (Lightweight Directory Access Protocol) to otwarty standard branżowy protokołu aplikacji, który umożliwia dostęp do rozproszonych usług informacji katalogowych i zarządzanie nimi. Usługi katalogowe mogą udostępniać dowolny uporządkowany zestaw rekordów, często o strukturze hierarchicznej, np. katalog adresów e-mail w firmie.

Uwierzytelnianie LDAP w Apigee SSO korzysta z modułu Spring Security LDAP. W rezultacie metody uwierzytelniania i opcje konfiguracji obsługi LDAP w Apigee SSO są bezpośrednio powiązane z metodami i opcjami w Spring Security LDAP.

LDAP z Edge dla chmury prywatnej obsługuje te metody uwierzytelniania na serwerze zgodnym z LDAP:

  • Wyszukiwanie i wiązanie (wiązanie pośrednie)
  • Proste powiązanie (powiązanie bezpośrednie)

Apigee SSO próbuje pobrać adres e-mail użytkownika i zaktualizować nim wewnętrzny rekord użytkownika, aby w pliku znajdował się aktualny adres e-mail, ponieważ Edge używa tego adresu do autoryzacji.

Adresy URL interfejsu Edge i interfejsu API

Adres URL, którego używasz do uzyskiwania dostępu do interfejsu Edge i interfejsu Edge Management API, jest taki sam jak przed włączeniem protokołu SAML lub LDAP. W przypadku interfejsu Edge:

http://edge_UI_IP_DNS:9000
https://edge_UI_IP_DNS:9000

gdzie edge_UI_IP_DNS to adres IP lub nazwa DNS maszyny, na której jest hostowany interfejs Edge. Podczas konfigurowania interfejsu Edge możesz określić, czy połączenie ma używać protokołu HTTP, czy szyfrowanego protokołu HTTPS.

W przypadku interfejsu Edge Management API:

http://ms_IP_DNS:8080/v1
https://ms_IP_DNS:8080/v1

gdzie ms_IP_DNS to adres IP lub nazwa DNS serwera zarządzającego. Podczas konfigurowania interfejsu API możesz określić, czy połączenie ma korzystać z protokołu HTTP, czy z szyfrowanego protokołu HTTPS.

Konfigurowanie protokołu TLS w Apigee SSO

Domyślnie połączenie z Apigee SSO używa protokołu HTTP na porcie 9099 na węźle hostującym apigee-sso, czyli moduł Apigee SSO. apigee-sso ma wbudowaną instancję serwera Tomcat, która obsługuje żądania HTTP i HTTPS.

Apigee SSO i Tomcat obsługują 3 tryby połączenia:

  • DOMYŚLNIE: domyślna konfiguracja obsługuje żądania HTTP na porcie 9099.
  • SSL_TERMINATION: włączony dostęp TLS do logowania jednokrotnego Apigee na wybranym porcie. W tym trybie musisz określić klucz i certyfikat TLS.
  • SSL_PROXY::konfiguruje logowanie jednokrotne Apigee w trybie serwera proxy, co oznacza, że przed apigee-sso zainstalowano system równoważenia obciążenia i zakończono TLS w systemie równoważenia obciążenia. Możesz określić port używany na apigee-sso w przypadku żądań z systemu równoważenia obciążenia.

Włączanie obsługi zewnętrznego dostawcy tożsamości w portalu

Po włączeniu obsługi zewnętrznego dostawcy tożsamości w Edge możesz opcjonalnie włączyć ją w portalu usług dla programistów Apigee (lub po prostu w portalu). Portal obsługuje uwierzytelnianie SAML i LDAP podczas wysyłania żądań do Edge. Pamiętaj, że różni się to od uwierzytelniania SAML i LDAP w przypadku logowania dewelopera do portalu. Uwierzytelnianie zewnętrznego dostawcy tożsamości w przypadku logowania dewelopera konfiguruje się osobno. Więcej informacji znajdziesz w artykule Konfigurowanie portalu do korzystania z dostawców tożsamości.

W ramach konfigurowania portalu musisz podać adres URL modułu logowania jednokrotnego Apigee, który został zainstalowany w Edge:

Przepływ żądania/odpowiedzi z tokenami