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:
- Las API y, opcionalmente, las definiciones de API (especificaciones), de API Gateway se agregan al inventario del Centro de API.
- Configure un entorno de tipo Amazon API Gateway en el Centro de API.
- 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:
Use el entorno de Bash en Azure Cloud Shell. Para más información, consulte Inicio rápido para Bash en Azure Cloud Shell.
Si prefiere ejecutar comandos de referencia de la CLI localmente, instale la CLI de Azure. Si utiliza Windows o macOS, considere la posibilidad de ejecutar la CLI de Azure en un contenedor Docker. Para más información, vea Ejecución de la CLI de Azure en un contenedor de Docker.
Si usa una instalación local, inicie sesión en la CLI de Azure mediante el comando az login. Siga los pasos que se muestran en el terminal para completar el proceso de autenticación. Para ver otras opciones de inicio de sesión, consulte Inicio de sesión con la CLI de Azure.
En caso de que se le solicite, instale las extensiones de la CLI de Azure la primera vez que la use. Para más información sobre las extensiones, consulte Uso de extensiones con la CLI de Azure.
Ejecute az version para buscar cuál es la versión y las bibliotecas dependientes que están instaladas. Para realizar la actualización a la versión más reciente, ejecute az upgrade.
Nota:
Los comandos
az apic
requieren la extensiónapic-extension
CLI de Azure. Si no ha usado comandosaz apic
, la extensión se puede instalar dinámicamente al ejecutar el primer comandoaz 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 |
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.
- En el portal, vaya al centro de API.
- En el menú de la izquierda, en Seguridad, seleccione Identidades administradas.
- Seleccione Asignado por el sistema y establezca el estado en Activado.
- 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.
- En el portal, vaya al almacén de claves.
- En el menú izquierdo, seleccione Control de acceso (IAM) .
- Seleccione + Agregar asignación de roles.
- En la página Agregar asignación de roles, establezca los valores como se indica a continuación:
- En la pestaña Rol, seleccione Usuario de secretos de Key Vault.
- En la pestaña Miembros, en Asignar acceso a, seleccione Identidad administrada> + Seleccionar miembros.
- 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.
- 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>