Utilisation d'IAM avec la sauvegarde et la restauration dans DynamoDB - Amazon DynamoDB

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/*" } ] }