Portal für die Verwendung externer IdPs konfigurieren

Das Apigee Developer Services-Portal (oder einfach das Portal) fungiert als Client von Apigee Edge. Das bedeutet, dass das Portal nicht als eigenständiges System funktioniert. Stattdessen werden viele der vom Portal verwendeten Informationen tatsächlich in Edge gespeichert. Bei Bedarf stellt das Portal eine Anfrage zum Abrufen von Informationen von Edge oder zum Senden von Informationen an Edge.

Das Portal ist immer mit einer einzelnen Edge-Organisation verknüpft. Wenn Sie das Portal konfigurieren, können Sie die Anmeldedaten für die grundlegende Authentifizierung (Nutzername und Passwort) für ein Konto in der Organisation angeben, das das Portal für die Kommunikation mit Edge verwendet.

Wenn Sie einen externen IdP wie SAML oder LDAP für die Edge-Authentifizierung aktivieren, können Sie das Portal dann so konfigurieren, dass diese Authentifizierung bei Anfragen an Edge verwendet wird. Wenn Sie das Portal für die Verwendung eines externen IdP konfigurieren, wird automatisch ein neues Computernutzerkonto in der Edge-Organisation erstellt, das das Portal dann für Anfragen an Edge verwendet. Weitere Informationen zu Maschinennutzern finden Sie unter Aufgaben für externe IdPs automatisieren.

Die externe IdP-Unterstützung für das Portal setzt voraus, dass Sie das Apigee SSO-Modul bereits auf dem Edge Management Server-Knoten installiert und konfiguriert haben. Im Allgemeinen wird so ein externer IdP für das Portal aktiviert:

  1. Installieren Sie das Apigee-SSO-Modul wie unter Apigee-SSO für Hochverfügbarkeit installieren beschrieben.
  2. Installieren Sie das Portal und vergewissern Sie sich, dass die Installation ordnungsgemäß funktioniert. Weitere Informationen finden Sie unter Portal installieren.
  3. Konfigurieren Sie SAML oder LDAP im Portal wie in diesem Abschnitt beschrieben.
  4. (Optional) Deaktivieren Sie die Basisauthentifizierung in Edge, wie unter Basisauthentifizierung in Edge deaktivieren beschrieben.

Computernutzer für das Portal erstellen

Wenn ein externer IdP aktiviert ist, unterstützt Edge die automatische Generierung von OAuth2-Tokens durch die Verwendung von Computernutzern. Ein Computernutzer kann OAuth2-Tokens abrufen, ohne einen Sicherheitscode angeben zu müssen. Das bedeutet, dass Sie das Abrufen und Aktualisieren von OAuth2-Tokens vollständig automatisieren können.

Bei der IdP-Konfiguration für das Portal wird automatisch ein Computernutzer in der mit dem Portal verknüpften Organisation erstellt. Das Portal verwendet dann dieses Computernutzerkonto, um eine Verbindung zu Edge herzustellen. Weitere Informationen zu Maschinennutzern finden Sie unter Aufgaben für externe IdPs automatisieren.

Authentifizierung für Portalentwicklerkonten

Wenn Sie das Portal für die Verwendung eines externen IdP konfigurieren, aktivieren Sie die Verwendung von SAML oder LDAP für die Authentifizierung bei Edge, damit das Portal Anfragen an Edge stellen kann. Das Portal unterstützt jedoch auch einen Nutzertyp namens Entwickler.

Entwickler stellen die Community der Nutzer dar, die Apps mithilfe Ihrer APIs erstellen. App-Entwickler nutzen das Portal, um mehr über Ihre APIs zu erfahren, Apps zu registrieren, die Ihre APIs verwenden, mit der Entwickler-Community zu interagieren und statistische Informationen über ihre App-Nutzung in einem Dashboard anzusehen.

Wenn sich ein Entwickler im Portal anmeldet, ist es das Portal, das für die Authentifizierung des Entwicklers und die Erzwingung rollenbasierter Berechtigungen verantwortlich ist. Das Portal verwendet weiterhin die Basisauthentifizierung mit Entwicklern, auch wenn Sie die IdP-Authentifizierung zwischen dem Portal und Edge aktiviert haben. Weitere Informationen finden Sie unter Kommunikation zwischen Portal und Edge.

Sie können das Portal auch so konfigurieren, dass SAML oder LDAP zur Authentifizierung von Entwicklern verwendet wird. Ein Beispiel für die Aktivierung von SAML mit Drupal-Modulen von Drittanbietern finden Sie unter SSO-Integration über SAML in das Entwicklerportal.

IdP-Konfigurationsdatei für das Portal

Wenn Sie einen externen IdP für das Portal konfigurieren möchten, müssen Sie eine Konfigurationsdatei erstellen, in der die Einstellungen des Portals definiert sind.

Das folgende Beispiel zeigt eine Portalkonfigurationsdatei mit IdP-Unterstützung:

# 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

So aktivieren Sie die Unterstützung externer IdPs im Portal:

  1. Fügen Sie in der Edge-Benutzeroberfläche den in DEVPORTAL_ADMIN_EMAIL angegebenen Computernutzer der mit dem Portal verknüpften Organisation als Organisationsadministrator hinzu.
  2. Führen Sie den folgenden Befehl aus, um den externen IdP im Portal zu konfigurieren:
    /opt/apigee/apigee-service/bin/apigee-service apigee-drupal-devportal configure-sso -f configFile

    Dabei ist configFile die oben beschriebene Konfigurationsdatei.

  3. Melden Sie sich als Portaladministrator im Portal an.
  4. Wählen Sie im Hauptmenü von Drupal Configuration > Dev Portal (Konfiguration > Entwicklerportal). Der Konfigurationsbildschirm des Portals wird angezeigt, einschließlich der Einstellungen für den externen IdP:

    Wichtige Hinweise:

    • Das Kästchen Diese Organisation ist SAML-aktiviert ist angeklickt.
    • Der Endpunkt für das Apigee-SSO-Modul ist ausgefüllt.
    • Die Felder API-Schlüssel und Consumer-Secret für den OAuth-Client des Portals sind ausgefüllt.
    • Die Meldung Connection Successful (Verbindung erfolgreich) wird unter der Schaltfläche Test Connection (Verbindung testen) angezeigt.
  5. Klicken Sie auf die Schaltfläche Verbindung testen, um die Verbindung jederzeit noch einmal zu testen.

Wenn Sie diese Werte später ändern möchten, aktualisieren Sie die Konfigurationsdatei und führen Sie diesen Vorgang noch einmal aus.

Externen IdP im Portal deaktivieren

Wenn Sie Ihren externen IdP für die Kommunikation zwischen dem Portal und Edge deaktivieren, kann das Portal keine Anfragen an Edge mehr stellen. Entwickler können sich im Portal anmelden, aber keine Produkte ansehen oder Apps erstellen.

So deaktivieren Sie die externe IdP-Authentifizierung im Portal:

  1. Öffnen Sie die Konfigurationsdatei, die Sie zuvor verwendet haben, um den externen IdP zu aktivieren.
  2. Legen Sie den Wert des Attributs DEVPORTAL_SSO_ENABLED auf n fest, wie im folgenden Beispiel gezeigt:
    DEVPORTAL_SSO_ENABLED=n
  3. Konfigurieren Sie das Portal mit dem folgenden Befehl:
    /opt/apigee/apigee-service/bin/apigee-service apigee-drupal-devportal configure-sso -f configFile