View a markdown version of this page

Utilizzo di IAM con backup e ripristino di DynamoDB - Amazon DynamoDB

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à.

Utilizzo di IAM con backup e ripristino di DynamoDB

Puoi utilizzare AWS Identity and Access Management (IAM) per limitare le azioni di backup e ripristino di Amazon DynamoDB per alcune risorse. Le RestoreTableFromBackup APIs operazioni CreateBackup e vengono eseguite in base alle singole tabelle.

Per ulteriori informazioni sull'uso di policy IAM in DynamoDB, consulta Identity-based politiche per DynamoDB.

Di seguito sono riportati esempi di policy IAM che è possibile utilizzare per configurare funzionalità specifiche di backup e ripristino in DynamoDB.

Esempio 1: consentire le CreateBackup azioni e RestoreTableFromBackup

La seguente policy IAM concede le autorizzazioni per consentire le operazioni DynamoDB CreateBackup e RestoreTableFromBackup su tutte le tabelle.

JSON
{ "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": "*" } ] }
Importante

Le autorizzazioni RestoreTableFromBackup DynamoDB sono necessarie sul backup di origine e le autorizzazioni di lettura e scrittura di DynamoDB sulla tabella di destinazione sono necessarie per ripristinare la funzionalità.

Le autorizzazioni RestoreTableToPointInTime DynamoDB sono necessarie nella tabella di origine e le autorizzazioni di lettura e scrittura di DynamoDB sulla tabella di destinazione sono necessarie per ripristinare la funzionalità.

Esempio 2: Consenti e nega CreateBackup RestoreTableFromBackup

La seguente policy IAM concede le autorizzazioni per l'operazione CreateBackup e rifiuta l'operazione RestoreTableFromBackup:

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": ["dynamodb:CreateBackup"], "Resource": "*" }, { "Effect": "Deny", "Action": ["dynamodb:RestoreTableFromBackup"], "Resource": "*" } ] }

Esempio 3: consentire ListBackups e negare CreateBackup e RestoreTableFromBackup

La seguente policy IAM concede le autorizzazioni per l'operazione ListBackups e rifiuta le operazioni CreateBackup e RestoreTableFromBackup:

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": ["dynamodb:ListBackups"], "Resource": "*" }, { "Effect": "Deny", "Action": [ "dynamodb:CreateBackup", "dynamodb:RestoreTableFromBackup" ], "Resource": "*" } ] }

Esempio 4: consentire ListBackups e negare DeleteBackup

La seguente policy IAM concede le autorizzazioni per l'operazione ListBackups e rifiuta l'operazione DeleteBackup:

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": ["dynamodb:ListBackups"], "Resource": "*" }, { "Effect": "Deny", "Action": ["dynamodb:DeleteBackup"], "Resource": "*" } ] }

Esempio 5: Consenti RestoreTableFromBackup e DescribeBackup per tutte le risorse e nega DeleteBackup per un backup specifico

La seguente policy IAM concede le autorizzazioni per le operazioni RestoreTableFromBackup e DescribeBackup e rifiuta l'operazione DeleteBackup per una risorsa di backup specifica.

JSON
{ "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" } ] }
Importante

Le autorizzazioni RestoreTableFromBackup DynamoDB sono necessarie sul backup di origine e le autorizzazioni di lettura e scrittura di DynamoDB sulla tabella di destinazione sono necessarie per ripristinare la funzionalità.

Le autorizzazioni RestoreTableToPointInTime DynamoDB sono necessarie nella tabella di origine e le autorizzazioni di lettura e scrittura di DynamoDB sulla tabella di destinazione sono necessarie per ripristinare la funzionalità.

Esempio 6: Consenti una tabella specifica CreateBackup

La seguente policy IAM concede le autorizzazioni per l'operazione CreateBackup solo sulla tabella Movies:

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": ["dynamodb:CreateBackup"], "Resource": [ "arn:aws:dynamodb:us-east-1:123456789012:table/Movies" ] } ] }

Esempio 7: Consenti ListBackups

La policy IAM seguente concede le autorizzazioni per l'operazione ListBackups:

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": ["dynamodb:ListBackups"], "Resource": "*" } ] }
Importante

Non è possibile concedere le autorizzazioni per l’operazione ListBackups su una tabella specifica.

Esempio 8: consentire l'accesso alle AWS Backup funzionalità

Avrai bisogno delle autorizzazioni API per l'azione StartAwsBackupJob per un backup corretto con caratteristiche avanzate e per l'azione dynamodb:RestoreTableFromAwsBackup per ripristinare correttamente il backup.

La seguente policy IAM concede AWS Backup le autorizzazioni per attivare backup con funzionalità e ripristini avanzati. Si noti, inoltre, che se le tabelle sono crittografate, la policy dovrà poter accedere alla chiave KMS AWS.

JSON
{ "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:111122223333:table/Books" }, { "Sid": "AllowRestoreFromAwsBackup", "Effect": "Allow", "Action": [ "dynamodb:RestoreTableFromAwsBackup" ], "Resource": "*" } ] }

Esempio 9: nega per una tabella di origine RestoreTableToPointInTime specifica

La seguente policy IAM nega le autorizzazioni per l'azione RestoreTableToPointInTime per una tabella di origine specifica:

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Deny", "Action": [ "dynamodb:RestoreTableToPointInTime" ], "Resource": "arn:aws:dynamodb:us-east-1:123456789012:table/Music" } ] }

Esempio 10: Nega RestoreTableFromBackup per tutti i backup per una tabella di origine specifica

La seguente policy IAM nega le autorizzazioni per l'azione RestoreTableToPointInTime per tutti i backup per una tabella di origine specifica:

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Deny", "Action": [ "dynamodb:RestoreTableFromBackup" ], "Resource": "arn:aws:dynamodb:us-east-1:123456789012:table/Music/backup/*" } ] }