View a markdown version of this page

Esempio 3: nega l'accesso allo stream a meno che non sia presente un tag specifico - Amazon DynamoDB

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Esempio 3: nega l'accesso allo stream a meno che non sia presente un tag specifico

Utilizzando la chiave aws:TagKeys condition, puoi negare di taggare uno stream a meno che nella richiesta non sia inclusa una chiave di tag richiesta.

Utilizzo di AWS CLI

  1. Aggiungi una policy gestita dai clienti a un ruolo con accesso a DynamoDB, come illustrato nell'esempio seguente.

    { "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" } } } ] }
  2. Assumi il ruolo e prova a taggare uno stream con una chiave di tag che non lo è. 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

Comportamento con e senza Streams ABAC

Senza Streams ABAC

Se Streams ABAC non è abilitato per il tuo, Account AWS DynamoDB non invia le chiavi dei tag nella richiesta a IAM. La Null condizione garantisce che la condizione risulti falsa se non ci sono chiavi di tag nella richiesta. Poiché la politica Deny non corrisponde, il tag-resource comando viene completato correttamente.

Con Streams ABAC

Se Streams ABAC è abilitato per te Account AWS, la chiave del tag Department viene valutata rispetto alla chiave di tag basata sulle condizioni presente nella politica Deny. CostCenter La chiave del tag Department non corrisponde alla chiave del tag presente nella politica Deny a causa dell'operatore. StringNotEquals Pertanto, l'TagResourceazione fallisce e restituisce unAccessDeniedException.