Lambda
Utilice la política Lambda para desencadenar directamente las funciones Lambda de AWS desde la API sin utilizar la API Gatewayde Amazon.
Soporte de pasarela
| Pasarela | Versión de política |
|---|---|
| DataPower® API Gateway | 1.3.0 |
En este tema se describe cómo configurar la política en la interfaz de usuario de ensamblaje. Para obtener detalles sobre cómo configurar la política en el origen de OpenAPI , consulte Lambda.
Acerca de
La política Lambda le permite desencadenar funciones Lambda de AWS desde el ensamblado de una API sin necesidad de utilizar Amazon API Gateway. Al añadir la política a un ensamblaje de API, puede especificar la función Lambda para invocar y proporcionar credenciales para utilizarla. Las credenciales pueden ser una función IAM de AWS o un par de ID de clave de acceso/clave de acceso secreta. Puede descargar la política lambda desde Paquete de correcciones de políticas lambda.
- Configure el acceso a la función Lambda en AWS tal como se explica en la sección Configuración de permisos y confianza en AWS de este tema.
- Define una política de API en API Connect utilizando las propiedades de la política en la sección Propiedades de este tema.
- La política de Lambda utiliza puntos finales de VPC para garantizar que la comunicación desde el gateway al servicio de Lambda se realiza a través de la red troncal privada AWS.
- Para obtener información sobre Lambda e instrucciones para utilizar las funciones de Lambda, consulte la documentación de AWS Lambda.
Configuración de permisos y confianza en AWS
Utilice las instrucciones para la opción que mejor se adapte a sus necesidades.
- ID de clave de acceso/Clave de acceso secreta
- Proporcione el par de claves de acceso secretas AWS ID de clave de acceso/AWS de una cuenta con permiso para invocar una o más funciones de Lambda. Los permisos de esta cuenta deben tener el ámbito más estrecho posible; la cuenta debe ser una cuenta de servicio sin más permisos que la posibilidad de invocar una o más funciones de Lambda. Para obtener más información, consulte la documentación Políticas de IAM basadas en identidades para Lambda.
Para utilizar la opción de autenticación Access Key ID/Secret Access Key, complete los siguientes pasos para utilizar el servicio IAM de su cuenta y cree una cuenta de servicio IAM con los permisos adecuados para facilitar la comunicación limitada con API Connect:
- Inicie sesión en la consola de administración de AWS y abra la consola IAM.
- En la consola de AWS IAM, pulse Usuarios en la lista de navegación y, a continuación, pulse Añadir usuarios.
- Cuando se le solicite "Establecer detalles de usuario", proporcione un Nombre de usuario (exclusivo en su cuenta de AWS ) y seleccione Clave de acceso-Acceso programático.
Puede seleccionar la opción Contraseña - AWS Acceso a la consola de administración, pero no es necesaria para interactuar con API Connect.
Existen diversas opciones para definir permisos para la nueva cuenta de usuario. Consulte la Guía del usuario deAWS Identity and Access Management para obtener información sobre cómo añadir el usuario a un grupo de usuarios o adjuntar una política directamente al usuario.
Un método sencillo para definir los permisos de usuario que se ajusta al principio de menor privilegio es crear un usuario de IAM sin permisos y, a continuación, añadir dicho usuario a la configuración de permisos de una función Lambda específica, tal como se muestra en los pasos siguientes.
- En la página "Establecer detalles de usuario", pulse Siguiente: Etiquetas sin realizar ningún cambio en la nueva cuenta de usuario.
- Cree las Etiquetas deseadas y, a continuación, pulse Siguiente: Revisar.
- Revise los valores y pulse Crear usuario.
Ignore el aviso de que
This user has no permissionsporque asignará permisos en los pasos restantes. - Pulse Descargar .csv para guardar el ID de clave de acceso y la clave de acceso secretadel nuevo usuario y almacenarlos en un lugar seguro. Estos valores se utilizarán como AWS Access Key ID y AWS Secret Access Key al configurar la política Lambda de tu API en API Connect.
- Actualice la función Lambda para proporcionar permisos para el nuevo usuario:
- En la consola de Lambda, abra la página Funciones .
- Selecciona la función que API Connect invocará.
- Pulse Configuración.
- En la sección Sentencias de política basadas en recursos , pulse Añadir permisos.
- Seleccione Cuenta deAWS y añada un ID de sentenciaexclusivo.
- Establezca Principal en el ARN del nuevo usuario.
arn:aws:iam::<AWS_account_ID>:user/<username>, available on the page. - Establezca la Acción en
lambda:InvokeFunction. - Pulse Guardar.
Repita este paso para cada función de Lambda que invoque la cuenta de usuario.
Propiedades
En la tabla siguiente se listan las propiedades de política, se indica si se requiere una propiedad, y se especifica los valores válidos y predeterminados para la entrada, así como el tipo de datos de los valores.
| Etiqueta de propiedad | Obligatorio | Descripción | Tipo de datos |
|---|---|---|---|
| Título | Nee | El título de la política. El valor predeterminado es lambda. |
serie |
| Descripción | Nee | Una descripción de la política. | serie |
| ID de clave de acceso de AWS | Sí | AWS Las claves de acceso son credenciales a largo plazo para un usuario de AWS IAM. Necesario si en su lugar no se proporciona el ARN de rol deAWS Assume . Para obtener instrucciones sobre cómo crear el par de claves de acceso en AWS, consulte ID de clave de acceso/Clave de acceso secreta en este tema. |
serie |
| Clave de acceso secreta de AWS | Sí | La clave de acceso secreta que corresponde al ID de clave de acceso de AWSespecificado. | serie |
| Función | Sí | El nombre o nombre de recurso de Amazon (ARN) de la función de Lambda AWS que se va a ejecutar, utilizando uno de los formatos siguientes:
Para obtener más información, consulte |
serie |
| Región | Sí | La región AWS donde se aloja la función Lambda. | serie |
| Calificador | Nee | El alias o versión de la función Lambda que desea ejecutar. Para obtener más información, consulte |
serie |