Solo pasarela de API de DataPower

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

Tabla 1. Tabla que muestra qué pasarelas soportan esta política y la versión de política correspondiente
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.

Para habilitar API Connect para invocar una función Lambda, complete las siguientes tareas:
  1. 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.
  2. Define una política de API en API Connect utilizando las propiedades de la política en la sección Propiedades de este tema.
Nota:
  • 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

Para utilizar una política Lambda, debe configurar un rol en su cuenta AWS, especificando una política de permisos y una relación de confianza, para que API Connect pueda invocar la función AWS Lambda. Existe una opción de autenticación cuando se utiliza la política AWS Lambda:

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:

  1. Inicie sesión en la consola de administración de AWS y abra la consola IAM.
  2. En la consola de AWS IAM, pulse Usuarios en la lista de navegación y, a continuación, pulse Añadir usuarios.
  3. 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.

  4. En la página "Establecer detalles de usuario", pulse Siguiente: Etiquetas sin realizar ningún cambio en la nueva cuenta de usuario.
  5. Cree las Etiquetas deseadas y, a continuación, pulse Siguiente: Revisar.
  6. Revise los valores y pulse Crear usuario.

    Ignore el aviso de que This user has no permissions porque asignará permisos en los pasos restantes.

  7. 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.
  8. Actualice la función Lambda para proporcionar permisos para el nuevo usuario:
    1. En la consola de Lambda, abra la página Funciones .
    2. Selecciona la función que API Connect invocará.
    3. Pulse Configuración.
    4. En la sección Sentencias de política basadas en recursos , pulse Añadir permisos.
    5. Seleccione Cuenta deAWS y añada un ID de sentenciaexclusivo.
    6. Establezca Principal en el ARN del nuevo usuario.

      arn:aws:iam::<AWS_account_ID>:user/<username>, available on the Usuarios > <username> page.

    7. Establezca la Acción en lambda:InvokeFunction.
    8. 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.

Tabla 2. Propiedades de política Límite de velocidad
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 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 La clave de acceso secreta que corresponde al ID de clave de acceso de AWSespecificado. serie
Función 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:
  • Nombre de función; por ejemplo: my-function
  • Función ARN; por ejemplo: arn:aws:lambda:us-east-a:123456789012:function:my-function
  • ARN parcial- 123456789012:function:my-function

Para obtener más información, consulte FunctionName en la Guía del desarrollador de AWS Lambda.

serie
Región 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 Qualifier en la Guía del desarrollador de AWS Lambda.

serie