Configuration du portail des services pour les développeurs afin d'utiliser SAML pour communiquer avec Edge

Edge pour Private Cloud version 4.17.09

Le portail des services pour les développeurs 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 SAML pour l'authentification Edge, vous pouvez ensuite configurer le portail pour qu'il utilise l'authentification SAML lors de l'envoi de requêtes à Edge. La configuration du portail pour l'utilisation de SAML 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 Utiliser SAML avec les tâches automatisées.

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

  1. Configurez SAML sur Edge comme décrit dans la section Installation et configuration de SAML pour Edge. Remarque: L'authentification de base doit toujours être activée sur Edge pour installer le portail. Ne désactivez pas l'authentification de base sur Edge avant d'avoir configuré le portail pour utiliser SAML.
  2. Installez le portail et assurez-vous que l'installation fonctionne correctement. Consultez la section Installer le portail Edge for Private Cloud Developer Services.
  3. Configurez le protocole SAML sur le portail.
  4. Vous pouvez maintenant désactiver l'authentification de base sur Edge.

Créer un utilisateur de machine pour le portail

Lorsque SAML est activé, Edge prend en charge la génération automatique de jetons OAuth2 par le biais d'utilisateurs de machines. 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 SAML pour le portail crée automatiquement un utilisateur 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 des machines, consultez la page Utiliser SAML avec les tâches automatisées.

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

Lorsque vous configurez le portail pour qu'il utilise SAML, vous l'autorisez à utiliser SAML 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 d'utiliser l'authentification de base avec les développeurs, même après l'activation du protocole SAML entre le portail et Edge. Pour en savoir plus, consultez la section Communication entre le portail et Edge.

Vous pouvez également configurer le portail de sorte qu'il utilise le protocole SAML pour authentifier les développeurs. Pour obtenir un exemple d'activation du protocole SAML à l'aide de modules Drupal tiers, consultez https://community.apigee.com/articles/29201/sso-integration-via-saml-with-developer-portal.html.

Configurez SAML sur le portail pour communiquer avec Edge

Pour configurer SAML pour le portail, vous devez créer un fichier de configuration afin de configurer le portail:

# IP address of Edge Management Server and apigee-sso node.
IP1=22.222.22.222

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

# Org associated with the portal.
EDGE_ORG=myorg

# Information about 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

# Default is "n" to disable SAML support.
DEVPORTAL_SSO_ENABLED=y

# The name of the OAuth 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 chars. 
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 SAML. 
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 new one is created.
# The default value is "n".
# Set to "y" when you configure SAML and change the value of 
# any of the PORTALCLI_* properties.
PORTALCLI_SSO_CLIENT_OVERWRITE=y

Pour activer la compatibilité SAML 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.
    Remarque: L'utilisateur machine n'existe pas encore, mais il sera créé automatiquement à l'étape suivante.
  2. Exécutez la commande suivante pour configurer SAML sur le portail:
    > /opt/apigee/apigee-service/bin/apigee-service apigee-drupal-devportal configure-sso -f samlConfigFile

    samlConfigFile est le fichier de configuration SAML.
  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, y compris les paramètres SAML:

    Notez que la case Cette organisation est compatible SAML est cochée, que le point de terminaison du module SSO Edge est rempli, que les champs Clé API et Code secret client pour le client OAuth du portail sont renseignés et que le message Connexion réussie apparaît sous le bouton Tester la connexion.

  5. Vous pouvez appuyer sur le bouton Tester la connexion à tout moment pour tester de nouveau la connexion.

Pour modifier ces valeurs ultérieurement, mettez à jour le fichier de configuration et exécutez à nouveau la commande.

Désactiver SAML sur le portail

Si vous choisissez de désactiver SAML 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 de produits ni créer d'applications.

Attention: Si vous désactivez SAML, vous devez ensuite reconfigurer le portail afin d'utiliser SAML ou, si Edge est toujours configuré pour accepter l'authentification de base, configurez le portail pour qu'il communique avec Edge à l'aide de l'authentification de base. Pour plus d'informations sur l'utilisation de l'authentification de base, consultez la section Communication entre le portail et Edge.

Pour désactiver SAML sur le portail:

  1. Modifiez le fichier de configuration que vous avez utilisé pour configurer SAM à définir:
    DEVPORTAL_SSO_ENABLED=n
  2. Configurez le portail:
    > /opt/apigee/apigee-service/bin/apigee-service apigee-drupal-devportal configure-sso -f configFile