DynamoDB バックアップおよび復元での IAM の使用 - Amazon DynamoDB

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

DynamoDB バックアップおよび復元での IAM の使用

AWS Identity and Access Management (IAM) を使用すれば、一部リソースの Amazon DynamoDB バックアップアクションと復元アクションを制限することができます。CreateBackup および RestoreTableFromBackup API はテーブルごとにオペレーションを行います。

DynamoDB での IAM ポリシーの詳細な使用については、「DynamoDB のアイデンティティベースのポリシー」を参照してください。

次に、DynamoDB で特定のバックアップ機能と復元機能を設定するために使用できる IAM ポリシーの例を示します。

例 1: CreateBackup および RestoreTableFromBackup アクションを許可する

以下の IAM ポリシーは、すべてのテーブルで CreateBackup および RestoreTableFromBackup DynamoDB アクションを適用する許可を付与します。

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

DynamoDB RestoreTableFromBackup アクセス許可はソースバックアップに必要であり、復元機能にはターゲットテーブルに対する DynamoDB の読み取りおよび書き込みアクセス許可が必要です。

RestoreTableToPointInTime アクセス許可はソーステーブルに必要であり、復元機能にはターゲットテーブルに対する DynamoDB の読み取りおよび書き込みアクセス許可が必要です。

例 2: CreateBackup アクションを許可し、RestoreTableFromBackup アクションを拒否する

以下の IAM ポリシーは、CreateBackup アクションの許可を付与し、RestoreTableFromBackup アクションを拒否します。

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

例 3: ListBackups アクションを許可し、CreateBackup および RestoreTableFromBackup アクションを拒否する

以下の IAM ポリシーは、ListBackups アクションの許可を付与し、CreateBackup アクションおよび RestoreTableFromBackup アクションを拒否します。

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

例 4: ListBackups を許可し、DeleteBackup を拒否する

以下の IAM ポリシーは、ListBackups アクションの許可を付与し、DeleteBackup アクションを拒否します。

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

例 5: すべてのリソースに対する RestoreTableFromBackup および DescribeBackup を許可し、特定のバックアップに対する DeleteBackup を拒否する

以下の IAM ポリシーは、RestoreTableFromBackup および DescribeBackup アクションの許可を付与し、特定のバックアップリソースに対する DeleteBackup アクションを拒否します。

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

DynamoDB RestoreTableFromBackup アクセス許可はソースバックアップに必要であり、復元機能にはターゲットテーブルに対する DynamoDB の読み取りおよび書き込みアクセス許可が必要です。

RestoreTableToPointInTime アクセス許可はソーステーブルに必要であり、復元機能にはターゲットテーブルに対する DynamoDB の読み取りおよび書き込みアクセス許可が必要です。

例 6: 特定のテーブルに対する CreateBackup を許可する

以下の IAM ポリシーは、Movies テーブルに対する CreateBackup アクションの許可のみを付与します。

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

例 7: ListBackups を許可する

以下の IAM ポリシーは、ListBackups アクションに対する許可を付与します。

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

特定のテーブルに対する ListBackups アクションの許可を付与することはできません。

例 8: AWS Backup 機能へのアクセス許可

高度な機能を備えたバックアップを完了するための StartAwsBackupJob アクションと、そのバックアップを正常に復元するための dynamodb:RestoreTableFromAwsBackup アクションに対する API アクセス許可が必要になります。

次の IAM ポリシーでは、高度な機能と復元を使用してバックアップをトリガーするためのアクセス許可を AWS Backup に付与します。また、テーブルが暗号化されている場合、ポリシーは 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": "*" }, ] }

例 9: 特定のソーステーブルの RestoreTableToPointInTime を拒否する

以下の IAM ポリシーは、特定のソーステーブルに対する RestoreTableToPointInTime アクションの許可を拒否します。

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

例 10: 特定のソーステーブルのすべてのバックアップに対して RestoreTableFromBackup を拒否する

以下の IAM ポリシーは、特定のソーステーブルのすべてのバックアップに対する RestoreTableToPointInTime アクションの許可を拒否します。

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