Uso de etiquetas con buckets de directorio de S3 - Amazon Simple Storage Service

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. Para obtener información general sobre las etiquetas, consulte Etiquetado para la asignación de costos o el control de acceso basado en atributos (ABAC).

nota

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.

Formas habituales de utilizar etiquetas con buckets de directorio

Utilice etiquetas en los buckets de directorio de S3 para:

  1. 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. Para obtener más información, consulte Uso de etiquetas de asignación de costos.

  2. 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 las etiquetas. Para obtener más información, consulte Uso de etiquetas para ABAC.

nota

Puede usar las mismas etiquetas para la asignación de costos y para el control de acceso.

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 las 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 valor Marketing. 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 valor Accounting. Para obtener más información, consulte Control del acceso durante 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 API TagResource y CreateBucket.

  • 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 API CreateBucket, debe crear una política que incluya las acciones s3express:TagResource y s3express:CreateBucket. A continuación, puede utilizar la clave de condición aws:TagKeys para imponer el uso de etiquetas específicas en la solicitud CreateBucket.

  • 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.

Ejemplo de políticas de ABAC para buckets de directorio

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/amzn-s3-demo-bucket--usw2-az1--x-s3", "Condition": { "StringEquals": { "aws:ResourceTag/project": "${aws:PrincipalTag/project}" } } } ] }

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:us-west-2:111122223333: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:us-west-2:111122223333:accesspoint/*", "Condition": { "StringEquals": { "s3express:BucketTag/Environment": "Production" } } } ] }

Administración de etiquetas para buckets de directorio

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: