Administrar permisos en AWS Lambda - AWS Lambda

Administrar permisos en AWS Lambda

Puede utilizar AWS Identity and Access Management (IAM) para administrar permisos en AWS Lambda. Hay dos categorías principales de permisos que debe tener en cuenta al trabajar con funciones de Lambda:

  • Permisos que las funciones de Lambda necesitan para realizar las acciones de la API y acceder a otros recursos de AWS.

  • Permisos que otros usuarios y entidades de AWS necesitan para acceder a las funciones de Lambda

Las funciones de Lambda a menudo necesitan acceder a otros recursos de AWS y realizar diversas operaciones de la API en esos recursos. Por ejemplo, puede tener una función de Lambda que responda a un evento actualizando las entradas de una base de datos de Amazon DynamoDB. En este caso, la función necesita permisos para acceder a la base de datos, así como permisos para colocar o actualizar elementos en esa base de datos.

Usted define los permisos que necesita la función de Lambda se definen en un rol de IAM especial llamado rol de ejecución. En este rol, puede adjuntar una política que defina los permisos que la función necesita para acceder a otros recursos de AWS y leer desde orígenes de eventos. Cada función de Lambda debe tener un rol de ejecución. Como mínimo, su rol de ejecución debe tener acceso a Amazon CloudWatch, ya que las funciones de Lambda se registran en Registros de CloudWatch de forma predeterminada. Puede adjuntar la política administrada AWSLambdaBasicExecutionRole a su rol de ejecución para cumplir con este requisito.

Para conceder permisos para que otras Cuentas de AWS, organizaciones y servicios accedan a sus recursos de Lambda, tiene varias opciones:

  • Puede utilizar políticas basadas en identidades para conceder acceso a otros usuarios a sus recursos de Lambda. Las políticas basadas en identidad se pueden aplicar a los usuarios directamente, o a los grupos y roles que están asociados a un usuario.

  • Puede usar las políticas basadas en recursos para darles permiso a otras cuentas y Servicios de AWS para acceder a los recursos de Lambda. Cuando un usuario intenta acceder a un recurso de Lambda, este servicio tiene en cuenta tanto las políticas basadas en identidades como la política basada en recursos del recurso. Cuando un servicio de AWS, como Amazon Simple Storage Service (Amazon S3), llama a la función de Lambda, el servicio considera solo la política basada en recursos.

  • Puede utilizar un modelo de control de acceso basado en atributos (ABAC) para controlar el acceso a las funciones de Lambda. Con ABAC, puede adjuntar etiquetas a una función de Lambda, pasarlas en determinadas solicitudes de la API o adjuntarlas a la entidad principal de IAM que realiza la solicitud. Especifique las mismas etiquetas en el elemento de condición de una política de IAM para controlar el acceso a la función.

EnAWS, se recomienda conceder solo los permisos necesarios para realizar una tarea (permisos de privilegios mínimos). Para implementar esto en Lambda, recomendamos comenzar con una política administrada de AWS. Puede utilizar estas políticas administradas tal como están, o como punto de partida para escribir sus propias políticas más restrictivas.

Para ayudarlo a ajustar sus permisos para el acceso con privilegios mínimos, Lambda proporciona algunas condiciones adicionales que puede incluir en sus políticas. Para obtener más información, consulte Afinar las secciones de recursos y condiciones de las políticas.

Para obtener más información acerca de IAM, consulte la guía del usuario de IAM.