Uso de etiquetas en funciones de Lambda - AWS Lambda

Uso de etiquetas en funciones de Lambda

Puede etiquetar funciones de AWS Lambda para activar el control de acceso basado en atributos (ABAC) y organizarlas por propietario, proyecto o departamento. Las etiquetas son pares clave-valor de forma libre que se admiten en todos los servicios de AWS para utilizarlas en ABAC, filtrar recursos y agregar detalles a los informes de facturación.

Las etiquetas se aplican en el nivel de las funciones, no de las versiones ni de los alias. Las etiquetas no forman parte de la configuración específica de la versión que Lambda crea una instantánea al publicar una versión.

Permisos necesarios para trabajar con etiquetas

Conceda los permisos adecuados a la identidad de AWS Identity and Access Management (IAM) (usuario, grupo o rol) para la persona que trabaja con la función:

  • lambda:ListTags: cuando una función tiene etiquetas, conceda este permiso a cualquier persona que necesite llamar a GetFunction o ListTags.

  • lambda:TagResource: conceda este permiso a cualquier persona que necesite llamar a CreateFunction o TagResource.

Para obtener más información, consulte Políticas de IAM basadas en identidad para Lambda.

Uso de etiquetas con la consola de Lambda

Puede utilizar la consola de Lambda para crear funciones que tengan etiquetas, agregar etiquetas a funciones existentes y filtrar funciones por las etiquetas que se agregan.

Para agregar etiquetas al momento de crear una función
  1. Abra la página de Functions (Funciones) en la consola de Lambda.

  2. Elija Create function (Crear función).

  3. Elija Author from scratch (Crear desde cero) o Container image (Imagen de contenedor).

  4. Bajo Basic information (Información básica), haga lo siguiente:

    1. En Nombre de función, escriba el nombre de la función. Los nombres de las funciones están limitados a 64 caracteres de longitud.

    2. Para Runtime (Tiempo de ejecución), elija la versión del idioma que desea utilizar para su función.

    3. (Opcional) En Architecture (Arquitectura), elija la arquitectura del conjunto de instrucciones que utilizará para su función. La arquitectura predeterminada es x86_64. Cuando cree el paquete de implementación para la función, asegúrese de que sea compatible con la arquitectura del conjunto de instrucciones que elija.

  5. Expanda Advanced settings (Configuración avanzada) y, a continuación, seleccione Enable tags (Habilitar etiquetas).

  6. Elija Add new tag (Agregar nueva etiqueta) y, a continuación, escriba una clave y el valor opcional. Para añadir más etiquetas, repita este paso.

  7. Elija Create function (Crear función).

Para agregar etiquetas a una función existente
  1. Abra la página de Functions (Funciones) en la consola de Lambda.

  2. Elija el nombre de una función.

  3. Elija Configuration (Configuración) y, a continuación, elija Tags (Etiquetas).

  4. En Tags (Etiquetas), elija Manage tags (Administrar etiquetas).

  5. Elija Add new tag (Agregar nueva etiqueta) y, a continuación, escriba una clave y el valor opcional. Para añadir más etiquetas, repita este paso.

    
              Etiquetado de una función en la consola de Lambda.
  6. Seleccione Save.

Para filtrar funciones con etiquetas
  1. Abra la página de Functions (Funciones) en la consola de Lambda.

  2. Elija la barra de búsqueda para ver una lista de los atributos de función y las claves de etiqueta.

    
              Etiquetas de la barra de búsqueda de funciones.
  3. Elija una clave de etiqueta para ver la lista de valores que están en uso en la región de AWS actual.

  4. Elija un valor para ver las funciones con ese valor o elija (all values) [(todos los valores)] para ver todas las funciones que tienen una etiqueta con esa clave.

    
              Filtrado por el valor de la etiqueta.

La barra de búsqueda también permite buscar claves de etiqueta. Escriba tag para ver de forma exclusiva una lista de claves de etiqueta o escriba el nombre de una clave para encontrarla en la lista.

Uso de etiquetas con la AWS CLI

Agregar y eliminar etiquetas

Para crear una nueva función de Lambda con etiquetas, utilice el comando create-function con la opción --tags.

aws lambda create-function --function-name my-function --handler index.js --runtime nodejs16.x \ --role arn:aws:iam::123456789012:role/lambda-role \ --tags Department=Marketing,CostCenter=1234ABCD

Para añadir etiquetas a una función existente, utilice el comando tag-resource.

aws lambda tag-resource \ --resource arn:aws:lambda:us-east-2:123456789012:function:my-function \ --tags Department=Marketing,CostCenter=1234ABCD

Para eliminar etiquetas, utilice el comando untag-resource.

aws lambda untag-resource --resource arn:aws:lambda:us-east-1:123456789012:function:my-function \ --tag-keys Department

Visualización de etiquetas de una función

Si desea ver las etiquetas que se aplican a una función de Lambda específica, puede utilizar cualquiera de los siguientes comandos de la AWS CLI:

  • ListTags: para ver una lista de las etiquetas asociadas a esta función, incluya el ARN (nombre de recurso de Amazon) de la función de Lambda:

    aws lambda list-tags --resource arn:aws:lambda:us-east-1:123456789012:function:my-function
  • GetFunction: para ver una lista de las etiquetas asociadas a esta función, incluya el nombre de la función de Lambda:

    aws lambda get-function --function-name my-function

Filtrado de funciones por etiqueta

Puede utilizar la operación de la API de AWS Resource Groups Tagging API GetResources para filtrar los recursos por etiquetas. La operación GetResources recibe hasta 10 filtros y cada uno contiene una clave de etiqueta y hasta 10 valores de etiqueta. Usted proporciona GetResources con un ResourceType para filtrar por tipos de recurso específicos.

Para obtener más información acerca de AWS Resource Groups, consulte ¿Qué son los grupos de recursos? en la Guía del usuario de AWS Resource Groups y etiquetas.

Requisitos para etiquetas

Los siguientes requisitos se aplican a las etiquetas:

  • Número máximo de etiquetas por recurso: 50

  • Longitud máxima de la clave: 128 caracteres Unicode en UTF-8

  • Longitud máxima del valor: 256 caracteres Unicode en UTF-8

  • Las claves y los valores de las etiquetas distinguen entre mayúsculas y minúsculas.

  • No utilice el prefijo aws: en los nombres o valores de las etiquetas, porque está reservado para uso de AWS. Los nombres y valores de etiquetas que tienen este prefijo no se pueden editar. Las etiquetas que tengan este prefijo no cuentan para el límite de etiquetas por recurso.

  • Si pretende utilizar su esquema de etiquetado en múltiples servicios y recursos, recuerde que otros servicios pueden tener restricciones de caracteres permitidos. Los caracteres generalmente permitidos son: letras, espacios y números representables en UTF-8, además de los siguientes caracteres especiales: + - = . _ : / @.