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

4 minutos de lectura
0

Quiero conocer las diferencias entre los permisos de rol de ejecución y los permisos de invocación de funciones de AWS Lambda. ¿En qué se diferencian los dos tipos de permisos de AWS Identity and Access Management (IAM) para Lambda?

Resolución

Importante: Cuando se crean políticas de IAM, la práctica recomendada es conceder solo los permisos necesarios para realizar una tarea específica. Para obtener más información, consulte Conceder privilegios mínimos en la Guía del usuario de IAM.

Permisos de rol de ejecución de funciones de Lambda

Los permisos de rol de ejecución de Lambda son permisos de IAM que conceden autorización a una función de Lambda para acceder a servicios y recursos en la nube de AWS específicos. Si no se conceden permisos de rol de ejecución a una función para un servicio o recurso en la nube de AWS, esa función no podrá acceder a ese servicio o recurso.

Importante: Las funciones de Lambda que sondeen otros servicios en la nube de AWS requieren permisos de rol de ejecución que autoricen a tales funciones a recuperar registros de esos servicios.

Cómo se conceden los permisos de rol de ejecución

Los permisos de rol de ejecución de Lambda se otorgan en forma de identificadores de acción de API específicos (por ejemplo,s3:GetObject). Estos identificadores de acción se incluyen en el elemento Action de una instrucción de política de IAM. A continuación, se adjunta la política a un rol de IAM, denominado rol de ejecución, que la función de Lambda asume cuando se la invoca.

En el caso de servicios que generen una cola o un flujo de datos, se debe configurar una asignación de origen de eventos para que Lambda sondee la cola o el flujo de datos. La asignación de origen de eventos utiliza los permisos del rol de ejecución de la función para leer y administrar los elementos del origen de eventos.

Nota: Los permisos, la estructura de los eventos, la configuración y el comportamiento del sondeo varían según el origen de eventos. Para ver un ejemplo de política de IAM que incluye permisos de sondeo de Lambda, consulte Directiva de IAM para permitir una función AWS Lambda para acceder a registros de DynamoDB Stream.

Permisos de invocación de funciones de Lambda

Los permisos de invocación de funciones de Lambda son permisos de IAM que conceden autorización a un servicio o recurso en la nube de AWS específico para invocar una función de Lambda. Si no se conceden permisos de invocación de una función de Lambda a un servicio o recurso, ese servicio o recurso no podrá invocar esa función.

Importante: Las funciones de Lambda que son invocadas por servicios en la nube de AWS que insertan orígenes de eventos en esas funciones requieren permisos de invocación.

Cómo se conceden los permisos de invocación

Los permisos de invocación de Lambda se otorgan en forma de un identificador de acción de API específico: lambda:InvokeFunction. Este identificador de acción se incluye en el elemento Action de la instrucción de la política basada en recursos de IAM de una función de Lambda. La política basada en recursos de una función de Lambda se configura de manera independiente del rol de ejecución de esa función.

Nota: Este es un caso especial en el que el identificador de acción (lambda:InvokeFunction) es diferente de la operación de API (Invoke). Para otras acciones, el identificador de acción es el nombre de la operación con el prefijo lambda:.

Cuando se utiliza la consola de Lambda para agregar un desencadenador a una función, se agregan automáticamente los permisos de invocación requeridos a la política basada en recursos de esa función. Para conceder permisos a cuentas o servicios que no estén disponibles en la consola, se debe usar la acción de API AddPermission de Lambda.

Para obtener más información, consulte Concesión de acceso a las funciones a los servicios de AWS.


Información relacionada

Permisos de AWS Lambda

Aplicación de los principios del privilegio mínimo (Guía del operador de Lambda)

OFICIAL DE AWS
OFICIAL DE AWSActualizada hace 2 años