Uso de etiquetas con buckets de directorio de S3
Una etiqueta de AWS es un par clave-valor que contiene metadatos acerca de los recursos, en este caso buckets de directorio de Amazon S3. Puede etiquetar los buckets de directorio de S3 al crearlos o administrar las etiquetas de los buckets de directorio existentes. No se aplican cargos adicionales por el uso de etiquetas en buckets de directorio más allá de las tarifas estándar de solicitud de API de S3. Para obtener más información, consulte Precios de Amazon S3
Cómo funcionan las etiquetas
Los buckets de directorio de Amazon S3 admiten dos tipos de etiquetas:
-
Etiquetas generadas por AWS: AWS aplica estas etiquetas automáticamente y no puede modificarlas ni eliminarlas. Para obtener más información sobre las etiquetas generadas por AWS, consulte Uso de etiquetas generadas por AWS.
-
Etiquetas definidas por el usuario: aplica estas etiquetas a los buckets de directorio de S3 u otros recursos y las administra.
Etiquetas definidas por el usuario
Una etiqueta definida por el usuario es un par clave-valor de etiqueta que se utiliza para etiquetar los recursos. Las etiquetas definidas por el usuario constan de una clave obligatoria y un valor opcional. Estos son los componentes principales de una etiqueta definida por el usuario:
La clave de la etiqueta
La clave de la etiqueta es el nombre obligatorio de la etiqueta. Por ejemplo, project
es la clave de etiqueta en el siguiente par clave-valor de etiqueta:
Clave | Valor |
---|---|
project |
Trinity |
La clave de la etiqueta es una cadena que distingue entre mayúsculas y minúsculas y que debe contener entre 1 y 128 caracteres Unicode.
El valor de la etiqueta
El valor de la etiqueta es una cadena opcional. Por ejemplo, Trinity
es el valor de etiqueta en este par clave-valor de etiqueta:
Clave | Valor |
---|---|
project |
Trinity |
El valor de la etiqueta es una cadena que distingue entre mayúsculas y minúsculas y que puede contener entre 0 y 256 caracteres Unicode.
Para obtener información detallada acerca de los caracteres permitidos en las etiquetas definidas por el usuario y otras restricciones, consulte Restricciones de las etiquetas definidas por el usuario en la Guía del usuario de Administración de facturación y costos de AWS.
El conjunto de etiquetas
Cada bucket de directorio de S3 tiene un conjunto de etiquetas que contiene todos los pares de clave y valor de etiqueta asignados a ese bucket. Un conjunto de etiquetas puede contener hasta 50 etiquetas definidas por el usuario o puede estar vacío.
Aunque cada clave debe ser única en un conjunto de etiquetas, puede usar el mismo valor varias veces. Por ejemplo, puede tener el mismo valor, Trinity
, para las siguientes dos claves de etiqueta:
Clave | Valor |
---|---|
project |
Trinity |
cost-center |
Trinity |
En un bucket, si agrega una etiqueta con la misma clave que una etiqueta existente, el valor nuevo sobrescribe el anterior.
AWS no aplica ningún significado semántico a las etiquetas. Las etiquetas se interpretan estrictamente como cadenas de caracteres.
Para agregar, mostrar, modificar o eliminar etiquetas, puede utilizar la consola de Amazon S3, la interfaz de la línea de comandos (CLI) de AWS (CLI de AWS) o la API de Amazon S3.
Formas comunes de usar etiquetas
Utilice etiquetas en los buckets de directorio de S3 para:
-
Asignación de costos: realice un seguimiento de los costos de almacenamiento por etiqueta de bucket en Administración de facturación y costos de AWS.
-
Control de acceso basado en atributos (ABAC): escale los permisos de acceso y conceda acceso a los buckets de directorio de S3 en función de sus etiquetas.
nota
Puede usar las mismas etiquetas para la asignación de costos y para el control de acceso.
Uso de etiquetas para la asignación de costos
Realice un seguimiento de los costos de almacenamiento de Amazon S3 aplicando etiquetas a los buckets de directorio de S3 y activando estas etiquetas para la asignación de costos.
Para empezar a hacer un seguimiento de los costos:
-
Agregue etiquetas a los buckets de directorio de S3 o utilice las etiquetas existentes. Para obtener más información sobre cómo agregar etiquetas definidas por el usuario a los buckets de directorio, consulte Trabajo con etiquetas. Por ejemplo, puede etiquetar los buckets con una etiqueta que identifique un proyecto o un grupo de proyectos.
-
Active las etiquetas de asignación de costos en la consola de Administración de facturación y costos de AWS. Consulte Activación de etiquetas de asignación de costos definidas por el usuario en la Guía del usuario de Administración de facturación y costos de AWS. Puede activar etiquetas definidas por el usuario o generadas por AWS. Para obtener más información, consulte Organización y seguimiento de los costos mediante etiquetas de asignación de costos de AWS.
AWS utiliza las etiquetas activadas para organizar los costos de los recursos en diversas herramientas de facturación y gestión de costos, como:
-
Informe de asignación de costos
Proporciona una vista general de los costos organizados por etiquetas activadas. Para obtener más información, consulte Uso del informe de asignación de costos mensual en la Guía del usuario de facturación de AWS.
-
Informe de costos y usos (CUR)
Proporciona el conjunto más detallado de datos de costo y uso de AWS, incluidos los desgloses de costos basados en etiquetas. Para obtener más información, consulte ¿Qué son los informes de costos y usos de AWS? en la Guía del usuario de exportaciones de datos de AWS.
Uso de etiquetas para el control de acceso basado en atributos (ABAC)
El control de acceso basado en atributos (ABAC) es una estrategia de autorización que define permisos en función de atributos, es decir, etiquetas. Puede adjuntar etiquetas a entidades de AWS Identity and Access Management (IAM) (usuarios o roles) y a recursos de AWS, como los buckets de directorio de Amazon S3. A continuación, puede controlar los permisos de estos recursos mediante condiciones basadas en etiquetas en las políticas de control de acceso para permitir o denegar las operaciones cuando se cumplen estas condiciones.
ABAC para buckets de directorio de S3
Los buckets de directorio de Amazon S3 admiten el control de acceso basado en atributos (ABAC) mediante etiquetas. Utilice claves de condición basadas en etiquetas en sus políticas de bucket de organizaciones, IAM y directorio de S3 de AWS. Para las empresas, ABAC en Amazon S3 admite la autorización en varias cuentas de AWS.
En sus políticas de IAM, puede controlar el acceso a los buckets de directorio de S3 en función de las etiquetas del bucket mediante las siguientes claves de condición globales:
-
aws:ResourceTag/key-name
-
Utilice esta clave para comparar el par clave-valor de etiqueta que especifique en la política con el par clave-valor asociado al recurso. Por ejemplo, puede requerir que el acceso a un recurso solo se permita si el recurso tiene la clave de etiqueta
Dept
adjunta con el valorMarketing
. Para obtener más información, consulte Control del acceso a los recursos de AWS.
-
-
aws:RequestTag/key-name
-
Utilice esta clave para comparar el par clave-valor de etiqueta que se transfirió en la solicitud con el par de etiquetas especificado en la política. Por ejemplo, podría comprobar si la solicitud incluya la clave de etiqueta
Dept
y que tenga el valorAccounting
. Para obtener más información, consulte Control del acceso durante las solicitudes de AWS. Puede utilizar esta clave de condición para restringir qué pares de clave-valor de etiqueta se pueden pasar durante las operaciones de APITagResource
yCreateBucket
.
-
-
aws:TagKeys
-
Utilice esta clave para comparar las claves de etiqueta de una solicitud con las claves que especifique en la política. Como práctica recomendada cuando utilice políticas para controlar el acceso mediante etiquetas, utilice la clave de condición
aws:TagKeys
para definir lo que se permite realizar a las claves de etiqueta. Para obtener más información y políticas de ejemplo, consulte Control del acceso en función de las claves de etiqueta. Puede crear un bucket de directorio de S3 con etiquetas. Para permitir el etiquetado durante la operación de APICreateBucket
, debe crear una política que incluya las accioness3express:TagResource
ys3express:CreateBucket
. A continuación, puede utilizar la clave de condiciónaws:TagKeys
para imponer el uso de etiquetas específicas en la solicitudCreateBucket
.
-
-
s3express:BucketTag/tag-key
-
Use esta clave de condición para conceder permisos a datos específicos en buckets de directorio mediante etiquetas. Al acceder a un bucket de directorio mediante un punto de acceso, esta clave de condición hace referencia a las etiquetas del bucket de directorio al autorizar contra el punto de acceso y contra el bucket de directorio, mientras que
aws:ResourceTag/tag-key
hará referencia solo a las etiquetas del recurso contra el que se está autorizando.
-
Ejemplos de políticas
Consulte los siguientes ejemplos de políticas de ABAC para buckets de directorio de Amazon S3.
1.1: Política de IAM para crear o modificar buckets con etiquetas específicas
En esta política de IAM, los usuarios o roles con esta política solo pueden crear buckets de directorio de S3 si etiquetan el bucket con la clave de etiqueta project
y el valor de etiqueta Trinity
en la solicitud de creación del bucket. También pueden agregar o modificar etiquetas en los buckets de directorio de S3 existentes, siempre que la solicitud de TagResource
incluya el par clave-valor de etiqueta project:Trinity
. Esta política no concede permisos de lectura, escritura o eliminación en los buckets ni en sus objetos.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "CreateBucketWithTags", "Effect": "Allow", "Action": [ "s3express:CreateBucket", "s3express:TagResource" ], "Resource": "*", "Condition": { "StringEquals": { "aws:RequestTag/project": [ "
Trinity
" ] } } } ] }
1.2: Política de bucket para restringir las operaciones en el bucket mediante etiquetas
En esta política de bucket, las entidades principales de IAM (usuarios y roles) pueden realizar operaciones utilizando la acción CreateSession
en el bucket solo si el valor de la etiqueta project
del bucket coincide con el valor de la etiqueta de project
de la entidad principal.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowObjectOperations", "Effect": "Allow", "Principal": { "AWS": "
111122223333
" }, "Action": "s3express:CreateSession", "Resource": "arn:aws:s3express:us-west-2
:111122223333
:bucket/", "Condition": { "StringEquals": { "aws:ResourceTag/project": "${aws:PrincipalTag/project}" } } } ] }
amzn-s3-demo-bucket--usw2-az1--x-s3
1.3: Política de IAM para modificar las etiquetas de los recursos existentes manteniendo la gobernanza del etiquetado
En esta política de IAM, las entidades principales de IAM (usuarios o roles) solo pueden modificar las etiquetas de un bucket si el valor de la etiqueta project
del bucket coincide con el valor de la etiqueta project
de la entidad principal. Solo se permiten las cuatro etiquetas project
, environment
, owner
y cost-center
especificadas en las claves de condición aws:TagKeys
para estos buckets de directorio. Esto ayuda a reforzar la gobernanza de las etiquetas, evita las modificaciones no autorizadas de las etiquetas y mantiene la coherencia del esquema de etiquetado en todos los buckets.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "EnforceTaggingRulesOnModification", "Effect": "Allow", "Action": [ "s3express:TagResource" ], "Resource": "arn:aws:s3express:*:*:bucket/*", "Condition": { "StringEquals": { "aws:ResourceTag/project": "${aws:PrincipalTag/project}" }, "ForAllValues:StringEquals": { "aws:TagKeys": [ "
project
", "environment
", "owner
", "cost-center
" ] } } } ] }
1.4: Uso de la clave de condición s3express:BucketTag
En esta política de IAM, la instrucción de condición permite el acceso a los datos del bucket solo si el bucket tiene la clave de etiqueta Environment
y el valor de etiqueta Production
.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowAccessToSpecificAccessPoint", "Effect": "Allow", "Action": "*", "Resource": "arn:aws:s3express:*:*:accesspoint/*", "Condition": { "StringEquals": { "s3express:BucketTag/Environment": "Production" } } } ] }
Trabajo con etiquetas
Puede agregar o administrar etiquetas para los buckets de directorio de S3 mediante la consola de Amazon S3, la interfaz de la línea de comandos (CLI) de AWS, los SDK de AWS o mediante las API de S3: TagResource, UntagResource y ListTagsForResource. Para obtener más información, consulte: