

# Ejemplo 2: Permiso para etiquetar un flujo mediante aws:RequestTag
<a name="streams-abac-example-2"></a>

Con la clave de condición `aws:RequestTag/tag-key`, puede comparar el par clave-valor de etiqueta que se pasa en la solicitud con el par de etiquetas especificado en la política de IAM. Por ejemplo, puede permitir etiquetar una transmisión solo si la solicitud incluye una etiqueta específica.

## Uso de la CLI de AWS
<a name="streams-abac-example-2-cli"></a>

1. Cree una [política insertada](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#inline-policies) y agréguela a un rol, como se muestra en el siguiente ejemplo.

   ```
   {
     "Version": "2012-10-17",
     "Statement": [
       {
         "Effect": "Allow",
         "Action": [
           "dynamodb:TagResource"
         ],
         "Resource": "arn:aws:dynamodb:*:*:table/*/stream/*",
         "Condition": {
           "StringEquals": {
             "aws:RequestTag/CostCenter": "12345"
           }
         }
       }
     ]
   }
   ```

1. Etiquete la transmisión con el par clave-valor de etiqueta requerido.

   ```
   aws dynamodb tag-resource \
     --resource-arn arn:aws:dynamodb:us-east-1:123456789012:table/myMusicTable/stream/2024-01-01T00:00:00.000 \
     --tags Key=CostCenter,Value=12345
   ```

## Comportamiento con y sin ABAC de Streams
<a name="streams-abac-example-2-behavior"></a>

Sin ABAC de Streams  
Si ABAC de Streams no está habilitado para la Cuenta de AWS, las condiciones de etiquetado de la política insertada y la solicitud no coinciden. La acción `TagResource` devuelve una `AccessDeniedException`.

Con ABAC de Streams  
Si ABAC de Streams está habilitado para la Cuenta de AWS, la solicitud de etiqueta se completa correctamente. Como el par clave-valor de etiqueta de `"CostCenter": "12345"` está presente en la solicitud `TagResource`, la política insertada permite la acción.