Utiliser le portail des API pour VMware Tanzu

Remarque

Azure Spring Apps est le nouveau nom du service Azure Spring Cloud. Bien que le service ait un nouveau nom, vous verrez l’ancien nom à divers endroits pendant un certain temps, car nous travaillons à mettre à jour les ressources telles que les captures d’écran, les vidéos et les diagrammes.

Cet article s’applique à :❌ De base/Standard ✔️ Entreprise

Cet article vous explique comment utiliser le portail d’API pour VMware Tanzu avec le plan Azure Spring Apps Entreprise.

Le portail des API est l’un des composants commerciaux de VMware Tanzu. Le portail d’API prend en charge l’affichage des définitions d’API à partir de Spring Cloud Gateway pour VMware Tanzu ainsi que les tests de routes d’API spécifiques à partir du navigateur. Il prend également en charge l’activation de l’authentification unique via la configuration.

Prérequis

Configurer l'authentification unique (SSO)

Le portail des API prend en charge l’authentification unique (SSO) pour les autorisations et les authentifications grâce à un fournisseur d’identité (IdP) OpenID qui prend en charge le protocole OpenID Connect Discovery.

Remarque

Seuls les serveurs d’autorisation qui prennent en charge le protocole OpenID Connecter Discovery sont pris en charge. Veillez à configurer le serveur d’autorisation externe pour autoriser les redirections vers le portail d’API. Reportez-vous à la documentation de votre serveur d’autorisation et ajoutez https://<api-portal-external-url>/login/oauth2/code/sso à la liste des URI de redirection autorisés.

Propriété Requis ? Description
issuerUri Oui URI que l’application déclare comme identificateur de l’émetteur. Par exemple, si l’URI de l’émetteur (issuer-uri) fourni est "https://example.com", une demande de configuration du fournisseur OpenID est envoyée à "https://example.com/.well-known/openid-configuration". Le résultat attendu est une réponse de configuration du fournisseur OpenID.
clientId Oui L’ID client OpenID Connect fourni par votre IdP
clientSecret Oui Le secret client OpenID Connect fourni par votre IdP
scope Oui Liste des étendues à inclure dans les jetons d’identité JWT. Cette liste doit être basée sur les étendues autorisées par votre fournisseur d’identité

Pour configurer l’authentification unique avec Microsoft Entra ID, consultez Configurer l’authentification unique avec Microsoft Entra ID pour Spring Cloud Gateway et le portail d’API pour Tanzu.

Remarque

Si vous configurez une mauvaise propriété SSO, comme un mot de passe incorrect, vous devrez supprimer l’intégralité de la propriété SSO puis réentrer la bonne configuration.

Configurer le nombre d’instances

Effectuez les étapes suivantes pour configurer le nombre d’instances à l’aide du portail d’API :

  1. Accédez à votre instance de service et sélectionnez Portail d’API.
  2. Sélectionnez Scale Out.
  3. Configurez le Nombre d’instances, puis sélectionnez Enregistrer.

Affecter un point de terminaison public pour le portail des API

Effectuez les étapes suivantes pour attribuer un point de terminaison public au portail d’API :

  1. Sélectionnez Portail des API.
  2. Sélectionnez Vue d’ensemble pour afficher l’état d’exécution et les ressources allouées au portail des API.
  3. Sélectionnez Oui en regard de Affecter un point de terminaison pour affecter un point de terminaison public. Une URL est générée en quelques minutes.
  4. Enregistrez l’URL pour une utilisation ultérieure.

Configurer la fonctionnalité d’essai d’API

Le portail d’API vous permet d’afficher les API de manière centralisée et de les tester à l’aide de la fonctionnalité d’essai d’API. Cette fonctionnalité est activée par défaut, et cette configuration vous permet de la désactiver sur l’ensemble de l’instance du portail d’API. Pour plus d’informations, consultez la section Essayer des API dans le portail d’API.

Effectuez les étapes suivantes pour activer ou désactiver l’essai d’API :

  1. Accédez à votre instance de service et sélectionnez Portail d’API.
  2. Sélectionnez Configuration.
  3. Cochez ou décochez Activer l’essai d’API, puis sélectionnez Enregistrer.

