Configurer le connecteur Apigee API Hub pour Private Cloud

Cette section décrit en détail les étapes de configuration du connecteur Apigee API Hub pour Private Cloud, y compris les paramètres réseau, d'authentification et spécifiques à l'organisation.

Configuration du réseau et de l'authentification

  1. Ajouter des ports à la liste d'autorisation : le connecteur Apigee API Hub pour Private Cloud doit se connecter au serveur de gestion pour obtenir les métadonnées d'API requises. Les ports 8080 et 443 du serveur de gestion doivent donc être accessibles par le connecteur.
  2. Authentification basée sur une clé pour les services Google Cloud Platform : le connecteur Apigee API Hub pour Private Cloud communique avec les services Google Cloud et nécessite des jetons pour l'authentification. Pour ce faire, vous devez utiliser une clé de compte de service pour créer des jetons empruntés.

    • Compte de service pour la génération de jetons : créez un compte de service dédié à la génération de jetons. Ce compte de service doit disposer du rôle Token Creator.
    • Générez et téléchargez la clé du compte de service :
      • Suivez les étapes décrites dans Créer une clé de compte de service pour générer une clé JSON pour le compte de service de génération de jetons.
      • Téléchargez ce fichier de clé (par exemple, dans /opt/apigee/keys/uapim.key sur la VM du connecteur Apigee API Hub pour Private Cloud).
    • Définir GOOGLE_APPLICATION_CREDENTIALS : lorsque vous démarrez le connecteur Apigee API Hub pour Private Cloud, vous devez fournir le chemin d'accès à ce fichier via la variable d'environnement :
      export $GOOGLE_APPLICATION_CREDENTIALS=/opt/apigee/keys/uapim.key
  3. Authentification de l'API Management (UAPIM_MGMT_AUTH) : le connecteur Apigee API Hub pour Private Cloud nécessite des identifiants pour appeler l'API Management Apigee. Pour la sécurité et l'automatisation, utilisez un utilisateur machine dans Apigee, et non un utilisateur humain.

    Créez un utilisateur machine dans Apigee :

    1. Créer un utilisateur :
      • Dans la console Apigee, créez un utilisateur machine (ou un utilisateur système). Pour en savoir plus sur les utilisateurs et les rôles, consultez Automatiser le processus de génération de jetons.
      • Attribuez une adresse e-mail (pour l'identification) et un nom descriptif (par exemple, uapim-connector-user).
    2. Attribuez des rôles : attribuez le rôle suivant à l'utilisateur de la machine :
      • Administrateur de l'API Apigee : ce rôle permet d'accéder à l'API Management, ce qui permet au connecteur Apigee API Hub pour Private Cloud d'interagir avec le système de gestion d'Apigee (par exemple, pour extraire des métadonnées ou gérer des configurations d'API).

Générez des identifiants encodés en base64 :

  1. Générez la paire nom d'utilisateur:mot de passe pour l'utilisateur de la machine.
  2. Encodez les identifiants en base64 : echo -n 'username:password' | base64
  3. Définissez la variable d'environnement $UAPIM_MGMT_AUTH avec la valeur encodée en base64 :
    export UAPIM_MGMT_AUTH=USERNAME_PASSWORD

    USERNAME_PASSWORD est la valeur encodée en base64 de la paire nom d'utilisateur et mot de passe.

    Assurez-vous que cette variable d'environnement est définie avant de démarrer le connecteur Apigee API Hub for Private Cloud.

Configurer le connecteur Apigee API Hub pour Private Cloud

Ouvrez le fichier de configuration /opt/apigee/customer/application/uapim-connector.properties pour spécifier les organisations Apigee pour lesquelles les données doivent être importées dans le hub d'API. Vous pouvez avoir plusieurs instances de plug-in ou de hub d'API.

  conf_uapim.settings.json={\
    "connectorConfig" : { \
      "org1" : { \
        "runtimeDataPubsub" : "", \
        "metadataPubsub":"", \
        "serviceAccount": "mysa1@in.myfirstProject",\
        "pluginInstanceId":"aaaa" \
      },\
      "org2" : { \
        "runtimeDataPubsub" : "", \
        "metadataPubsub":"",\
        "serviceAccount": "mysa2@in.mySecondProject",\
        "pluginInstanceId":"bbbbb", \
      } 
    },
    "runtimeDataPath":"/the/nfs/mounted/path", \    
    "managementServer": "hostname"
  } 

Explication du JSON des paramètres

  • Section "connectorConfig" :
    • Il s'agit d'une carte où chaque clé est un nom d'organisation Apigee (par exemple, org1, org2).
    • Chaque entrée d'organisation contient les champs suivants, que vous avez reçus lors de l'étape de création du plug-in :
      • runtimeDataPubsub : sujet Pub/Sub pour les données d'exécution (analytics) de cette organisation.
      • metadataPubsub : sujet Pub/Sub pour les métadonnées d'API de cette organisation.
      • serviceAccount : compte de service (par exemple, mysa1@in.myfirstProject.iam.gserviceaccount.com) utilisé pour l'authentification des écritures de données dans Pub/Sub pour cette organisation.
      • pluginInstanceId : ID unique de l'instance du plug-in associé à cette organisation.
  • Section runtimeDataPath : indiquez le chemin d'accès au montage NFS où les processeurs de messages écriront les données Analytics (AX). Il doit s'agir du même chemin d'accès que celui configuré sur les processeurs de messages.
  • Section managementServer : nom d'hôte ou adresse IP de l'URL de votre serveur de gestion Apigee.
  • Variable d'environnement UAPIM_MGMT_AUTH : cette variable d'environnement, définie en externe, contient le username:password encodé en base64 pour accéder au serveur de gestion.

Ajouter les configurations du proxy de transfert

Ajoutez les configurations de proxy inverse dans le même fichier /opt/apigee/customer/application/uapim-connector.properties.

  1. conf_http_client_service_jetty.proxy.enabled=true
  2. conf_http_client_service_jetty.proxy.host=
  3. conf_http_client_service_jetty.proxy.port=
  4. conf_http_client_service_jetty.proxy.user=
  5. conf_http_client_service_jetty.proxy.password=

Pour que le connecteur fonctionne correctement, il doit se connecter aux sources externes suivantes :

  • pubsub.googleapis.com:443
  • oauth2.googleapis.com:443
  • iamcredentials.googleapis.com:443

Si le connecteur n'est pas autorisé à se connecter directement aux sources externes, mais via un proxy inverse, l'utilisateur doit fournir les configurations de proxy inverse via les configurations ci-dessous et s'assurer que les sources externes mentionnées ci-dessus sont ajoutées à la liste d'autorisation.

Démarrer le connecteur Apigee API Hub pour le cloud privé

Une fois toutes les configurations définies, démarrez le connecteur Apigee API Hub pour Private Cloud à l'aide de la commande de service Apigee :

apigee-service edge-uapim-connector start