Error: is not authorized to perform dynamodb:* on resource

Answered by Rafal Wilinski
Last updated: October 23rd, 2026
Solution
is not authorized to perform dynamodb:... identifies an action the caller cannot perform on the specified resource. The fix is to correct effective permissions for the principal in the error, rather than adding unrestricted dynamodb:* access.
Find the role making the call
For Lambda, inspect the execution role configured on the function. For local code, compare the selected profile with aws sts get-caller-identity. A role assumed by the application can differ from your interactive identity.
Choose the permission scope
Attach an appropriate customer managed policy or an inline policy to that role. Managed policies are reusable across roles; inline policies are tied to one identity. Review broad AWS managed policies before using them for application access. The deprecated AmazonDynamoDBFullAccess policy is not a reason to grant full access to a runtime.
{
"Version": "2012-10-17",
"Statement": [{
"Effect": "Allow",
"Action": "dynamodb:Query",
"Resource": [
"arn:aws:dynamodb:us-east-1:123456789012:table/Orders",
"arn:aws:dynamodb:us-east-1:123456789012:table/Orders/index/CustomerIndex"
]
}]
}Replace the account, Region, table and index. This example grants Query, not Scan, writes or table creation. Review the policy and attach it to the execution role, then retry the same operation.
If the denial remains
Check explicit denies and conditions in identity policies, the table resource policy, permissions boundaries, session policies, organization policies and endpoint policies. Cross-account access needs authorization on both sides. A KMS error also requires reviewing the key policy. Adding an Allow does not override a Deny.
Other Common DynamoDB Errors (with Solutions)
- dynamodb cannot convert undefined to object
- dynamodb condition does not exist
- DynamoDB Internal Server Error
- dynamodb list_append if_not_exists not working
- DynamoDB Local Docker Not Working
- aws.dynamodb.converter.unmarshall not working
- a bytes-like object is required not binary dynamodb
- dynamodb does not accept empty set
- error retrieving dynamodb table item serializationexception
- DynamoDB query is slow
- DynamoDB - The Security Token Included In The Request Is Invalid
- Dynamodb error 500
- dynamodb cannot assign requested address
- dynamodb the parameter cannot be converted to a numeric value
- DynamoDB Expression Not Null
Dynobase is a Professional GUI Client for DynamoDB
Start your 7-day free trial today
Product Features
DynamoDB Tools
- SSH GUI Client
- Chat With Cloud
- MongoDB GUI Client
- AWS Cost Monitoring
- DynamoDB Query Builder
- DynamoDB Code Examples
- DynamoDB Node.js Queries
- DynamoDB JSON Converter
- DynamoDB UUID Generator
- DynamoDB Local Admin GUI
- DynamoDB Pricing Calculator
- DynamoDB Single-Table Design
- Best DynamoDB GUI Clients
- Dynobase vs DynoTable