Konfigurowanie portalu pod kątem korzystania z zewnętrznych dostawców tożsamości

Portal usług dla programistów Apigee (lub portal) działa jako klient Apigee Edge. Oznacza to, że portal nie działa jako samodzielny system. Zamiast tego większość informacji używanych przez portal jest w rzeczywistości przechowywana w Edge. W razie potrzeby portal wysyła żądanie pobrania informacji z Edge lub wysłania ich do Edge.

Portal jest zawsze powiązany z jedną organizacją Edge. Podczas konfigurowania portalu możesz podać podstawowe dane uwierzytelniające (nazwę użytkownika i hasło) konta w organizacji, za pomocą którego portal będzie używać go do komunikacji z Edge.

Jeśli zdecydujesz się włączyć zewnętrzny dostawca tożsamości, taki jak SAML lub LDAP, na potrzeby uwierzytelniania Edge możesz skonfigurować portal tak, aby używał tego uwierzytelniania podczas wysyłania żądań do Edge. Skonfigurowanie portalu pod kątem korzystania z zewnętrznego dostawcy tożsamości powoduje automatyczne utworzenie w organizacji Edge nowego konta użytkownika maszyny, za pomocą którego portal będzie używać go do wysyłania żądań do Edge. Więcej informacji o użytkownikach komputerów znajdziesz w artykule Automatyzacja zadań w przypadku zewnętrznych dostawców tożsamości.

Obsługa zewnętrznej dostawcy tożsamości w portalu wymaga zainstalowania i skonfigurowania modułu logowania jednokrotnego w Apigee w węźle serwera zarządzania brzegowym. Ogólna procedura włączania zewnętrznego dostawcy tożsamości w portalu wygląda tak:

  1. Zainstaluj moduł logowania jednokrotnego Apigee zgodnie z opisem w artykule Instalowanie logowania jednokrotnego Apigee w celu uzyskania wysokiej dostępności.
  2. Zainstaluj portal i upewnij się, że instalacja działa prawidłowo. Zobacz Instalowanie portalu.
  3. Skonfiguruj SAML lub LDAP w portalu zgodnie z opisem w tej sekcji.
  4. (Opcjonalnie) Wyłącz uwierzytelnianie podstawowe w Edge zgodnie z opisem w sekcji Wyłączanie uwierzytelniania podstawowego w Edge.

Tworzenie użytkownika maszyny dla portalu

Gdy włączony jest zewnętrzny dostawca tożsamości, Edge obsługuje automatyczne generowanie tokenów OAuth2 za pomocą 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.

Proces konfiguracji dostawcy tożsamości dla portalu automatycznie tworzy użytkownika maszyny w organizacji powiązanej z portalem. Portal używa następnie tego konta użytkownika maszyny do łączenia się z Edge. Więcej informacji o użytkownikach komputerów znajdziesz w artykule Automatyzacja zadań w przypadku zewnętrznych dostawców tożsamości.

Informacje o uwierzytelnianiu kont dewelopera portalu

Gdy skonfigurujesz portal do korzystania z zewnętrznego dostawcy tożsamości, możesz włączyć w nim użycie SAML lub LDAP do uwierzytelniania w Edge. Dzięki temu portal będzie mógł wysyłać żądania do Edge. Portal obsługuje też jednak użytkowników o nazwie developers.

Programiści tworzą społeczność użytkowników, którzy tworzą aplikacje za pomocą interfejsów API. Deweloperzy aplikacji mogą w nim korzystać z portalu, aby poznawać interfejsy API, rejestrować aplikacje korzystające z Twoich interfejsów API, wchodzić w interakcje ze społecznością deweloperów oraz wyświetlać w panelu informacje statystyczne o korzystaniu z aplikacji.

Gdy deweloper loguje się w portalu, to portal odpowiada za uwierzytelnianie dewelopera i egzekwowanie uprawnień opartych na rolach. Portal nadal używa uwierzytelniania podstawowego w przypadku programistów nawet po włączeniu uwierzytelniania dostawcy tożsamości między portalem a Edge. Więcej informacji znajdziesz w artykule o komunikacji między portalem a Edge.

Możesz też skonfigurować portal tak, aby używał SAML lub LDAP do uwierzytelniania deweloperów. Przykład włączania SAML przy użyciu modułów Drupal innych firm znajdziesz w artykule Integracja logowania jednokrotnego przez SAML z portalem dla programistów.

Plik konfiguracji dostawcy tożsamości dla portalu

Aby skonfigurować zewnętrznego dostawcę tożsamości dla portalu, musisz utworzyć plik konfiguracji, który określa jego ustawienia.

