DynamoDB CRUD操作のIAMポリシー
特定のテーブルでのDynamoDB読み取り、書き込み、更新、削除操作のIAMポリシーを作成します。Query、Scan、BatchGetItem、BatchWriteItemを含みます。
Database
詳細な説明
DynamoDB CRUDポリシー
DynamoDBをデータストアとして使用するアプリケーションには、アイテムの読み取り、書き込み、更新、削除のための正確な権限が必要です。このポリシーは、特定のテーブルにスコープしながらすべての標準CRUD操作をカバーします。
ポリシーJSON
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowDynamoDBCRUD",
"Effect": "Allow",
"Action": [
"dynamodb:GetItem",
"dynamodb:PutItem",
"dynamodb:UpdateItem",
"dynamodb:DeleteItem",
"dynamodb:Query",
"dynamodb:Scan",
"dynamodb:BatchGetItem",
"dynamodb:BatchWriteItem",
"dynamodb:DescribeTable"
],
"Resource": [
"arn:aws:dynamodb:us-east-1:123456789012:table/my-table",
"arn:aws:dynamodb:us-east-1:123456789012:table/my-table/index/*"
]
}
]
}
インデックスアクセス
2番目のリソースARN(table/my-table/index/*)はテーブルのすべてのグローバルセカンダリインデックス(GSI)とローカルセカンダリインデックス(LSI)へのアクセスを付与します。これがないと、インデックスに対するQuery操作は拒否され、AccessDeniedExceptionエラーの一般的な原因になります。
読み取り専用 vs. フルCRUD
読み取り専用アクセスにはPutItem、UpdateItem、DeleteItem、BatchWriteItemを削除します。書き込み専用(イベント取り込み)にはPutItemとBatchWriteItemのみを残します。
ユースケース
DynamoDBテーブルからデータを保存・取得するバックエンドサービス、Lambda関数、マイクロサービス。サーバーレスアーキテクチャやイベント駆動型アプリケーションで一般的です。