Compartir a través de


Sincronización de las API de Amazon API Gateway con el Centro de API de Azure (versión preliminar)

En este artículo se muestra cómo integrar una instancia de Amazon API Gateway para que las API de la puerta de enlace se mantengan actualizadas continuamente en el inventario del Centro de API.

Acerca de la integración de Amazon API Gateway

La integración de Amazon API Gateway como origen de API para el centro de API permite la sincronización continua para que el inventario de API permanezca actualizado. El Centro de API de Azure también puede sincronizar las API de los orígenes, incluyendo la Azure API Management.

Al integrar una instancia de Amazon API Gateway como origen de API, ocurre lo siguiente:

  1. Las API y, opcionalmente, las definiciones de API (especificaciones), de API Gateway se agregan al inventario del Centro de API.
  2. Configure un entorno de tipo Amazon API Gateway en el Centro de API.
  3. Se crea una implementación asociada para cada definición de API sincronizada.

La sincronización es unidireccional desde Amazon API Gateway al Centro de API de Azure, lo que significa que las actualizaciones en el Centro de API no se sincronizan con Amazon API Gateway.

Nota:

  • La integración de Amazon API Gateway está actualmente en versión preliminar.
  • Hay límites para el número de instancias integradas de orígenes de API.
  • Las API de Amazon API Gateway se sincronizan con el Centro de API una vez por hora. Solo se sincronizan las API de REST.
  • Las definiciones de API también se sincronizan con el Centro de API si se selecciona la opción para incluirlas durante la integración. Solo se sincronizan las definiciones de las API implementadas.

Entidades sincronizadas desde Amazon API Gateway

Es posible agregar o actualizar propiedades de metadatos y documentación a las API sincronizadas en el Centro de API para ayudar a las partes interesadas a detectar, comprender y consumir las API. Obtenga más información sobre las propiedades de metadatos integradas y personalizadas de Azure API Center c.

En la tabla siguiente, se muestran las propiedades de entidad que se pueden modificar en el Centro de API de Azure y las propiedades que se establecen en función de sus valores en un origen de API.

Entity Propiedades configurables en el Centro de API Propiedades determinadas en el origen de API integrado
API summary
lifecycleStage
termsOfService
license
externalDocumentation
customProperties
title
descripción
kind
Versión de API lifecycleStage title
definiciones (si se sincronizan)
Entorno title
descripción
kind
server.managementPortalUri
incorporación
customProperties
server.type
Implementación title
descripción
server
estado
customProperties
server.runtimeUri

Nota:

Los id. de recursos y del sistema para las entidades sincronizadas con el Centro de API de Azure se generan automáticamente y no se pueden cambiar.

Requisitos previos

  • Un centro de API en la suscripción de Azure. Si aún no ha creado uno, consulte Inicio rápido: Creación del centro de API.

  • Un almacén de claves de Azure. Si necesita crear uno, consulte Inicio rápido: Creación de un almacén de claves mediante Azure Portal. Para agregar o administrar secretos en el almacén de claves, se requieren al menos el rol de responsable de secretos de Key Vault o permisos equivalentes.

  • Una instancia de Amazon API Gateway.

  • Una identidad de usuario de IAM de AWS con la directiva AmazonAPIGatewayAdministrator adjunta.

  • Para la CLI de Azure:

    Nota:

    Los comandos az apic requieren la extensión apic-extension CLI de Azure. Si no ha usado comandos az apic, la extensión se puede instalar dinámicamente al ejecutar el primer comando az apic o puede instalar la extensión manualmente. Obtenga más información sobre las extensiones de la CLI de Azure.

    Consulte las notas de la versión para conocer los cambios y actualizaciones más recientes de apic-extension. Algunas características pueden requerir una versión preliminar o una versión específica de la extensión.

    Nota:

    Los ejemplos de comandos de la CLI de Azure de este artículo se pueden ejecutar en PowerShell o en un shell de Bash. Cuando sea necesario debido a una sintaxis de variable diferente, se proporcionan ejemplos de comandos independientes para los dos shells.

Creación de claves de acceso de usuario de IAM

Para autenticar el centro de API en Amazon API Gateway, necesita claves de acceso para un usuario de IAM de AWS.

Para generar el id. clave de acceso y la clave secreta necesarios mediante la Consola de administración de AWS, consulte Creación de una clave de acceso para su usuario en la documentación de AWS.

