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 1 : Autoriser l'accès en lecture au flux à l'aide d'aws : ResourceTag
À l'aide de la clé de aws:ResourceTag/tag-key condition, vous pouvez comparer la paire clé-valeur de balise spécifiée dans une politique IAM avec la paire clé-valeur attachée à un flux DynamoDB. Par exemple, vous pouvez autoriser les GetRecords opérations de streaming si les conditions des balises correspondent.
Utilisation de AWS INTERFACE DE LIGNE DE COMMANDE (CLI)
-
Créez un tableau avec un flux activé et ajoutez une balise.
aws dynamodb create-table \ --table-name myMusicTable \ --attribute-definitions AttributeName=id,AttributeType=S \ --key-schema AttributeName=id,KeyType=HASH \ --provisioned-throughput ReadCapacityUnits=5,WriteCapacityUnits=5 \ --stream-specification StreamEnabled=true,StreamViewType=NEW_AND_OLD_IMAGES \ --region us-east-1 -
Ajoutez un tag au stream. Tout d'abord, récupérez l'ARN du flux à partir de la description du tableau.
STREAM_ARN=$(aws dynamodb describe-table \ --table-name myMusicTable \ --query "Table.LatestStreamArn" \ --output text \ --region us-east-1) aws dynamodb tag-resource \ --resource-arn $STREAM_ARN \ --tags Key=Team,Value=Analytics \ --region us-east-1 -
Créez une politique intégrée et ajoutez-la à un rôle, comme illustré dans l'exemple suivant.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "dynamodb:DescribeStream", "dynamodb:GetRecords" ], "Resource": "arn:aws:dynamodb:*:*:table/*/stream/*", "Condition": { "StringEquals": { "aws:ResourceTag/Team": "Analytics" } } } ] }Cette politique autorise les
GetRecordsopérationsDescribeStreamet lorsque le tag du stream correspond à la clé « Team » et à la valeur « Analytics » spécifiées dans la politique. -
Assumez le rôle conformément à la politique décrite à l'étape 3.
-
Utilisez la commande
describe-streamAWS CLI sur le flux.aws dynamodb describe-stream \ --stream-arn $STREAM_ARN \ --region us-east-1
Comportement avec et sans Streams ABAC
- Sans Streams ABAC
-
Si Streams ABAC n'est pas activé pour vous Compte AWS, les conditions de balise de la politique IAM et du flux DynamoDB ne correspondent pas. L'
DescribeStreamaction renvoie unAccessDeniedExceptioncar aucune politique ne l'autorise sans respecter les conditions de balise. - Avec Streams ABAC
-
Si Streams ABAC est activé pour vous Compte AWS, l'
DescribeStreamaction se termine correctement. Cela est dû au fait que la politique en ligne autorise l'action lorsque les conditions de balise de la politique IAM et du flux correspondent.