

# Uso de etiquetas con buckets de uso general de S3
<a name="buckets-tagging"></a>

Una etiqueta de AWS es un par clave-valor que contiene metadatos acerca de los recursos, en este caso buckets de uso general de Amazon S3. Puede etiquetar los buckets de S3 al crearlos o administrar las etiquetas de los buckets 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)](tagging.md).

**nota**  
No se aplican cargos adicionales por el uso de etiquetas en buckets 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](https://aws.amazon.com/s3/pricing/).

## Formas habituales de utilizar etiquetas con buckets
<a name="common-ways-to-use-tags-bucket"></a>

Utilice etiquetas en los buckets 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](https://docs.aws.amazon.com/AmazonS3/latest/userguide/tagging.html#using-tags-for-cost-allocation).

1. **Control de acceso basado en atributos (ABAC)**: escale los permisos de acceso y conceda acceso a los buckets de S3 en función de las etiquetas. Para obtener más información, consulte [Uso de etiquetas para ABAC](https://docs.aws.amazon.com/AmazonS3/latest/userguide/tagging.html#using-tags-for-abac).
**nota**  
Para buckets de uso general, ABAC no está habilitado de forma predeterminada. Para habilitar ABAC para buckets de uso general, consulte [Habilitación de ABAC en buckets de uso general](buckets-tagging-enable-abac.md). Para los recursos de Amazon S3, como los puntos de acceso y los buckets de directorio, ABAC está habilitado de forma predeterminada. Puede usar las mismas etiquetas para la asignación de costos y para el control de acceso.

### ABAC para buckets de uso general de S3
<a name="abac-for-buckets"></a>

Los buckets de uso general 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 de S3 de AWS. Para las empresas, ABAC en Amazon S3 admite la autorización en varias cuentas de AWS. 

En las políticas de IAM, puede controlar el acceso a los buckets de S3 en función de las etiquetas del bucket mediante las siguientes [claves de condición globales](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-tagkeys):
+ `aws:ResourceTag/key-name`
  + Utilice esta clave de condición para comparar el par clave-valor de etiqueta que especifique en la política con el par clave-valor asociado al recurso. S3 evalúa esta clave de condición solo después de activar ABAC en el bucket. 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](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_tags.html#access_tags_control-resources).
+ `aws:RequestTag/key-name`
  + Utilice esta clave de condición 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](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_tags.html#access_tags_control-requests). 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 de condición 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](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_tags.html#access_tags_control-tag-keys).
+ `s3:BucketTag/tag-key`
  + Use esta clave de condición para conceder permisos a datos específicos en buckets mediante etiquetas. Esta clave de condición solo se aplica después de habilitar ABAC en el bucket. Al acceder a un bucket mediante un punto de acceso, la clave de condición `aws:ResourceTag/tag-key` hace referencia a las etiquetas del bucket de directorio al autorizar contra el punto de acceso y contra el bucket. Solo `s3:BucketTag/tag-key` hará referencia a las etiquetas del bucket para el que se está autorizando. 

**nota**  
Al crear buckets con etiquetas, tenga en cuenta que las condiciones basadas en etiquetas para acceder al bucket mediante las claves de condición aws:ResourceTag y s3:BucketTag solo se aplican después de habilitar ABAC en el bucket. Para obtener más información, consulte [Habilitación de ABAC en buckets de uso general](buckets-tagging-enable-abac.md).

### Políticas de ABAC de ejemplo para buckets
<a name="example-buckets-abac-policies"></a>

Consulte las políticas de ABAC de ejemplo siguientes para buckets de Amazon S3.

#### 1.1: Política de IAM para crear o modificar buckets con etiquetas específicas
<a name="example-user-policy-request-tag"></a>

En esta política de IAM, los usuarios o roles con esta política solo pueden crear buckets 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 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": [
        "s3:CreateBucket",
        "s3:TagResource"
      ],
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "aws:RequestTag/project": [
            "Trinity"
          ]
        }
      }
    }
  ]
}
```

#### 1.2: Política de bucket para restringir las operaciones
<a name="example-user-policy-resource-tag"></a>

En esta política de bucket, las entidades principales de IAM (usuarios y roles) rechazan las acciones `s3:ListBucket`, `s3:GetObject` y `s3:PutObject` en el bucket solo si el valor de la etiqueta `project ` del bucket coincide con el valor de la etiqueta `project` de la entidad principal.

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "DenyObjectOperations",
            "Effect": "Deny",
            "Principal": "*",
            "Action": ["s3:ListBucket",
                       "s3:GetObject",
                       "s3:PutObject"],
            "Resource": "arn:aws:s3:::aws-s3-demo/*",
            "Condition": {
                "StringEquals": {
                    "aws:ResourceTag/project": "${aws:PrincipalTag/project}"
                }
            }
        }
    ]
}
```

#### 1.3: Política de IAM para modificar las etiquetas de los recursos existentes
<a name="example-user-policy-tag-keys"></a>

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. 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": [
        "s3:TagResource",
        "s3:CreateBucket"
      ],
      "Resource": "*",
      "Condition": {
        "ForAllValues:StringEquals": {
          "aws:TagKeys": [
            "project",
            "environment",
            "owner",
            "cost-center"
          ]
        }
      }
    }
  ]
}
```

#### 1.4: Uso de la clave de condición s3:BucketTag
<a name="example-policy-bucket-tag"></a>

En esta política de IAM, la instrucción de condición permite el acceso a los datos del bucket de `aws-s3-demo` solo si el bucket tiene la clave de etiqueta `Environment` y el valor de etiqueta `Production`.

```
{
  "Version": "2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "AllowAccessViaSpecificBucket",
      "Effect": "Allow",
      "Action": "*",
      "Resource": ["arn:aws:s3:::aws-s3-demo","arn:aws:s3:::aws-s3-demo/*"],
      "Condition": {
        "StringEquals": {
          "s3:BucketTag/Environment": "Production"
        }
      }
    }
  ]
}
```

## Administración de etiquetas para buckets de uso general
<a name="managing-tags-general-buckets"></a>

Puede agregar o administrar etiquetas para los buckets de S3 mediante la consola de Amazon S3, la interfaz de la línea de comandos (CLI) de AWS, los AWS SDK o mediante las API de S3: [TagResource](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_TagResource.html), [UntagResource](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_UntagResource.html) y [ListTagsForResource](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListTagsForResource.html). Para obtener más información, consulte:

**Topics**