Menggunakan IAM dengan DynamoDB backup dan restore - Amazon DynamoDB

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Menggunakan IAM dengan DynamoDB backup dan restore

Anda dapat menggunakan AWS Identity and Access Management (IAM) untuk membatasi tindakan pencadangan dan pemulihan Amazon DynamoDB untuk beberapa sumber daya. Itu CreateBackup dan RestoreTableFromBackup APIs beroperasi berdasarkan per-tabel.

Untuk informasi selengkapnya tentang penggunaan IAM kebijakan di DynamoDB, lihat. Kebijakan berbasis identitas untuk DynamoDB

Berikut ini adalah contoh IAM kebijakan yang dapat Anda gunakan untuk mengonfigurasi fungsionalitas pencadangan dan pemulihan tertentu di DynamoDB.

Contoh 1: Izinkan CreateBackup dan RestoreTableFromBackup tindakan

IAMKebijakan berikut memberikan izin untuk mengizinkan tindakan DynamoDB dan CreateBackup DynamoDB di RestoreTableFromBackup semua tabel:

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

Izin RestoreTableFromBackup DynamoDB diperlukan pada cadangan sumber, dan izin baca dan tulis DynamoDB pada tabel target diperlukan untuk memulihkan fungsionalitas.

Izin RestoreTableToPointInTime DynamoDB diperlukan pada tabel sumber, dan izin baca dan tulis DynamoDB pada tabel target diperlukan untuk memulihkan fungsionalitas.

Contoh 2: Izinkan CreateBackup dan tolak RestoreTableFromBackup

IAMKebijakan berikut memberikan izin untuk CreateBackup tindakan dan menolak tindakan: RestoreTableFromBackup

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

Contoh 3: Izinkan ListBackups dan tolak CreateBackup dan RestoreTableFromBackup

IAMKebijakan berikut memberikan izin untuk ListBackups tindakan dan menyangkal tindakan dan tindakan: CreateBackup RestoreTableFromBackup

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

Contoh 4: Izinkan ListBackups dan tolak DeleteBackup

IAMKebijakan berikut memberikan izin untuk ListBackups tindakan dan menolak tindakan: DeleteBackup

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

Contoh 5: Izinkan RestoreTableFromBackup dan DescribeBackup untuk semua sumber daya dan tolak DeleteBackup untuk cadangan tertentu

IAMKebijakan berikut memberikan izin untuk DescribeBackup tindakan RestoreTableFromBackup dan tindakan serta menolak DeleteBackup tindakan untuk sumber cadangan tertentu:

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

Izin RestoreTableFromBackup DynamoDB diperlukan pada cadangan sumber, dan izin baca dan tulis DynamoDB pada tabel target diperlukan untuk memulihkan fungsionalitas.

Izin RestoreTableToPointInTime DynamoDB diperlukan pada tabel sumber, dan izin baca dan tulis DynamoDB pada tabel target diperlukan untuk memulihkan fungsionalitas.

Contoh 6: Izinkan CreateBackup tabel tertentu

IAMKebijakan berikut hanya memberikan izin untuk CreateBackup tindakan pada Movies tabel:

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

Contoh 7: Izinkan ListBackups

IAMKebijakan berikut memberikan izin untuk tindakan: ListBackups

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

Anda tidak dapat memberikan izin untuk ListBackups tindakan pada tabel tertentu.

Contoh 8: Izinkan akses ke AWS Backup fitur

Anda akan memerlukan API izin untuk StartAwsBackupJob tindakan untuk pencadangan yang berhasil dengan fitur-fitur canggih, dan dynamodb:RestoreTableFromAwsBackup tindakan untuk berhasil memulihkan cadangan itu.

IAMKebijakan berikut memberikan AWS Backup izin untuk memicu pencadangan dengan fitur dan pemulihan lanjutan. Perhatikan juga bahwa jika tabel dienkripsi, kebijakan akan memerlukan akses ke kunci.AWS KMS

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

Contoh 9: Tolak RestoreTableToPointInTime untuk Tabel Sumber Tertentu

IAMKebijakan berikut menolak izin RestoreTableToPointInTime tindakan untuk tabel sumber tertentu:

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

Contoh 10: Tolak RestoreTableFromBackup untuk semua Cadangan untuk Tabel Sumber Tertentu

IAMKebijakan berikut menolak izin untuk RestoreTableToPointInTime tindakan untuk semua cadangan untuk tabel sumber tertentu:

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