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

Portal usług dla programistów Apigee (lub po prostu portal) działa jako klient Apigee Edge. Oznacza to, że portal nie działa jako samodzielny system. Zamiast tego wiele informacji używanych przez portal jest przechowywanych w Edge. W razie potrzeby portal wysyła żądanie pobrania informacji z Edge lub wysłania informacji do Edge.

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

Jeśli zdecydujesz się włączyć zewnętrznego IDP, takiego jak SAML lub LDAP, do uwierzytelniania Edge, możesz skonfigurować portal tak, aby używał tego uwierzytelniania podczas wysyłania żądań do Edge. Skonfigurowanie portalu do korzystania z zewnętrznego dostawcy tożsamości automatycznie tworzy nowe konto użytkownika komputera w organizacji Edge, którego portal używa do wysyłania żądań do Edge. Więcej informacji o użytkownikach maszynowych znajdziesz w artykule Automatyzacja zadań dla zewnętrznych dostawców tożsamości.

Obsługa zewnętrznego dostawcy tożsamości w portalu wymaga zainstalowania i skonfigurowania modułu SSO w Apigee w węźle serwera zarządzania Edge. Ogólny proces włączania zewnętrznego dostawcy tożsamości dla portalu wygląda tak:

  1. Zainstaluj moduł SSO w Apigee zgodnie z opisem w artykule Instalowanie SSO w Apigee w celu zapewnienia 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 komputera na potrzeby portalu

Gdy zewnętrzny dostawca tożsamości jest włączony, Edge obsługuje automatyczne generowanie tokenów OAuth2 przy użyciu użytkowników maszynowych. Użytkownik komputera może uzyskać tokeny OAuth2 bez konieczności podawania hasła. 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. Następnie portal używa tego konta użytkownika komputera do połączenia się z Edge. Więcej informacji o użytkownikach maszynowych znajdziesz w artykule Automatyzacja zadań dla zewnętrznych dostawców tożsamości.

Uwierzytelnianie na kontach deweloperów portalu

Gdy skonfigurujesz portal do korzystania z zewnętrznego dostawcy tożsamości, umożliwisz mu używanie protokołu SAML lub LDAP do uwierzytelniania w Edge, dzięki czemu portal będzie mógł wysyłać żądania do Edge. Portal obsługuje jednak również typ użytkownika o nazwie programista.

Deweloperzy tworzą społeczność użytkowników, którzy tworzą aplikacje za pomocą Twoich interfejsów API. Deweloperzy aplikacji używają portalu, aby dowiedzieć się więcej o Twoich interfejsach API, zarejestrować aplikacje, które z nich korzystają, komunikować się ze społecznością deweloperów i 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 z deweloperami nawet po włączeniu uwierzytelniania dostawcy tożsamości między portalem a Edge. Więcej informacji znajdziesz w artykule Komunikacja między portalem a Edge.

Można też skonfigurować portal tak, aby używał SAML lub LDAP do uwierzytelniania deweloperów. Przykład włączania SAML za pomocą 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 definiuje ustawienia portalu.

Poniższy przykład pokazuje 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ętrznego dostawcy tożsamości w portalu:

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

    configFile to opisany powyżej plik konfiguracji.

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

    Uwaga:

    • Pole This org is SAML-enabled (Ta organizacja obsługuje SAML) jest zaznaczone.
    • Punkt końcowy modułu SSO w Apigee jest wypełniony.
    • Pola Klucz interfejsu API i Klucz tajny konsumenta klienta OAuth portalu są wypełnione.
    • Pod przyciskiem Testuj połączenie pojawi się komunikat Połączenie nawiązane.
  5. Kliknij przycisk Test Connection (Testuj połączenie), aby w dowolnym momencie ponownie przetestować połączenie.

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

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

Jeśli zdecydujesz się wyłączyć 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ą logować się w portalu, ale nie mogą wyświetlać usług ani tworzyć aplikacji.

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

  1. Otwórz plik konfiguracji, który został 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 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