DynamoDB – Permissions API

DynamoDB API offers a large set of actions, which require permissions. In setting permissions, you must establish the actions permitted, resources permitted, and conditions of each.

You can specify actions within the Action field of the policy. Specify resource value within the Resource field of the policy. But do ensure that you use the correct syntax containing the Dynamodb: prefix with the API operation.

For example − dynamodb:CreateTable

You can also employ condition keys to filter permissions.

Permissions and API Actions

Take a good look at the API actions and associated permissions given in the following table −

API OperationNecessary Permission
BatchGetItemdynamodb:BatchGetItem
BatchWriteItemdynamodb:BatchWriteItem
CreateTabledynamodb:CreateTable
DeleteItemdynamodb:DeleteItem
DeleteTabledynamodb:DeleteTable
DescribeLimitsdynamodb:DescribeLimits
DescribeReservedCapacitydynamodb:DescribeReservedCapacity
DescribeReservedCapacityOfferingsdynamodb:DescribeReservedCapacityOfferings
DescribeStreamdynamodb:DescribeStream
DescribeTabledynamodb:DescribeTable
GetItemdynamodb:GetItem
GetRecordsdynamodb:GetRecords
GetShardIteratordynamodb:GetShardIterator
ListStreamsdynamodb:ListStreams
ListTablesdynamodb:ListTables
PurchaseReservedCapacityOfferingsdynamodb:PurchaseReservedCapacityOfferings
PutItemdynamodb:PutItem
Querydynamodb:Query
Scandynamodb:Scan
UpdateItemdynamodb:UpdateItem
UpdateTabledynamodb:UpdateTable

Resources

In the following table, you can review the resources associated with each permitted API action −

API OperationResource
BatchGetItemarn:aws:dynamodb:region:account-id:table/table-name
BatchWriteItemarn:aws:dynamodb:region:account-id:table/table-name
CreateTablearn:aws:dynamodb:region:account-id:table/table-name
DeleteItemarn:aws:dynamodb:region:account-id:table/table-name
DeleteTablearn:aws:dynamodb:region:account-id:table/table-name
DescribeLimitsarn:aws:dynamodb:region:account-id:*
DescribeReservedCapacityarn:aws:dynamodb:region:account-id:*
DescribeReservedCapacityOfferingsarn:aws:dynamodb:region:account-id:*
DescribeStreamarn:aws:dynamodb:region:account-id:table/table-name/stream/stream-label
DescribeTablearn:aws:dynamodb:region:account-id:table/table-name
GetItemarn:aws:dynamodb:region:account-id:table/table-name
GetRecordsarn:aws:dynamodb:region:account-id:table/table-name/stream/stream-label
GetShardIteratorarn:aws:dynamodb:region:account-id:table/table-name/stream/stream-label
ListStreamsarn:aws:dynamodb:region:account-id:table/table-name/stream/*
ListTables*
PurchaseReservedCapacityOfferingsarn:aws:dynamodb:region:account-id:*
PutItemarn:aws:dynamodb:region:account-id:table/table-name
Queryarn:aws:dynamodb:region:account-id:table/table-nameorarn:aws:dynamodb:region:account-id:table/table-name/index/index-name
Scanarn:aws:dynamodb:region:account-id:table/table-nameorarn:aws:dynamodb:region:account-id:table/table-name/index/index-name
UpdateItemarn:aws:dynamodb:region:account-id:table/table-name
UpdateTablearn:aws:dynamodb:region:account-id:table/table-name

Leave a Reply