Ejemplo 2: Permiso para etiquetar un flujo mediante aws:RequestTag
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
-
Cree una política insertada 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" } } } ] } -
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
- 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
TagResourcedevuelve unaAccessDeniedException. - 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 solicitudTagResource, la política insertada permite la acción.