Configurer le portail pour utiliser des fournisseurs d'identité externes

Le portail Apigee Developer Services (ou simplement le portail) agit en tant que client d'Apigee Edge. Le portail ne fonctionne donc pas comme un système autonome. Au lieu de cela, une grande partie des informations utilisées par le portail sont effectivement stockées sur Edge. Si nécessaire, le portail envoie une requête pour récupérer des informations à partir de Edge ou pour envoyer des informations à Edge.

Le portail est toujours associé à une seule organisation Edge. Lorsque vous configurez le portail, vous pouvez spécifier les informations d'authentification de base (nom d'utilisateur et mot de passe) d'un compte de l'organisation que le portail utilise pour communiquer avec Edge.

Si vous choisissez d'activer un IDP externe tel que SAML ou LDAP pour l'authentification Edge, vous pouvez ensuite configurer le portail pour qu'il utilise cette authentification lors de l'envoi de requêtes à Edge. La configuration du portail pour qu'il utilise un IdP externe crée automatiquement un nouveau compte utilisateur machine dans l'organisation Edge que le portail utilise ensuite pour envoyer des requêtes à Edge. Pour en savoir plus sur les utilisateurs de machines, consultez Automatiser des tâches pour les fournisseurs d'identité externes.

La compatibilité d'un fournisseur d'identité externe avec le portail nécessite que vous ayez déjà installé et configuré le module d'authentification unique Apigee sur le nœud du serveur de gestion Edge. Le processus général d'activation d'un fournisseur d'identité externe pour le portail est le suivant:

  1. Installez le module d'authentification unique Apigee, comme décrit dans Installer l'authentification unique Apigee pour la haute disponibilité.
  2. Installez le portail et assurez-vous que l'installation fonctionne correctement. Consultez la section Installer le portail.
  3. Configurez SAML ou LDAP sur le portail, comme décrit dans cette section.
  4. (Facultatif) Désactivez l'authentification de base sur Edge, comme décrit dans la section Désactiver l'authentification de base sur Edge.

Créer un utilisateur de machine pour le portail

Lorsqu'un IdP externe est activé, Edge prend en charge la génération automatisée de jetons OAuth2 par le biais d'utilisateurs machine. Un utilisateur machine peut obtenir des jetons OAuth2 sans avoir à spécifier de code secret. Cela signifie que vous pouvez automatiser complètement le processus d'obtention et d'actualisation des jetons OAuth2.

Le processus de configuration IdP pour le portail crée automatiquement un utilisateur de machine dans l'organisation associée au portail. Le portail utilise ensuite ce compte utilisateur machine pour se connecter à Edge. Pour en savoir plus sur les utilisateurs de machines, consultez Automatiser les tâches pour les fournisseurs d'identité externes.

À propos de l'authentification pour les comptes de développeur de portail

Lorsque vous configurez le portail pour qu'il utilise un fournisseur d'identité externe, vous lui permettez d'utiliser SAML ou LDAP pour s'authentifier auprès d'Edge afin que le portail puisse envoyer des requêtes à Edge. Cependant, le portail accepte également un type d'utilisateur appelé développeurs.

Les développeurs constituent la communauté des utilisateurs qui créent des applications à l'aide de vos API. Les développeurs d'applications utilisent le portail pour en savoir plus sur vos API, enregistrer les applications qui les utilisent, interagir avec la communauté des développeurs et afficher des informations statistiques sur leur utilisation des applications dans un tableau de bord.

Lorsqu'un développeur se connecte au portail, c'est le portail qui est chargé de l'authentifier et de l'application des autorisations basées sur les rôles. Le portail continue à utiliser l'authentification de base avec les développeurs, même après que vous avez activé l'authentification IDP entre le portail et Edge. Pour plus d'informations, consultez la section Communication entre le portail et Edge.

Vous pouvez également configurer le portail de sorte qu'il utilise SAML ou LDAP pour authentifier les développeurs. Pour obtenir un exemple d'activation de SAML à l'aide de modules Drupal tiers, consultez Intégration de l'authentification unique via SAML avec le portail des développeurs.

Fichier de configuration IDP pour le portail

Pour configurer un IdP externe pour le portail, vous devez créer un fichier de configuration qui définit les paramètres du portail.

L'exemple suivant présente un fichier de configuration de portail compatible avec le fournisseur d'identité (IdP) :

# 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

Pour activer la prise en charge des IdP externes sur le portail:

  1. Dans l'interface utilisateur Edge, ajoutez l'utilisateur machine spécifié par DEVPORTAL_ADMIN_EMAIL à l'organisation associée au portail en tant qu'administrateur de l'organisation.
  2. Exécutez la commande suivante pour configurer l'IdP externe sur le portail :
    /opt/apigee/apigee-service/bin/apigee-service apigee-drupal-devportal configure-sso -f configFile

    configFile est le fichier de configuration décrit ci-dessus.

  3. Connectez-vous au portail en tant qu'administrateur du portail.
  4. Dans le menu principal de Drupal, sélectionnez Configuration > Portail de développement. L'écran de configuration du portail s'affiche, comprenant les paramètres de l'IdP externe:

    Veuillez noter les points suivants :

    • La case This org is SAML-enabled (Cette organisation est activée via SAML) est cochée.
    • Le point de terminaison du module SSO Apigee est renseigné.
    • Les champs Clé API et Code secret client du client OAuth du portail sont renseignés.
    • Le message Connexion réussie s'affiche sous le bouton Tester la connexion.
  5. Cliquez sur le bouton Tester la connexion pour tester de nouveau la connexion à tout moment.

Pour modifier ces valeurs ultérieurement, mettez à jour le fichier de configuration et réexécutez cette procédure.

Désactiver un IdP externe sur le portail

Si vous choisissez de désactiver votre IdP externe pour les communications entre le portail et Edge, le portail ne pourra plus envoyer de requêtes à Edge. Les développeurs peuvent se connecter au portail, mais ne peuvent pas afficher les produits ni créer d'applications.

Pour désactiver l'authentification de l'IdP externe sur le portail:

  1. Ouvrez le fichier de configuration que vous avez utilisé précédemment pour activer l'IdP externe.
  2. Définissez la valeur de la propriété DEVPORTAL_SSO_ENABLED sur n, comme le montre l'exemple suivant :
    DEVPORTAL_SSO_ENABLED=n
  3. Configurez le portail en exécutant la commande suivante :
    /opt/apigee/apigee-service/bin/apigee-service apigee-drupal-devportal configure-sso -f configFile