Configurer le portail pour utiliser SAML pour communiquer avec Edge

Edge pour Private Cloud v4.18.05

Le portail Apigee Developer Services (ou simplement le portail) agit en tant que client d'Apigee Edge. Cela signifie que le portail ne fonctionne pas comme un système autonome. En revanche, la majeure partie des informations utilisées par le portail est stockée sur Edge. Si nécessaire, le portail envoie une requête pour récupérer des informations depuis 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 identifiants 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 configurer le portail pour qu'il utilise l'authentification SAML lors de l'envoi de requêtes à Edge. Configurer le portail pour utiliser SAML crée automatiquement un compte utilisateur de 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 des tâches automatisées.

Pour que le portail soit compatible avec SAML, vous devez déjà avoir installé et configuré le module SSO Edge sur le nœud du serveur de gestion Edge. Le processus général d'activation de SAML pour le portail est le suivant:

  1. Configurez SAML sur Edge comme décrit dans 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 tant que vous n'avez pas configuré le portail pour qu'il utilise SAML.
  2. Installez le portail et assurez-vous qu'il fonctionne correctement. Consultez Installer le portail Edge pour le cloud privé.
  3. Configurez SAML sur le portail.
  4. Vous pouvez désormais 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 à l'aide d'utilisateurs de machine. Un utilisateur de 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 du portail crée automatiquement un utilisateur de machine dans l'organisation associée au portail. Le portail utilise ensuite ce compte utilisateur de machine pour se connecter à Edge. Pour en savoir plus sur les utilisateurs de machines, consultez la section Utiliser SAML avec des 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 lui permettez d'utiliser SAML pour s'authentifier auprès d'Edge afin qu'il puisse envoyer des requêtes à Edge. Toutefois, le portail est également compatible avec un type d'utilisateur appelé développeur.

Les développeurs constituent la communauté d'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 l'utilisation de leurs applications dans un tableau de bord.

Lorsqu'un développeur se connecte au portail, c'est le portail qui est responsable de l'authentification du développeur 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 avoir activé 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 pour qu'il utilise SAML pour authentifier les développeurs. Pour obtenir un exemple d'activation de SAML à l'aide de modules Drupal tiers, consultez la section Intégration de l'authentification unique via SAML avec le Developer Portal.

Configurer SAML sur le portail pour communiquer avec Edge

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

# 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 prise en charge de SAML sur le portail:

  1. Dans l'interface utilisateur Edge, ajoutez l'utilisateur de la 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 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.
  4. Dans le menu principal de Drupal, sélectionnez Configuration > Dev Portal (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 avec SAML est cochée, que le point de terminaison du module SSO Edge est renseigné, que les champs Clé API et Secret client du client Oauth du portail sont renseignés, et que le message Connexion réussie s'affiche sous le bouton Tester la connexion.

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

Pour modifier ultérieurement ces valeurs, 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 le produit ni créer d'applications.

Pour désactiver SAML sur le portail:

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