Poniższy przykład przedstawia plik konfiguracji portalu z obsługą dostawcy tożsamości:

# IP address of Edge Management Server and the node on which the Apigee SSO module is installed.
IP1=22.222.22.222

# URL of Edge management API.
MGMT_URL=http://$IP1:8080/v1

# Organization associated with the portal.
EDGE_ORG=myorg

# Information about the Apigee SSO module (apigee-sso).
# Externally accessible IP or DNS of apigee-sso.
SSO_PUBLIC_URL_HOSTNAME=$IP1
SSO_PUBLIC_URL_PORT=9099
# Default is http. Set to https if you enabled TLS on apigee-sso.
SSO_PUBLIC_URL_SCHEME=http

# SSO admin credentials as set when you installed apigee-sso.
SSO_ADMIN_NAME=ssoadmin
SSO_ADMIN_SECRET=Secret123

# Enables or disables external IDP support.
# Default is "n", which disables external IDP support.
# Change it to "y" to enable external IDs support.
DEVPORTAL_SSO_ENABLED=y

# The name of the OAuth2 client used to connect to apigee-sso.
# The default client name is portalcli.
PORTALCLI_SSO_CLIENT_NAME=portalcli
# OAuth client password using uppercase, lowercase, number, and special characters.
PORTALCLI_SSO_CLIENT_SECRET=Abcdefg@1

# Email address and user info for the machine user created in the Edge org specified
# above by EDGE_ORG.
# This account is used by the portal to make requests to Edge.
# Add this email as an org admin before configuring the portal to use an external IDP.
DEVPORTAL_ADMIN_EMAIL=DevPortal_SAML@google.com
DEVPORTAL_ADMIN_FIRSTNAME=DevPortal
DEVPORTAL_ADMIN_LASTNAME=SAMLAdmin
DEVPORTAL_ADMIN_PWD=Abcdefg@1

# If set, the existing portal OAuth client is deleted and a new one is created.
# The default value is "n".
# Set to "y" when you configure the external IDP and change the value of
# any of the PORTALCLI_* properties.
PORTALCLI_SSO_CLIENT_OVERWRITE=y

Aby włączyć obsługę zewnętrznych dostawców tożsamości w portalu:

  1. W interfejsie użytkownika Edge dodaj użytkownika określonego przez DEVPORTAL_ADMIN_EMAIL do organizacji powiązanej z portalem jako administrator organizacji.
  2. Aby skonfigurować zewnętrznego dostawcę tożsamości w portalu, wykonaj to polecenie:
    /opt/apigee/apigee-service/bin/apigee-service apigee-drupal-devportal configure-sso -f configFile

    Gdzie configFile to plik konfiguracji opisany powyżej.

  3. Zaloguj się w portalu jako administrator.
  4. W głównym menu Drupal wybierz Configuration > Dev Portal (Konfiguracja > Portal dla programistów). Pojawi się ekran konfiguracji portalu z ustawieniami zewnętrznego dostawcy tożsamości:

    Pamiętaj:

    • Pole Ta organizacja obsługuje SAML jest zaznaczone.
    • Punkt końcowy modułu logowania jednokrotnego w Apigee jest wypełniony
    • Pola Klucz interfejsu API i Tajny klucz klienta dla klienta OAuth portalu są wypełnione
    • Pod przyciskiem Test Connection (Testuj połączenie) pojawi się komunikat Połączenie zakończone.
  5. W każdej chwili możesz kliknąć przycisk Test Connection (Testuj połączenie), aby jeszcze raz sprawdzić połączenie.

Aby później zmienić te wartości, zaktualizuj plik konfiguracji i wykonaj tę procedurę ponownie.

Wyłączanie zewnętrznego dostawcy tożsamości w portalu

Jeśli wyłączysz zewnętrznego dostawcę tożsamości na potrzeby komunikacji między portalem a Edge, portal nie będzie już mógł wysyłać żądań do Edge. Deweloperzy mogą zalogować się w portalu, ale nie będą mogli wyświetlać usług ani tworzyć aplikacji.

Aby wyłączyć uwierzytelnianie zewnętrznego dostawcy tożsamości w portalu:

  1. Otwórz plik konfiguracji użyty wcześniej do włączenia zewnętrznego dostawcy tożsamości.
  2. Ustaw wartość właściwości DEVPORTAL_SSO_ENABLED na n, jak pokazano w tym przykładzie:
    DEVPORTAL_SSO_ENABLED=n
  3. Skonfiguruj portal, wykonując to polecenie:
    /opt/apigee/apigee-service/bin/apigee-service apigee-drupal-devportal configure-sso -f configFile