Actions, resources, and condition keys for Amazon DynamoDB
Amazon DynamoDB (service prefix: dynamodb) provides the following
service-specific operations, resources, actions, and condition keys for use in IAM permission
policies.
References:
-
Learn how to configure this service.
-
View a list of the API operations available for this service.
-
Learn how to secure this service and its resources by using IAM permission policies.
-
View the programmatic service authorization reference
for this service.
Topics
API operations defined by Amazon DynamoDB
The following table maps API operations to the IAM actions they authorize. Only condition keys that have static values for the given API and action are listed; for the full set of condition keys supported by each action, see the Actions table.
| Operation | SDK client | IAM action | Condition key | Possible value(s) | Access level |
|---|---|---|---|---|---|
|
BatchExecuteStatement |
dynamodb |
Write |
|||
Write |
|||||
Read |
|||||
Write |
|||||
|
BatchGetItem |
dynamodb |
Read |
|||
|
BatchWriteItem |
dynamodb |
Write |
|||
|
CreateBackup |
dynamodb |
Write |
|||
|
CreateGlobalTable |
dynamodb |
Write |
|||
|
CreateTable |
dynamodb |
Write |
|||
Write |
|||||
Write |
|||||
Write |
|||||
Write |
|||||
Read |
|||||
Write |
|||||
Permissions management, Write |
|||||
Read |
|||||
Read |
|||||
Tagging, Write |
|||||
Write |
|||||
|
DeleteBackup |
dynamodb |
Write |
|||
|
DeleteItem |
dynamodb |
Write |
|||
Write |
|||||
|
DeleteResourcePolicy |
dynamodb |
Permissions management, Write |
|||
|
DeleteTable |
dynamodb |
Write |
|||
|
DescribeBackup |
dynamodb |
Read |
|||
|
DescribeContinuousBackups |
dynamodb |
Read |
|||
|
DescribeContributorInsights |
dynamodb |
Read |
|||
|
DescribeEndpoints |
dynamodb |
Read |
|||
|
DescribeExport |
dynamodb |
Read |
|||
|
DescribeGlobalTable |
dynamodb |
Read |
|||
|
DescribeGlobalTableSettings |
dynamodb |
Read |
|||
|
DescribeImport |
dynamodb |
Read |
|||
|
DescribeKinesisStreamingDestination |
dynamodb |
Read |
|||
|
DescribeLimits |
dynamodb |
Read |
|||
|
DescribeTable |
dynamodb |
Read |
|||
Read |
|||||
Write |
|||||
|
DescribeTableReplicaAutoScaling |
dynamodb |
Read |
|||
|
DescribeTimeToLive |
dynamodb |
Read |
|||
Read |
|||||
|
DisableKinesisStreamingDestination |
dynamodb |
Write |
|||
|
EnableKinesisStreamingDestination |
dynamodb |
Write |
|||
|
ExecuteStatement |
dynamodb |
Write |
|||
Write |
|||||
Read |
|||||
Write |
|||||
|
ExecuteTransaction |
dynamodb |
Write |
|||
Write |
|||||
Read |
|||||
Write |
|||||
|
ExportTableToPointInTime |
dynamodb |
Write |
|||
|
GetItem |
dynamodb |
Read |
|||
Read |
|||||
|
GetResourcePolicy |
dynamodb |
Read |
|||
|
ImportTable |
dynamodb |
Write |
|||
|
ListBackups |
dynamodb |
List |
|||
|
ListContributorInsights |
dynamodb |
List |
|||
|
ListExports |
dynamodb |
List |
|||
|
ListGlobalTables |
dynamodb |
List |
|||
|
ListImports |
dynamodb |
List |
|||
|
ListTables |
dynamodb |
List |
|||
|
ListTagsOfResource |
dynamodb |
Read |
|||
|
PutItem |
dynamodb |
Write |
|||
Write |
|||||
|
PutResourcePolicy |
dynamodb |
Permissions management, Write |
|||
|
Query |
dynamodb |
Read |
|||
|
RestoreTableFromBackup |
dynamodb |
Write |
|||
Write |
|||||
Read |
|||||
Write |
|||||
Read |
|||||
Write |
|||||
Read |
|||||
Write |
|||||
|
RestoreTableToPointInTime |
dynamodb |
Write |
|||
Write |
|||||
Write |
|||||
Write |
|||||
Read |
|||||
Write |
|||||
Read |
|||||
Read |
|||||
Write |
|||||
|
Scan |
dynamodb |
Read |
|||
|
TagResource |
dynamodb |
Tagging, Write |
|||
|
TransactGetItems |
dynamodb |
Read |
|||
|
TransactWriteItems |
dynamodb |
Read |
|||
Write |
|||||
Write |
|||||
Write |
|||||
|
UntagResource |
dynamodb |
Tagging, Write |
|||
|
UpdateContinuousBackups |
dynamodb |
Write |
|||
|
UpdateContributorInsights |
dynamodb |
Write |
|||
|
UpdateGlobalTable |
dynamodb |
Write |
|||
|
UpdateGlobalTableSettings |
dynamodb |
Write |
|||
|
UpdateItem |
dynamodb |
Write |
|||
|
UpdateKinesisStreamingDestination |
dynamodb |
Write |
|||
|
UpdateTable |
dynamodb |
Write |
|||
Write |
|||||
Write |
|||||
Write |
|||||
Write |
|||||
Write |
|||||
Read |
|||||
Write |
|||||
Read |
|||||
Write |
|||||
Read |
|||||
Tagging, Write |
|||||
Write |
|||||
Write |
|||||
Write |
|||||
|
UpdateTableReplicaAutoScaling |
dynamodb |
Write |
|||
|
UpdateTimeToLive |
dynamodb |
Write |
|||
Write |
|||||
Write |
|||||
|
DescribeStream |
dynamodbstreams |
Read |
|||
Read |
|||||
|
GetRecords |
dynamodbstreams |
Read |
|||
Read |
|||||
|
GetShardIterator |
dynamodbstreams |
Read |
|||
Read |
|||||
|
ListStreams |
dynamodbstreams |
Read |
Actions defined by Amazon DynamoDB
You can specify the following actions in the Action element of an IAM
policy statement. Use policies to grant permissions to perform an operation in Amazon. When
you use an action in a policy, you usually allow or deny access to the API operation or CLI
command with the same name. However, in some cases, a single action controls access to more
than one operation. Alternatively, some operations require several different actions.
| Actions | Description | Resource types (*required) | Condition keys | Access level |
|---|---|---|---|---|
Grants permission to return the attributes of one or more items from one or more tables |
Read |
|||
Grants permission to put or delete multiple items in one or more tables |
Write |
|||
Grants permission to the ConditionCheckItem operation checks the existence of a set of attributes for the item with the given primary key |
Read |
|||
Grants permission to create a backup for an existing table |
Write |
|||
Grants permission to create a global table from an existing table |
Write |
|||
Grants permission to the CreateTable operation adds a new table to your account |
Write |
|||
Grants permission to delete an existing backup of a table |
Write |
|||
Grants permission to deletes a single item in a table by primary key |
Write |
|||
Grants permission to delete the resource-based policy attached to the resource |
Permissions management, Write |
|||
Grants permission to the DeleteTable operation which deletes a table and all of its items |
Write |
|||
Grants permission to describe an existing backup of a table |
Read |
|||
Grants permission to check the status of the backup restore settings on the specified table |
Read |
|||
Grants permission to describe the contributor insights status and related details for a given table or global secondary index |
Read |
|||
Grants permission to return the regional endpoint information |
Read |
|||
Grants permission to describe an existing Export of a table |
Read |
|||
Grants permission to return information about the specified global table |
Read |
|||
Grants permission to return settings information about the specified global table |
Read |
|||
Grants permission to describe an existing import |
Read |
|||
Grants permission to grant permission to describe the status of Kinesis streaming and related details for a given table |
Read |
|||
Grants permission to return the current provisioned-capacity limits for your Amazon Web Services account in a region, both for the region as a whole and for any one DynamoDB table that you create there |
Read |
|||
Grants permission to return information about a stream, including the current status of the stream, its Amazon Resource Name (ARN), the composition of its shards, and its corresponding DynamoDB table |
Read |
|||
Grants permission to return information about the table |
Read |
|||
Grants permission to describe the auto scaling settings across all replicas of the global table |
Read |
|||
Grants permission to give a description of the Time to Live (TTL) status on the specified table |
Read |
|||
Grants permission to grant permission to stop replication from the DynamoDB table to the Kinesis data stream |
Write |
|||
Grants permission to grant permission to start table data replication to the specified Kinesis data stream at a timestamp chosen during the enable workflow |
Write |
|||
Grants permission to initiate an Export of a DynamoDB table to S3 |
Write |
|||
Grants permission to the GetItem operation that returns a set of attributes for the item with the given primary key |
Read |
|||
Grants permission to retrieve the stream records from a given shard |
Read |
|||
Grants permission to view a resource-based policy for a resource |
Read |
|||
Grants permission to return a shard iterator |
Read |
|||
Grants permission to initiate an import from S3 to a DynamoDB table |
Write |
|||
Grants permission to list backups associated with the account and endpoint |
List |
|||
Grants permission to list the ContributorInsightsSummary for all tables and global secondary indexes associated with the current account and endpoint |
List |
|||
Grants permission to list exports associated with the account and endpoint |
List |
|||
Grants permission to list all global tables that have a replica in the specified region |
List |
|||
Grants permission to list imports associated with the account and endpoint |
List |
|||
Grants permission to return an array of stream ARNs associated with the current account and endpoint |
Read |
|||
Grants permission to return an array of table names associated with the current account and endpoint |
List |
|||
Grants permission to list all tags on an Amazon DynamoDB resource |
Read |
|||
Grants permission to delete a single item in a table by primary key |
Write |
|||
Grants permission to create a new item, if an item with same primary key does not exist in the table |
Write |
|||
Grants permission to read a set of attributes for items from a table or index |
Read |
|||
Grants permission to edit an existing item's attributes |
Write |
|||
Grants permission to create a new item, or replace an old item with a new item |
Write |
|||
Grants permission to attach a resource-based policy to the resource |
Permissions management, Write |
|||
Grants permission to use the primary key of a table or a secondary index to directly access items from that table or index |
Read |
|||
Grants permission to create a new table from an existing backup |
Write |
|||
Grants permission to restore a table to a point in time |
Write |
|||
Grants permission to return one or more items and item attributes by accessing every item in a table or a secondary index |
Read |
|||
Grants permission to associate a set of tags with an Amazon DynamoDB resource |
Tagging, Write |
|||
Grants permission to remove the association of tags from an Amazon DynamoDB resource |
Tagging, Write |
|||
Grants permission to enable or disable continuous backups |
Write |
|||
Grants permission to update the status for contributor insights for a specific table or global secondary index |
Write |
|||
Grants permission to add or remove replicas in the specified global table |
Write |
|||
Grants permission to update settings of the specified global table |
Write |
|||
Grants permission to edit an existing item's attributes, or adds a new item to the table if it does not already exist |
Write |
|||
Grants permission to update data replication configurations for the specified Kinesis data stream |
Write |
|||
Grants permission to modify the provisioned throughput settings, global secondary indexes, or DynamoDB Streams settings for a given table |
Write |
|||
Grants permission to update auto scaling settings on your replica table |
Write |
|||
Grants permission to enable or disable TTL for the specified table |
Write |
Permission-only actions for Amazon DynamoDB
The following actions are defined by Amazon DynamoDB but are not directly invocable through any API operation. They can only be used in IAM policy statements to grant or deny permissions.
| Actions | Description | Resource types (*required) | Condition keys | Access level |
|---|---|---|---|---|
Grants permission to create multi account global table replica |
Write |
|||
Grants permission to add a Witness to a Global Table |
Write |
|||
Grants permission to add a new replica table |
Write |
|||
Grants permission to remove a Witness from a Global Table |
Write |
|||
Grants permission to delete a replica table and all of its items |
Write |
|||
Grants permission to describe one or more of the Reserved Capacity purchased |
Read |
|||
Grants permission to describe Reserved Capacity offerings that are available for purchase |
Read |
|||
Grants permission to view the status of Attribute Based Access Control for the account |
Read |
|||
Grants permission to start experiments on a Global Table |
Write |
|||
Grants permission to purchases reserved capacity for use with your account |
Write |
|||
Grants permission to read data from a multi account global table replica |
Read |
|||
Grants permission to configure settings for a multi account global table replica |
Write |
|||
Grants permission to create a new table from recovery point on Amazon Backup |
Write |
|||
Grants permission to create a backup on Amazon Backup with advanced features enabled |
Write |
|||
Grants permission to update the status of Attribute Based Access Control for the account |
Permissions management, Write |
|||
Grants permission to update version of the specified global table |
Write |
|||
Grants permission to write data to a multi account global table replica |
Write |
Resource types defined by Amazon DynamoDB
The following resource types are defined by this service and can be used in the
Resource element of IAM permission policy statements.
| Resource types | ARN | Condition keys |
|---|---|---|
arn:${Partition}:dynamodb:${Region}:${Account}:table/${TableName}/backup/${BackupName} |
||
arn:${Partition}:dynamodb:${Region}:${Account}:table/${TableName}/export/${ExportName} |
||
arn:${Partition}:dynamodb::${Account}:global-table/${GlobalTableName} |
||
arn:${Partition}:dynamodb:${Region}:${Account}:table/${TableName}/import/${ImportName} |
||
arn:${Partition}:dynamodb:${Region}:${Account}:table/${TableName}/index/${IndexName} |
||
arn:${Partition}:dynamodb:${Region}:${Account}:table/${TableName}/stream/${StreamLabel} |
||
arn:${Partition}:dynamodb:${Region}:${Account}:table/${TableName} |
Condition keys for Amazon DynamoDB
Amazon DynamoDB defines the following condition keys that can be used in the
Condition element of an IAM policy.
| Condition keys | Description | Type |
|---|---|---|
Filters access by the tags that are passed in the request |
String |
|
Filters access by the tags associated with the resource |
String |
|
Filters access by the tag keys that are passed in the request |
ArrayOfString |
|
Filters access by attribute (field or column) names of the table |
ArrayOfString |
|
Filters access by blocking Transactions APIs calls and allow the non-Transaction APIs calls and vice-versa |
String |
|
Filters access by the first partition key of the table |
ArrayOfString |
|
Filters access by the ID of an Amazon FIS action |
String |
|
Filters access by the ARN of an Amazon FIS target |
ArrayOfARN |
|
Filters access by the forth partition key of the table |
ArrayOfString |
|
Filters access by blocking full table scan |
Bool |
|
Filters access by the first partition key of the table |
ArrayOfString |
|
Filters access by the ReturnConsumedCapacity parameter of a request. Contains either "TOTAL" or "NONE" |
String |
|
Filters access by the ReturnValues parameter of request. Contains one of the following: "ALL_OLD", "UPDATED_OLD","ALL_NEW","UPDATED_NEW", or "NONE" |
String |
|
Filters access by the second partition key of the table |
ArrayOfString |
|
Filters access by the Select parameter of a Query or Scan request |
String |
|
Filters access by the third partition key of the table |
ArrayOfString |