Politiques de sécurité IAM avec PartiQL pour DynamoDB - Amazon DynamoDB

Politiques de sécurité IAM avec PartiQL pour DynamoDB

Les autorisations suivantes sont requises :

  • Pour lire des éléments à l'aide de PartiQL pour DynamoDB, vous devez disposer de l'autorisation dynamodb:PartiQLSelect sur la table ou l'index.

  • Pour insérer des éléments à l'aide de PartiQL pour DynamoDB, vous devez disposer de l'autorisation dynamodb:PartiQLInsert sur la table ou l'index.

  • Pour mettre à jour des éléments à l'aide de PartiQL pour DynamoDB, vous devez disposer de l'autorisation dynamodb:PartiQLUpdate sur la table ou l'index.

  • Pour supprimer des éléments à l'aide de PartiQL pour DynamoDB, vous devez disposer de l'autorisation dynamodb:PartiQLDelete sur la table ou l'index.

Exemple : Autoriser toutes les instructions PartiQL pour DynamoDB (Select/Insert/Update/Delete) sur une table

La politique IAM suivante accorde les autorisations nécessaires pour exécuter toutes les instructions PartiQL pour DynamoDB sur une table.

{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "dynamodb:PartiQLInsert", "dynamodb:PartiQLUpdate", "dynamodb:PartiQLDelete", "dynamodb:PartiQLSelect" ], "Resource":[ "arn:aws:dynamodb:us-west-2:123456789012:table/Music" ] } ] }

Exemple : Autoriser les instructions PartiQL select pour DynamoDB sur une table

La politique IAM suivante accorde les autorisations nécessaires pour exécuter l'instruction select sur une table spécifique.

{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "dynamodb:PartiQLSelect" ], "Resource":[ "arn:aws:dynamodb:us-west-2:123456789012:table/Music" ] } ] }

Exemple : Autoriser les instructions PartiQL insert pour DynamoDB sur un index

La politique IAM suivante accorde les autorisations nécessaires pour exécuter l'instruction insert sur un index spécifique.

{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "dynamodb:PartiQLInsert" ], "Resource":[ "arn:aws:dynamodb:us-west-2:123456789012:table/Music/index/index1" ] } ] }

Exemple : Autoriser les instructions transactionnelles PartiQL pour DynamoDB sur une table

La politique IAM suivante accorde les autorisations nécessaires pour exécuter uniquement des instructions transactionnelles sur une table spécifique.

{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "dynamodb:PartiQLInsert", "dynamodb:PartiQLUpdate", "dynamodb:PartiQLDelete", "dynamodb:PartiQLSelect" ], "Resource":[ "arn:aws:dynamodb:us-west-2:123456789012:table/Music" ], "Condition":{ "StringEquals":{ "dynamodb:EnclosingOperation":[ "ExecuteTransaction" ] } } } ] }

Exemple : Autoriser les lectures et d'écritures non transactionnelles PartiQL pour DynamoDB, et bloquer les instructions de lectures et d'écritures transactionnelles PartiQL sur une table.

La politique IAM suivante accorde des autorisations pour exécuter des lectures et des écritures non transactionnelles PartiQL pour DynamoDB tout en bloquant les lectures et écritures transactionnelles PartiQL pour DynamoDB.

{ "Version":"2012-10-17", "Statement":[ { "Effect":"Deny", "Action":[ "dynamodb:PartiQLInsert", "dynamodb:PartiQLUpdate", "dynamodb:PartiQLDelete", "dynamodb:PartiQLSelect" ], "Resource":[ "arn:aws:dynamodb:us-west-2:123456789012:table/Music" ], "Condition":{ "StringEquals":{ "dynamodb:EnclosingOperation":[ "ExecuteTransaction" ] } } }, { "Effect":"Allow", "Action":[ "dynamodb:PartiQLInsert", "dynamodb:PartiQLUpdate", "dynamodb:PartiQLDelete", "dynamodb:PartiQLSelect" ], "Resource":[ "arn:aws:dynamodb:us-west-2:123456789012:table/Music" ] } ] }

Exemple : Autoriser les instructions Select et rejeter les instructions d'analyse de table complète dans PartiQL pour DynamoDB

La politique IAM suivante accorde des autorisations pour exécuter l'instruction select sur une table spécifique tout en bloquant les instructions select qui entraînent une analyse de table complète.

{ "Version":"2012-10-17", "Statement":[ { "Effect":"Deny", "Action":[ "dynamodb:PartiQLSelect" ], "Resource":[ "arn:aws:dynamodb:us-west-2:123456789012:table/WatchList" ], "Condition":{ "Bool":{ "dynamodb:FullTableScan":[ "true" ] } } }, { "Effect":"Allow", "Action":[ "dynamodb:PartiQLSelect" ], "Resource":[ "arn:aws:dynamodb:us-west-2:123456789012:table/WatchList" ] } ] }