AmazonDynamoDBFullAccesswithDataPipeline
Last Modified
Mar 12, 2026
March 12, 2026 at 09:27 PM UTC
Version
v2
Total Versions
6
Created
Nov 12, 2015
Actions
34
Risk
HighAn unrestricted escalation path, identity administration, secret reads or the power to switch off security monitoring. Read from this policy document alone: trust policies, boundaries and SCPs in your account still decide what actually succeeds. How this is assessed
- High
Can change identities and their permissions
Grants 1 permissions management action on IAM, IAM Identity Center or Organizations, on any resource with no condition.
iam:passroleUse with caution: Grant it only to identity administrators, and protect your admin roles and SCPs with a permissions boundary or an SCP of their own.
- High
Can launch resources that run as a more privileged role
Grants every action of 6 documented escalation paths on any resource with no condition.
- datapipeline-001iam:PassRole + datapipeline:CreatePipeline + datapipeline:PutPipelineDefinition + datapipeline:ActivatePipelineunrestricted
Use with caution: Make sure no highly privileged role trusts the service involved, and restrict iam:PassRole in your own policies or boundary to named roles with iam:PassedToService.
- High
Can take over existing resources that run as another role
Grants every action of 3 documented escalation paths on any resource with no condition.
Use with caution: List the roles attached to the functions, instances, pipelines or notebooks it can modify: the holder effectively has them too.
- Medium
Can read secrets
Reads Lambda environment variables, where credentials often live, on any resource with no condition.
lambda:GetFunctionConfiguration (via lambda:*)Use with caution: Where the holder needs only some secrets, write your own policy scoped to their ARNs or tags, and limit decryption in the KMS key policies.
- Medium
Can rewrite resource policies and sharing
Grants 22 permissions management actions across 4 services (dynamodb, elasticmapreduce, lambda, s3) on any resource, enough to share resources outside the account.
dynamodb:deleteresourcepolicydynamodb:putresourcepolicyelasticmapreduce:deleteworkspaceaccesselasticmapreduce:putblockpublicaccessconfigurationelasticmapreduce:putworkspaceaccesslambda:addlayerversionpermissionlambda:addpermissionlambda:deleteresourcepolicylambda:putresourcepolicylambda:removelayerversionpermissionlambda:removepermissions3:putaccessgrantsinstanceresourcepolicyand 10 moreUse with caution: Turn on IAM Access Analyzer external access findings, and keep account-level guards like S3 Block Public Access enabled.
- Medium
Can read data in every bucket or table
Reads any object in any S3 bucket; any DynamoDB table. Read-only is not the same as harmless when the data is the asset.
s3:GetObject (via s3:Get*)dynamodb:Scan (via dynamodb:*)dynamodb:GetItem (via dynamodb:*)Use with caution: Read access to data is still access to data. For people who only need to see configuration, ViewOnlyAccess carries none of these signals.
- Medium
Full access to 4 services on every resource
Uses datapipeline:*, dynamodb:*, elasticmapreduce:*, lambda:* with Resource "*" and no condition, so every action AWS adds to those services later is granted too.
datapipeline:*dynamodb:*elasticmapreduce:*lambda:*Use with caution: The grant grows every time the service does. For long-lived access, prefer a policy that lists the actions you actually need.
- Medium
Flagged by AWS IAM Access Analyzer
AWS's own policy validation raises 1 security warning: PASS_ROLE_WITH_STAR_IN_RESOURCE.
- Using the iam:PassRole action with wildcards (*) in the resource can be overly permissive because it allows iam:PassRole permissions on multiple resources. We recommend that you specify resource ARNs or add the iam:PassedToService condition key to your statement.
Use with caution: Read AWS's finding and the documentation it links to.
IAM Access Analyzer (1)
- Security warning / PASS_ROLE_WITH_STAR_IN_RESOURCE
Using the iam:PassRole action with wildcards (*) in the resource can be overly permissive because it allows iam:PassRole permissions on multiple resources. We recommend that you specify resource ARNs or add the iam:PassedToService condition key to your statement. AWS docs
Policy Document
View on GitHub{
"PolicyVersion": {
"Document": {
"Version": "2012-10-17",
"Statement": [
{
"Action": [
"cloudwatch:DeleteAlarms",
"cloudwatch:DescribeAlarmHistory",
"cloudwatch:DescribeAlarms",
"cloudwatch:DescribeAlarmsForMetric",
"cloudwatch:GetMetricStatistics",
"cloudwatch:ListMetrics",
"cloudwatch:PutMetricAlarm",
"dynamodb:*",
"sns:CreateTopic",
"sns:DeleteTopic",
"sns:ListSubscriptions",
"sns:ListSubscriptionsByTopic",
"sns:ListTopics",
"sns:Subscribe",
"sns:Unsubscribe",
"sns:SetTopicAttributes"
],
"Effect": "Allow",
"Resource": "*",
"Sid": "DDBConsole"
},
{
"Action": [
"lambda:*",
"iam:ListRoles"
],
"Effect": "Allow",
"Resource": "*",
"Sid": "DDBConsoleTriggers"
},
{
"Action": [
"datapipeline:*",
"iam:ListRoles"
],
"Effect": "Allow",
"Resource": "*",
"Sid": "DDBConsoleImportExport"
},
{
"Effect": "Allow",
"Action": [
"iam:GetRolePolicy",
"iam:PassRole"
],
"Resource": [
"*"
],
"Sid": "IAMEDPRoles"
},
{
"Action": [
"ec2:CreateTags",
"ec2:DescribeInstances",
"ec2:RunInstances",
"ec2:StartInstances",
"ec2:StopInstances",
"ec2:TerminateInstances",
"elasticmapreduce:*",
"datapipeline:*"
],
"Effect": "Allow",
"Resource": "*",
"Sid": "EMR"
},
{
"Action": [
"s3:DeleteObject",
"s3:Get*",
"s3:List*",
"s3:Put*"
],
"Effect": "Allow",
"Resource": [
"*"
],
"Sid": "S3"
}
]
},
"VersionId": "v2",
"IsDefaultVersion": true,
"CreateDate": "2015-11-12T02:17:42+00:00"
}
}Version History (9 recorded)
Raw historyAmazonDynamoDBFullAccesswithDataPipeline - Policy Version v2
No recorded action delta - this version predates the change index. View the raw diff.
Mar 12, 2026
be2a036Update detected
No recorded action delta - this version predates the change index. View the raw diff.
Sep 18, 2024
aafbae9Update detected
No recorded action delta - this version predates the change index. View the raw diff.
May 13, 2024
1b36617Update detected
No recorded action delta - this version predates the change index. View the raw diff.
Sep 16, 2019
49aa1d0Update detected
No recorded action delta - this version predates the change index. View the raw diff.
Sep 16, 2019
71619cfUpdate detected
No recorded action delta - this version predates the change index. View the raw diff.
Sep 16, 2019
8279033`2019-08-29`
No recorded action delta - this version predates the change index. View the raw diff.
Aug 29, 2019
5016d52I updated my CLI and it looks like it reordered everything and changed the white-space, so everything looks changed, but is not
No recorded action delta - this version predates the change index. View the raw diff.
Jul 12, 2019
9d2dff1First commit
No recorded action delta - this version predates the change index. View the raw diff.
Feb 10, 2019
ad4c2e8