Guarde las claves de acceso en una ubicación segura. Las almacenará en Azure Key Vault en los pasos siguientes.

Precaución

Las claves de acceso son credenciales a largo plazo y debe administrarlas de una forma tan segura como lo haría con una contraseña. Más información sobre la protección de claves de acceso

Almacenamiento de claves de acceso de usuario de IAM en Azure Key Vault

Cargue y almacene manualmente de forma segura las dos claves de acceso de usuario de IAM en Azure Key Vault mediante la configuración recomendada en la tabla siguiente. Para más información, consulte Inicio rápido: Establecimiento y recuperación de un secreto desde Azure Key Vault mediante Azure Portal.

Secreto de AWS Opciones de carga Nombre Valor secreto
Clave de acceso Manual aws-access-key Id. clave de acceso recuperado de AWS
Clave de acceso secreta Manual aws-secret-access-key Clave de acceso secreta recuperada de AWS

Recorte de pantalla de la lista de secretos en Azure Key Vault en el portal.

Tome nota del identificador secreto de cada secreto, un URI similar a https://<key-vault-name>.vault.azure.net/secrets/<secret-name>. Usará estos identificadores en el siguiente paso.

Habilitación de identidades administradas en el Centro de API

En este escenario, el Centro de API usa una identidad administrada para acceder a los recursos de Azure. En función de sus necesidades, habilite una identidad administrada asignada por el sistema o una o varias identidades administradas asignadas por el usuario.

En los siguientes ejemplos, se muestra cómo habilitar una identidad administrada asignada por el sistema mediante Azure Portal o la CLI de Azure. A un nivel alto, los pasos de configuración son similares para una identidad administrada asignada por el usuario.

  1. En el portal, vaya al centro de API.
  2. En el menú de la izquierda, en Seguridad, seleccione Identidades administradas.
  3. Seleccione Asignado por el sistema y establezca el estado en Activado.
  4. Seleccione Guardar.

Asignación de la identidad administrada al rol de usuario secretos de Key Vault

Para permitir la importación de las API, asigne la identidad administrada del centro de API al rol de usuario de secretos de Key Vault en el almacén de claves de Azure. Puede usar el portal o la CLI de Azure.

  1. En el portal, vaya al almacén de claves.
  2. En el menú izquierdo, seleccione Control de acceso (IAM) .
  3. Seleccione + Agregar asignación de roles.
  4. En la página Agregar asignación de roles, establezca los valores como se indica a continuación:
    1. En la pestaña Rol, seleccione Usuario de secretos de Key Vault.
    2. En la pestaña Miembros, en Asignar acceso a, seleccione Identidad administrada> + Seleccionar miembros.
    3. En la página Seleccionar identidades administradas, seleccione la identidad administrada asignada por el sistema del Centro de API que agregó en la sección anterior. Haga clic en Seleccionar.
    4. Seleccione Revisar y asignar.

Integración de Amazon API Gateway

Ejecute el comando az apic integration create aws (versión preliminar) para integrar Amazon API Gateway en el Centro de API.

  • Proporcione los nombres del grupo de recursos, el Centro de API y la integración.

  • Proporcione los identificadores secretos de Key Vault para la clave de acceso de AWS y la clave de acceso secreta, y la región de AWS donde se implementa Amazon API Gateway.

az apic integration create aws \
    --resource-group <resource-group-name> \
    --service-name-name <api-center-name> \
    --integration-name <aws-integration-name> \
    --aws-access-key-reference <access-key-uri> \
    --aws-secret-access-key-reference <secret-access-key-uri> 
    --aws-region-name <aws-region>

El entorno se agrega en el centro de API. Las API de Amazon API Gateway se importan al inventario del Centro de API.

Eliminar una integración

Mientras un origen de API esté integrado, no es posible eliminar las API sincronizadas del Centro de API. Si fuera necesario, elimine la integración. Al eliminar una integración:

  • Las API sincronizadas del inventario del Centro de API se eliminan
  • Se eliminan el entorno y las implementaciones asociadas al origen de API

Para eliminar una integración mediante la CLI de Azure, ejecute el comando az apic integration delete (versión preliminar). Proporcione los nombres del grupo de recursos, el Centro de API y la integración.

az apic integration delete \
    --resource-group <resource-group-name> \
    --service-name <api-center-name> \
    --integration-name <integration-name>