Saltar al contenido

¿Cuál es la diferencia entre los permisos del rol de ejecución de funciones de Lambda y los permisos de invocación?

4 minutos de lectura
0

Quiero entender las diferencias entre los permisos del rol de ejecución de funciones de AWS Lambda y los permisos de invocación. También quiero saber en qué se diferencian los dos tipos de permisos de AWS Identity and Access Management (IAM) para Lambda.

Solución

Importante: Al crear políticas de IAM, se recomienda conceder solo los permisos necesarios para realizar una tarea específica.

Permisos del rol de ejecución de funciones de Lambda

Los permisos del rol de ejecución de Lambda son permisos de IAM que otorgan a una función de Lambda permiso para acceder a servicios y recursos de AWS específicos. Si no concedes permisos a tu rol de ejecución de funciones para un servicio o recurso, la función no podrá acceder a él.

Concesión de permisos del rol de ejecución

Para conceder permisos del rol de ejecución de Lambda, debes enumerar las acciones de API específicas del servicio, como s3:GetObject o sns:Publish, en el elemento Action de una declaración de política de IAM. A continuación, debes adjuntar la política a un rol de ejecución de IAM que la función de Lambda asume cuando se invoca.

En el caso de los servicios que generan una cola o una secuencia de datos, debes configurar una asignación de orígenes de eventos para que Lambda sondee la cola o la secuencia de datos. La asignación de orígenes de eventos usa los permisos del rol de ejecución de la función para leer y administrar los elementos del origen de eventos.

Nota: Los permisos, las estructuras de eventos, la configuración y el comportamiento de las encuestas varían según el origen del evento. Para ver un ejemplo de política de IAM con permisos de sondeo de Lambda, consulta Política de IAM para permitir que una función de AWS Lambda acceda a registros de secuencias de Amazon DynamoDB.

Permisos de invocación de funciones de Lambda

Los permisos de invocación de funciones de Lambda son permisos de IAM que conceden a un servicio o recurso específico un permiso para invocar una función de Lambda. Cuando no concedes un permiso de invocación de un servicio o recurso para tu función de Lambda, el servicio o el recurso no pueden invocar la función.

Importante: Debes conceder permiso de invocación a los servicios que envían orígenes de eventos a la función de Lambda. Por ejemplo, utiliza la política basada en recursos de la función para conceder a Amazon API Gateway permiso para invocar una función de Lambda.

Concesión de permisos de invocación

Para conceder permisos de invocación de Lambda, debes incluir la acción de la API lambda:InvokeFunction en el elemento Action de la declaración de política basada en recursos de IAM de una función de Lambda. La política basada en recursos de la función de Lambda se configura por separado del rol de ejecución de la función.

Nota: En este caso, el identificador de la acción lambda:InvokeFunction es diferente de la operación de la API de invocación. Para otras acciones, el identificador de la acción es el nombre de la operación con el prefijo lambda:.

Cuando usas la consola de Lambda para añadir un activador a la función, los permisos de invocación necesarios se añaden automáticamente a la política basada en recursos de la función. Para conceder permisos a cuentas o servicios de AWS que no están disponibles en la consola, debes utilizar la acción de la API AddPermission de Lambda.

Para obtener más información, consulta Concesión de acceso a la función de Lambda a servicios de AWS.

Información relacionada

Administrar permisos en AWS Lambda

Trabajo con políticas administradas de AWS en el rol de ejecución

OFICIAL DE AWSActualizada hace un año