まくろぐ

DynamoDB 用のポリシー設定例

更新:
作成:

あるテーブルに対するすべての操作を可能にする

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "AllAPIActionsOnBooks",
            "Effect": "Allow",
            "Action": "dynamodb:*",
            "Resource": "arn:aws:dynamodb:us-west-2:123456789012:table/Books"
        }
    ]
}

Actiondynamodb:* というワイルド―カードを指定することで、DynamoDB のすべての API を使った操作を可能にしています。 通常は、特定のアクションのみを許可すべきです。

あるテーブルの読み取りを行えるようにする

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "DescribeQueryScanBooksTable",
            "Effect": "Allow",
            "Action": [
                "dynamodb:DescribeTable",
                "dynamodb:Query",
                "dynamodb:Scan"
            ],
            "Resource": "arn:aws:dynamodb:us-west-2:123456789012:table/Books"
        }
    ]
}

このポリシーステートメントは、アカウント 123456789012 が所有する Books テーブルの読み取り(Query や Scan)が可能であることを示します。

下記は、もう少し可能な操作を増やしたバージョンです。

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "ReadOnlyAPIActionsOnBooks",
            "Effect": "Allow",
            "Action": [
                "dynamodb:GetItem",
                "dynamodb:BatchGetItem",
                "dynamodb:DescribeTable",
                "dynamodb:Query",
                "dynamodb:Scan",
                "dynamodb:ConditionCheckItem"
            ],
            "Resource": "arn:aws:dynamodb:us-west-2:123456789012:table/Books"
        }
    ]
}

関連記事

まくろぐ
サイトマップまくへのメッセージ