Uso de API portal para VMware Tanzu

Nota:

Azure Spring Apps es el nuevo nombre del servicio Azure Spring Cloud. Aunque el servicio tiene un nuevo nombre, verá el nombre antiguo en algunos lugares durante un tiempo mientras trabajamos para actualizar recursos, como capturas de pantalla, vídeos y diagramas.

Este artículo se aplica a:❌ Básico o Estándar ✔️ Enterprise

En este artículo se muestra cómo usar el portal de API para VMware Tanzu® con el plan Enterprise de Azure Spring Apps.

El portal de API es uno de los componentes comerciales de VMware Tanzu. El portal de API admite la visualización de definiciones de API desde Spring Cloud Gateway para VMware Tanzu y pruebas de rutas de API específicas desde el explorador. También admite la habilitación de la autenticación de inicio de sesión único (SSO) a través de la configuración.

Requisitos previos

Configuración del inicio de sesión único (SSO)

El portal de API admite la autenticación y autorización mediante inicio de sesión único (SSO) con un proveedor de identidades OpenID (IdP) compatible con el protocolo OpenID Connect Discovery.

Nota:

Solo se admiten los servidores de autorización compatibles con el protocolo OpenID Connect Discovery. Asegúrese de configurar el servidor de autorización externo para permitir redirecciones de nuevo al portal de API. Consulte la documentación del servidor de autorización y agregue https://<api-portal-external-url>/login/oauth2/code/sso a la lista de URI de redireccionamiento permitidos.

Propiedad ¿Necesario? Descripción
issuerUri El URI que la aplicación declara como identificador del emisor. Por ejemplo, si el emisor-uri proporcionado es "https://example.com", se realiza una solicitud de configuración del proveedor OpenID a "https://example.com/.well-known/openid-configuration". Se espera que el resultado sea una respuesta de configuración del proveedor de OpenID.
clientId Identificador de cliente de OpenID Connect proporcionado por el proveedor de identidades.
clientSecret Secreto de cliente de OpenID Connect proporcionado por el proveedor de identidades.
scope Lista de ámbitos que se incluirán en los tokens de identidad de JWT. Esta lista debe basarse en los ámbitos permitidos por el proveedor de identidades.

Para configurar el inicio de sesión único con Microsoft Entra ID, consulte Configuración del inicio de sesión único con el Microsoft Entra ID para Spring Cloud Gateway y el portal de API para Tanzu.

Nota:

Si configura una propiedad de inicio de sesión único incorrecta, como una contraseña incorrecta, debe quitar toda la propiedad de inicio de sesión único y volver a agregar la configuración correcta.

Configuración del recuento de instancias

Siga estos pasos para configurar el recuento de instancias mediante el portal de API:

  1. Vaya a la instancia de servicio y seleccione Portal de API.
  2. Seleccione Escalar horizontalmente.
  3. Configure Recuento de instancias y, a continuación, seleccione Guardar.

Asignación de un punto de conexión público para el portal de API

Siga estos pasos para asignar un punto de conexión público al portal de API:

  1. Seleccione Portal de API.
  2. Seleccione Información general para ver el estado de ejecución y los recursos asignados al portal de API.
  3. Seleccione Yes (Sí), que se encuentra al lado de Assign endpoint (Asignar punto de conexión) para asignar un punto de conexión público. Una dirección URL se genera en unos minutos.
  4. Guarde la dirección URL para usarla más adelante.

Configuración de la característica de prueba de API

El portal de API le habilita ver las API de forma centralizada y probarlas mediante la característica de prueba de API. La prueba de API está habilitada de forma predeterminada y esta configuración le ayuda a desactivarla en toda la instancia del portal de API. Para más información, consulte la sección Probar API en el portal de API.

Siga estos pasos para habilitar o deshabilitar la prueba de API:

  1. Vaya a la instancia de servicio y seleccione Portal de API.
  2. Seleccione Configuración.
  3. Seleccione o desactive Habilitar prueba de APIy, a continuación, seleccione Guardar.

Configuración del enrutamiento de API con OpenAPI Spec en Spring Cloud Gateway para Tanzu

En esta sección se describe cómo ver y probar las API con definiciones de esquema en el portal de API. Siga estos pasos para configurar el enrutamiento de API con una dirección URL de especificación de OpenAPI en Spring Cloud Gateway para Tanzu.

  1. Crear una aplicación en Azure Spring Apps a la que la puerta de enlace enruta el tráfico.

  2. Genere la definición de OpenAPI y obtenga el URI para acceder a él. Se aceptan las dos opciones de URI siguientes:

    • La primera opción es usar un punto de conexión accesible públicamente, como el URI https://petstore3.swagger.io/api/v3/openapi.json, que incluye la especificación de OpenAPI.
    • La segunda opción consiste en colocar la definición de OpenAPI en la ruta de acceso relativa de la aplicación en Azure Spring Apps y construir el URI con el formato http://<app-name>/<relative-path-to-OpenAPI-spec>. Puede elegir herramientas como SpringDocs para generar automáticamente la especificación de OpenAPI, por lo que el URI puede ser algo así como http://<app-name>/v3/api-docs.
  3. Use el siguiente comando para asignar un punto de conexión público a la puerta de enlace para acceder a él.

    az spring gateway update --assign-endpoint
    
  4. Use el siguiente comando para configurar las propiedades de Spring Cloud Gateway para 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. Configure reglas de enrutamiento para las aplicaciones.

    Para crear reglas para acceder a la aplicación en la configuración de ruta de Spring Cloud Gateway para Tanzu, guarde el siguiente contenido en el archivo 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"
             ]
          }
       ]
    }
    

    El valor open_api.uri es el punto de conexión público o el URI construido en el segundo paso anterior. Puede agregar predicados y filtros para las rutas de acceso definidas en la especificación de OpenAPI.

    Use el siguiente comando para aplicar la regla a la aplicación creada en el primer paso:

    az spring gateway route-config create \
        --name sample \
        --app-name <app-name> \
        --routes-file sample.json
    
  6. Compruebe la respuesta de las rutas creadas. Las rutas también se pueden ver en el portal.

Visualización de las API expuestas en el portal de API

Nota:

Spring Cloud Gateway for Tanzu y el portal de API tardan varios minutos en sincronizarse.

Seleccione endpoint URL para ir al portal de API. Verá todas las rutas configuradas en Spring Cloud Gateway para Tanzu.

Captura de pantalla del portal de API que muestra las rutas configuradas.

Prueba de las API en el portal de API

Siga los pasos a continuación para probar las API:

  1. Seleccione la API que desea probar.

  2. Seleccione EXECUTEy aparecerá la respuesta.

    Captura de pantalla del portal de API que muestra la opción Ejecutar seleccionada.

Habilitación o deshabilitación del portal de API después de la creación del servicio

Puede habilitar y deshabilitar el portal de API después de la creación del servicio mediante Azure Portal o la CLI de Azure. Antes de deshabilitar el portal de API, debe anular la asignación de su punto de conexión.

Siga estos pasos para habilitar o deshabilitar el portal de API mediante Azure Portal:

  1. Vaya al recurso de servicio y, después, seleccione portal de API.
  2. Seleccione Administrar.
  3. Seleccione o anule la selección del Habilitar portal de APIy, a continuación, seleccione Guardar.
  4. Ahora puede ver el estado del portal de API en la página de portal de API.

Pasos siguientes