Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Exemple 3 : Refuser l'accès au flux à moins qu'un tag spécifique ne soit présent
À l'aide de la clé de aws:TagKeys condition, vous pouvez refuser de baliser un flux à moins qu'une clé de balise requise ne soit incluse dans la demande.
Utilisation de AWS INTERFACE DE LIGNE DE COMMANDE (CLI)
-
Ajoutez une politique gérée par le client à un rôle qui dispose d'un accès à DynamoDB, comme illustré dans l'exemple suivant.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": [ "dynamodb:TagResource" ], "Resource": "arn:aws:dynamodb:*:*:table/*/stream/*", "Condition": { "Null": { "aws:TagKeys": "false" }, "ForAllValues:StringNotEquals": { "aws:TagKeys": "CostCenter" } } } ] } -
Assumez le rôle et essayez de baliser un flux avec une clé de balise qui ne l'est pas
CostCenter.aws dynamodb tag-resource \ --resource-arn arn:aws:dynamodb:us-east-1:123456789012:table/myMusicTable/stream/2024-01-01T00:00:00.000 \ --tags Key=Department,Value=Engineering
Comportement avec et sans Streams ABAC
- Sans Streams ABAC
-
Si Streams ABAC n'est pas activé pour vous Compte AWS, DynamoDB n'envoie pas les clés de balise de la demande à IAM. La
Nullcondition garantit que la condition est évaluée à faux s'il n'y a aucune clé de balise dans la demande. Comme la politique de refus ne correspond pas, latag-resourcecommande s'exécute correctement. - Avec Streams ABAC
-
Si Streams ABAC est activé pour vous Compte AWS, la clé de balise
Departmentest évaluée par rapport à la clé de balise basée sur les conditionsCostCenterprésente dans la politique de refus. La clé de baliseDepartmentne correspond pas à la clé de balise présente dans la politique de refus à cause de l'StringNotEqualsopérateur. Par conséquent, l'TagResourceaction échoue et renvoie unAccessDeniedException.