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.
Utilisation d'IAM avec la sauvegarde et la restauration dans DynamoDB
Vous pouvez utiliser AWS Identity and Access Management (IAM) pour restreindre les actions de sauvegarde et de restauration dans Amazon DynamoDB pour certaines ressources. Les API CreateBackup
et RestoreTableFromBackup
opèrent par table.
Pour plus d'informations sur l'utilisation de politiques IAM dans DynamoDB, consultez Politiques basées sur l'identité pour DynamoDB.
Vous trouverez ci-dessous des exemples de politiques IAM que vous pouvez utiliser pour configurer une fonctionnalité de sauvegarde et restauration spécifique dans DynamoDB.
Exemple 1 : autoriser les actions CreateBackup et RestoreTableFromBackup
La politique IAM suivante autorise les actions DynamoDB CreateBackup
et RestoreTableFromBackup
sur toutes les tables :
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "dynamodb:CreateBackup", "dynamodb:RestoreTableFromBackup", "dynamodb:PutItem", "dynamodb:UpdateItem", "dynamodb:DeleteItem", "dynamodb:GetItem", "dynamodb:Query", "dynamodb:Scan", "dynamodb:BatchWriteItem" ], "Resource": "*" } ] }
Important
Les autorisations RestoreTableFromBackup de DynamoDB sont nécessaires sur la sauvegarde source et les autorisations de lecture et d'écriture de DynamoDB sur la table cible sont nécessaires pour la fonctionnalité de restauration.
Les autorisations RestoreTableToPointIntime de DynamoDB sont nécessaires sur la table source et les autorisations de lecture et d'écriture de DynamoDB sur la table cible sont nécessaires pour la fonctionnalité de restauration.
Exemple 2 : autoriser l'action CreateBackup et rejeter l'action RestoreTableFromBackup
La politique IAM suivante autorise l'action CreateBackup
et rejette l'action RestoreTableFromBackup
:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": ["dynamodb:CreateBackup"], "Resource": "*" }, { "Effect": "Deny", "Action": ["dynamodb:RestoreTableFromBackup"], "Resource": "*" } ] }
Exemple 3 : autoriser l'action ListBackups et rejeter les actions CreateBackup et RestoreTableFromBackup
La politique IAM suivante autorise l'action ListBackups
et rejette les actions CreateBackup
et RestoreTableFromBackup
:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": ["dynamodb:ListBackups"], "Resource": "*" }, { "Effect": "Deny", "Action": [ "dynamodb:CreateBackup", "dynamodb:RestoreTableFromBackup" ], "Resource": "*" } ] }
Exemple 4 : autoriser l'action ListBackups et rejeter l'action DeleteBackup
La politique IAM suivante autorise l'action ListBackups
et rejette l'action DeleteBackup
:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": ["dynamodb:ListBackups"], "Resource": "*" }, { "Effect": "Deny", "Action": ["dynamodb:DeleteBackup"], "Resource": "*" } ] }
Exemple 5 : autoriser les actions RestoreTableFromBackup et DescribeBackup pour toutes les ressources, et rejeter l'action DeleteBackup pour une sauvegarde spécifique
La politique IAM suivante autorise les actions RestoreTableFromBackup
et DescribeBackup
, et rejette l'action DeleteBackup
pour une ressource de sauvegarde spécifique :
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "dynamodb:DescribeBackup", "dynamodb:RestoreTableFromBackup", ], "Resource": "arn:aws:dynamodb:us-east-1:123456789012:table/Music/backup/01489173575360-b308cd7d" }, { "Effect": "Allow", "Action": [ "dynamodb:PutItem", "dynamodb:UpdateItem", "dynamodb:DeleteItem", "dynamodb:GetItem", "dynamodb:Query", "dynamodb:Scan", "dynamodb:BatchWriteItem" ], "Resource": "*" }, { "Effect": "Deny", "Action": [ "dynamodb:DeleteBackup" ], "Resource": "arn:aws:dynamodb:us-east-1:123456789012:table/Music/backup/01489173575360-b308cd7d" } ] }
Important
Les autorisations RestoreTableFromBackup de DynamoDB sont nécessaires sur la sauvegarde source et les autorisations de lecture et d'écriture de DynamoDB sur la table cible sont nécessaires pour la fonctionnalité de restauration.
Les autorisations RestoreTableToPointIntime de DynamoDB sont nécessaires sur la table source et les autorisations de lecture et d'écriture de DynamoDB sur la table cible sont nécessaires pour la fonctionnalité de restauration.
Exemple 6 : autoriser l'action CreateBackup pour une table spécifique
La politique IAM suivante autorise l'action CreateBackup
sur la table Movies
uniquement :
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": ["dynamodb:CreateBackup"], "Resource": [ "arn:aws:dynamodb:us-east-1:123456789012:table/Movies" ] } ] }
Exemple 7 : Autoriser l'action ListBackups
La politique IAM suivante autorise l'action ListBackups
:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": ["dynamodb:ListBackups"], "Resource": "*" } ] } }
Important
Vous ne pouvez pas autoriser l'action ListBackups
sur une table spécifique.
Exemple 8 : Autoriser l'accès aux fonctions AWS Backup
Vous aurez besoin des autorisations API pour l'action StartAwsBackupJob
en vue d'une sauvegarde réussie avec des fonctions avancées, et pour l'action dynamodb:RestoreTableFromAwsBackup
en vue d'une restauration réussie de cette sauvegarde.
La politique IAM suivante accorde à AWS Backup les autorisations permettant de déclencher des sauvegardes avec des fonctions avancées et des restaurations. Notez également que si les tables sont chiffrées, la politique devra accéder à la clé KMS AWS.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "DescribeQueryScanBooksTable", "Effect": "Allow", "Action": [ "dynamodb:StartAwsBackupJob", "dynamodb:DescribeTable", "dynamodb:Query", "dynamodb:Scan" ], "Resource": "arn:aws:dynamodb:us-west-2:account-id:table/Books" }, { "Sid": "AllowRestoreFromAwsBackup", "Effect": "Allow", "Action": ["dynamodb:RestoreTableFromAwsBackup"], "Resource": "*" }, ] }
Exemple 9 : Refuser RestoreTableToPointTime pour une table source spécifique
La stratégie IAM suivante refuse les autorisations pour l'action RestoreTableToPointInTime
pour une table source spécifique :
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": [ "dynamodb:RestoreTableToPointInTime" ], "Resource": "arn:aws:dynamodb:us-east-1:123456789012:table/Music" } ] }
Exemple 10 : Refuser RestoreTableFromBackup pour toutes les sauvegardes d'une table source spécifique
La stratégie IAM suivante refuse les autorisations pour l'action RestoreTableToPointInTime
pour toutes les sauvegardes d'une table source spécifique :
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": [ "dynamodb:RestoreTableFromBackup" ], "Resource": "arn:aws:dynamodb:us-east-1:123456789012:table/Music/backup/*" } ] }