Configurer le routage d’API avec openAPI Spec sur Spring Cloud Gateway pour Tanzu

Cette section explique comment afficher et tester des API avec des définitions de schéma dans le portail d’API. Procédez comme suit pour configurer le routage d’API avec une URL de spécification OpenAPI sur Spring Cloud Gateway pour Tanzu.

  1. Créez une application dans Azure Spring Apps vers laquelle la passerelle achemine le trafic.

  2. Générez la définition OpenAPI et obtenez l’URI pour y accéder. Les deux options d’URI suivantes sont acceptées :

    • La première option consiste à utiliser un point de terminaison accessible publiquement comme l’URI https://petstore3.swagger.io/api/v3/openapi.json, qui inclut la spécification OpenAPI.
    • La deuxième option consiste à placer la définition OpenAPI dans le chemin relatif de l’application dans Azure Spring Apps et à construire l’URI au format http://<app-name>/<relative-path-to-OpenAPI-spec>. Vous pouvez choisir des outils comme SpringDocs pour générer automatiquement la spécification OpenAPI, afin que l’URI puisse être semblable à http://<app-name>/v3/api-docs.
  3. Utilisez la commande suivante pour affecter un point de terminaison public à la passerelle pour y accéder.

    az spring gateway update --assign-endpoint
    
  4. Utilisez la commande suivante pour configurer les propriétés de Spring Cloud Gateway pour Tanzu :

    az spring gateway update \
        --api-description "<api-description>" \
        --api-title "<api-title>" \
        --api-version "v0.1" \
        --server-url "<endpoint-in-the-previous-step>" \
        --allowed-origins "*"
    
  5. Configurez des règles de routage vers les applications.

    Pour créer des règles d’accès à l’application dans Spring Cloud Gateway pour la configuration de l’itinéraire Tanzu, enregistrez le contenu suivant dans le fichier sample.json.

    {
       "open_api": {
          "uri": "https://petstore3.swagger.io/api/v3/openapi.json"
       },
       "routes": [
          {
             "title": "Petstore",
             "description": "Route to application",
             "predicates": [
                "Path=/pet",
                "Method=PUT"
             ],
             "filters": [
                "StripPrefix=0"
             ]
          }
       ]
    }
    

    La valeur open_api.uri est le point de terminaison public ou l’URI construit à la deuxième étape ci-dessus. Vous pouvez ajouter des prédicats et des filtres pour les chemins définis dans votre spécification OpenAPI.

    Utilisez la commande suivante pour appliquer la règle à l’application créée lors de la première étape :

    az spring gateway route-config create \
        --name sample \
        --app-name <app-name> \
        --routes-file sample.json
    
  6. Vérifiez la réponse des itinéraires créés. Vous pouvez également afficher les routes dans le portail.

Afficher les API exposées dans le portail d’API

Remarque

La synchronisation entre Spring Cloud Gateway pour Tanzu et le portail des API prend plusieurs minutes.

Sélectionnez la endpoint URL pour accéder au portail des API. Vous voyez toutes les routes configurées dans Spring Cloud Gateway pour Tanzu.

Capture d’écran du portail d’API montrant les routes configurées.

Essayer des API dans le portail d’API

Effectuez les étapes suivantes pour essayer les API :

  1. Sélectionnez l’API que vous voulez essayer.

  2. Sélectionnez EXECUTE. La réponse s’affiche.

    Capture d’écran du portail d’API montrant l’option EXECUTE sélectionnée.

Activer/désactiver le portail d’API après la création du service

Vous pouvez activer et désactiver le portail d’API après la création du service à l’aide du Portail Azure ou d’Azure CLI. Avant de désactiver le portail d’API, vous devez désattribuer son point de terminaison.

Effectuez les étapes suivantes pour activer ou désactiver le portail d’API à l’aide du Portail Azure :

  1. Accédez à votre ressource de service, puis sélectionnez Portail d’API.
  2. Sélectionnez Gérer.
  3. Sélectionnez ou désélectionnez l’option Activer le portail API, puis sélectionnez Enregistrer.
  4. Vous pouvez maintenant voir l’état du portail d’API dans la page Portail d’API.

Étapes suivantes