Interfejs użytkownika i interfejs API do zarządzania Edge działają, wysyłając żądania do serwera zarządzania Edge. Serwer zarządzania obsługuje te typy uwierzytelniania:
- Proste uwierzytelnianie: zaloguj się w interfejsie użytkownika Edge lub wysyłaj żądania do interfejsu API do zarządzania Edge, podając nazwę użytkownika i hasło.
- OAuth2: wymień swoje poświadczenia Edge Basic Auth na token dostępu OAuth2 i token odświeżania. Wykonuj wywołania interfejsu Edge management API, przekazując token dostępu OAuth2 w nagłówku Bearer wywołania interfejsu API.
Edge obsługuje uwierzytelnianie przy użyciu tych zewnętrznych dostawców tożsamości:
- Security Assertion Markup Language (SAML) 2.0: generowanie dostępu OAuth na podstawie oświadczeń SAML zwróconych przez dostawcę tożsamości SAML.
- Protokół Lightweight Directory Access Protocol (LDAP): do generowania tokenów dostępu OAuth możesz użyć metody wyszukiwania i wiązania LDAP lub prostej metody uwierzytelniania z wiązaniem.
Dostawcy tożsamości SAML i LDAP obsługują środowisko logowania jednokrotnego (SSO). Korzystając z zewnętrznego dostawcy tożsamości z Edge, możesz obsługiwać logowanie jednokrotne w interfejsie użytkownika i interfejsie API Edge oraz w innych udostępnianych przez Ciebie usługach, które obsługują też zewnętrzny dostawca tożsamości.
Instrukcje w tej sekcji dotyczące włączania obsługi zewnętrznego dostawcy tożsamości różnią się od uwierzytelniania zewnętrznego w ten sposób:
- Ta sekcja dodaje obsługę logowania jednokrotnego
- Ta sekcja jest przeznaczona dla użytkowników interfejsu Edge (a nie klasycznego interfejsu)
- Ta sekcja jest obsługiwana tylko w wersji 4.19.06 lub nowszej
Logowanie jednokrotne w Apigee
Aby obsługiwać SAML lub LDAP w Edge, zainstaluj apigee-sso
, moduł logowania jednokrotnego Apigee.
Ilustracja poniżej przedstawia logowanie jednokrotne Apigee w instalacji Edge for Private Cloud:
Moduł logowania jednokrotnego Apigee możesz zainstalować w tym samym węźle, w którym znajdują się interfejs brzegowy interfejsu użytkownika i serwer zarządzania, lub w osobnym węźle. Upewnij się, że usługa SSO Apigee ma dostęp do serwera zarządzania przez port 8080.
Port 9099 musi być otwarty w nodzie Apigee SSO, aby umożliwić dostęp do logowania jednokrotnego Apigee z przeglądarki, z zewnętrznego dostawcy tożsamości SAML lub LDAP oraz z serwera zarządzającego i interfejsu użytkownika Edge. W ramach konfiguracji SSO w Apigee możesz określić, że połączenie zewnętrzne ma używać protokołu HTTP lub zaszyfrowanego HTTPS.
Apigee SSO korzysta z bazy danych Postgres dostępnej na porcie 5432 w węźle Postgres. Zazwyczaj możesz używać tego samego serwera Postgres, który został zainstalowany z Edge, czyli samodzielnego serwera Postgres lub dwóch serwerów Postgres skonfigurowanych w trybie głównym/awaryjnym. Jeśli obciążenie serwera Postgres jest wysokie, możesz utworzyć osobny węzeł Postgres tylko do logowania jednokrotnego w Apigee.
Dodaliśmy obsługę OAuth2 w Edge for Private Cloud
Jak już wspomnieliśmy, implementacja SAML w Edge opiera się na tokenach dostępu OAuth2.Dlatego dodaliśmy obsługę OAuth2 do Edge dla chmury prywatnej. Więcej informacji znajdziesz w artykule Wprowadzenie do OAuth 2.0.
Informacje o SAML
Uwierzytelnianie SAML ma kilka zalet. Korzystając z protokołu SAML, możesz:
- Przejmij pełną kontrolę nad zarządzaniem użytkownikami. Gdy użytkownicy opuszczą organizację i zostaną centralnie wyrejestrowani, automatycznie utracą dostęp do Edge.
- Kontroluj sposób uwierzytelniania użytkowników w celu uzyskania dostępu do Edge. W przypadku różnych organizacji Edge możesz wybrać różne typy uwierzytelniania.
- kontrolować zasady uwierzytelniania; Dostawca SAML może obsługiwać zasady uwierzytelniania, które są bardziej zgodne ze standardami Twojej firmy.
- Możesz monitorować logowania, wylogowania, nieudane próby logowania i działania o wysokim ryzyku w ramach wdrożenia urządzenia Edge.
Gdy włączona jest usługa SAML, dostęp do interfejsu użytkownika i interfejsu API do zarządzania Edge wymaga tokenów dostępu OAuth2. Te tokeny są generowane przez moduł logowania jednokrotnego Apigee, który akceptuje oświadczenia SAML zwracane przez dostawcę tożsamości.
Po wygenerowaniu na podstawie oświadczenia SAML token OAuth jest ważny przez 30 minut, a token odświeżania przez 24 godziny. Twoje środowisko programistyczne może 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), które wymagają tokenów o dłuższym czasie trwania. Informacje o tworzeniu specjalnych tokenów do zadań automatycznych znajdziesz w artykule Korzystanie z protokołu SAML w przypadku zadań automatycznych.
Informacje o protokole LDAP
Protokół LDAP (Lightweight Directory Access Protocol) to otwarty, standard branżowy protokół aplikacji umożliwiający dostęp do rozproszonych usług informacji katalogowych i ich obsługę. Usługi katalogowe mogą udostępniać dowolny uporządkowany zestaw rekordów, często o strukturze hierarchicznej, np. katalog firmowych adresów e-mail.
Uwierzytelnianie LDAP w Apigee SSO korzysta z modułu LDAP Spring Security. W rezultacie metody uwierzytelniania i opcje konfiguracji obsługi LDAP w usłudze Apigee SSO są bezpośrednio powiązane z tymi, które występują w Spring Security LDAP.
LDAP z Edge dla prywatnej chmury obsługuje te metody uwierzytelniania na serwerze zgodnym z LDAP:
- Wyszukaj i powiąż (wiązanie pośrednie)
- Simple Bind (direct binding)
Apigee SSO próbuje pobrać adres e-mail użytkownika i zaktualizować za jego pomocą wewnętrzny rekord użytkownika, tak aby zawierał aktualny adres e-mail, ponieważ Edge używa tego adresu do autoryzacji.
Adresy URL interfejsu Edge i interfejsu API
Adres URL używany do uzyskiwania dostępu do interfejsu użytkownika i interfejsu API do zarządzania Edge jest taki sam jak przed włączeniem 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 działa interfejs użytkownika Edge. W ramach konfigurowania interfejsu Edge możesz określić, czy połączenie ma używać protokołu HTTP, czy szyfrowanego 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ądzania. Podczas konfigurowania interfejsu API możesz określić, czy połączenie używa protokołu HTTP, czy zaszyfrowanego protokołu HTTPS.
Konfigurowanie TLS w logowaniu jednokrotnym Apigee
Domyślnie połączenie z Apigee SSO używa protokołu HTTP przez port 9099 na węźle hostującym apigee-sso
, czyli moduł Apigee SSO. Wbudowana w apigee-sso
instancja Tomcat, która obsługuje żądania HTTP i HTTPS.
Apigee SSO i Tomcat obsługują 3 tryby połączenia:
- DOWOLNA: 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 podać klucz i certyfikat TLS.
- SSL_PROXY: konfiguruje logowanie jednokrotne Apigee w trybie proxy, co oznacza, że przed
apigee-sso
zainstalowano system równoważenia obciążenia i w nim zakończono szyfrowanie TLS. Możesz określić port używany naapigee-sso
do obsługi żądań pochodzących 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 przy wysyłaniu żądań do Edge. Pamiętaj, że jest to inne niż uwierzytelnianie SAML i LDAP w przypadku logowania dewelopera na portalu. Uwierzytelnianie zewnętrznego dostawcy tożsamości na potrzeby logowania dewelopera konfigurujesz osobno. Więcej informacji znajdziesz w artykule o konfigurowaniu portalu pod kątem używania dostawców tożsamości.
W ramach konfigurowania portalu musisz podać adres URL modułu logowania jednokrotnego Apigee, który został zainstalowany za pomocą Edge: