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 condizionale, puoi negare l'assegnazione di tag a uno stream a meno che nella richiesta non sia inclusa una chiave di tag richiesta.
Utilizzo di AWS CLI
-
Aggiungi una policy gestita dal cliente a un ruolo con accesso a DynamoDB, come mostrato 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" } } } ] } -
Assumi il ruolo e prova a etichettare uno stream con una chiave tag che non lo è.
CostCenteraws 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 te Account AWS, DynamoDB non invia le chiavi dei tag nella richiesta a IAM. La
Nullcondizione garantisce che la condizione risulti falsa se non ci sono chiavi di tag nella richiesta. Poiché il criterio Nega non corrisponde, iltag-resourcecomando viene completato correttamente. - Con Streams ABAC
-
Se Streams ABAC è abilitato per te Account AWS, la chiave tag
Departmentviene valutata rispetto alla chiaveCostCentertag basata sulle condizioni presente nella politica Deny. La chiave tagDepartmentnon corrisponde alla chiave tag presente nella politica Deny a causa dell'operatore.StringNotEqualsPertanto, l'TagResourceazione ha esito negativo e restituisce unAccessDeniedException.