AmazonDynamoDBFullAccesswithDataPipeline
Summary
Provides full access to Amazon DynamoDB including Export/Import using AWS Data Pipeline via the AWS Management Console. The reference page description says this policy is on a deprecation path.
Permissions imported from the AWS Managed Policy Reference Guide; other sections reviewed against the listed AWS sources.
Identity
- ARN
arn:aws:iam::aws:policy/AmazonDynamoDBFullAccesswithDataPipeline- Default version
- v2
- Created
- Last edited
- Services
- cloudwatch, datapipeline, dynamodb, ec2, elasticmapreduce, iam, lambda, s3, sns
Control-plane actions (423)
By access level: 66 List, 25 Permissions management, 138 Read, 12 Tagging, 182 Write.
| Service | Granted | Access levels and limits | Granted by |
|---|---|---|---|
| CloudWatch | 5 of 160 | 3 Read, 2 Write; 0 restricted, 0 conditional | cloudwatch:DeleteAlarms, cloudwatch:DescribeAlarmHistory, cloudwatch:DescribeAlarms, cloudwatch:DescribeAlarmsForMetric, cloudwatch:PutMetricAlarm |
| Data Pipeline | All 21 actions (see the Data Pipeline page) | 2 List, 6 Read, 2 Tagging, 11 Write; 0 restricted, 0 conditional | datapipeline:* |
| DynamoDB | All 68 actions (see the DynamoDB page) | 7 List, 3 Permissions management, 22 Read, 2 Tagging, 34 Write; 0 restricted, 0 conditional | dynamodb:* |
| EC2 | 6 of 834 | 1 List, 1 Tagging, 4 Write; 0 restricted, 0 conditional | ec2:CreateTags, ec2:DescribeInstances, ec2:RunInstances, ec2:StartInstances, ec2:StopInstances, ec2:TerminateInstances |
| EMR | All 88 actions (see the EMR page) | 12 List, 3 Permissions management, 20 Read, 2 Tagging, 51 Write; 0 restricted, 0 conditional | elasticmapreduce:* |
| IAM | 3 of 190 | 1 List, 1 Read, 1 Write; 0 restricted, 0 conditional | iam:GetRolePolicy, iam:ListRoles, iam:PassRole |
| Lambda | All 121 actions (see the Lambda page) | 25 List, 8 Permissions management, 31 Read, 2 Tagging, 55 Write; 0 restricted, 0 conditional | lambda:* |
| S3 | 103 of 155 | 15 List, 10 Permissions management, 55 Read, 3 Tagging, 20 Write; 0 restricted, 0 conditional | s3:Get*, s3:List*, s3:Put* |
| SNS | 8 of 40 | 3 List, 1 Permissions management, 4 Write; 0 restricted, 0 conditional | sns:CreateTopic, sns:DeleteTopic, sns:ListSubscriptions, sns:ListSubscriptionsByTopic, sns:ListTopics, sns:SetTopicAttributes, sns:Subscribe, sns:Unsubscribe |
CloudWatch: 5 actions
- cloudwatch:DeleteAlarms (Write)
- cloudwatch:DescribeAlarmHistory (Read)
- cloudwatch:DescribeAlarms (Read)
- cloudwatch:DescribeAlarmsForMetric (Read)
- cloudwatch:PutMetricAlarm (Write)
EC2: 6 actions
- ec2:CreateTags (Tagging)
- ec2:DescribeInstances (List)
- ec2:RunInstances (Write)
- ec2:StartInstances (Write)
- ec2:StopInstances (Write)
- ec2:TerminateInstances (Write)
IAM: 3 actions
- iam:GetRolePolicy (Read)
- iam:ListRoles (List)
- iam:PassRole (Write)
S3: 103 actions
- s3:GetAccelerateConfiguration (Read)
- s3:GetAccessGrant (Read)
- s3:GetAccessGrantsInstance (Read)
- s3:GetAccessGrantsInstanceForPrefix (Read)
- s3:GetAccessGrantsInstanceResourcePolicy (Read)
- s3:GetAccessGrantsLocation (Read)
- s3:GetAccessPoint (Read)
- s3:GetAccessPointConfigurationForObjectLambda (Read)
- s3:GetAccessPointForObjectLambda (Read)
- s3:GetAccessPointPolicy (Read)
- s3:GetAccessPointPolicyForObjectLambda (Read)
- s3:GetAccessPointPolicyStatus (Read)
- s3:GetAccessPointPolicyStatusForObjectLambda (Read)
- s3:GetAccountPublicAccessBlock (Read)
- s3:GetAnalyticsConfiguration (Read)
- s3:GetBucketAbac (Read)
- s3:GetBucketAcl (Read)
- s3:GetBucketCORS (Read)
- s3:GetBucketLocation (Read)
- s3:GetBucketLogging (Read)
- s3:GetBucketMetadataTableConfiguration (Read)
- s3:GetBucketNotification (Read)
- s3:GetBucketObjectLockConfiguration (Read)
- s3:GetBucketOwnershipControls (Read)
- s3:GetBucketPolicy (Read)
- s3:GetBucketPolicyStatus (Read)
- s3:GetBucketPublicAccessBlock (Read)
- s3:GetBucketRequestPayment (Read)
- s3:GetBucketTagging (Read)
- s3:GetBucketVersioning (Read)
- s3:GetBucketWebsite (Read)
- s3:GetDataAccess (Read)
- s3:GetEncryptionConfiguration (Read)
- s3:GetIntelligentTieringConfiguration (Read)
- s3:GetInventoryConfiguration (Read)
- s3:GetJobTagging (Read)
- s3:GetLifecycleConfiguration (Read)
- s3:GetMetricsConfiguration (Read)
- s3:GetMultiRegionAccessPoint (Read)
- s3:GetMultiRegionAccessPointPolicy (Read)
- s3:GetMultiRegionAccessPointPolicyStatus (Read)
- s3:GetMultiRegionAccessPointRoutes (Read)
- s3:GetObjectAnnotation (Read)
- s3:GetObjectAttributes (Read)
- s3:GetObjectTorrent (Read)
- s3:GetObjectVersionAnnotation (Read)
- s3:GetObjectVersionAnnotationForReplication (Read)
- s3:GetObjectVersionAttributes (Read)
- s3:GetObjectVersionForReplication (Read)
- s3:GetObjectVersionTorrent (Read)
- s3:GetReplicationConfiguration (Read)
- s3:GetStorageLensConfiguration (Read)
- s3:GetStorageLensConfigurationTagging (Read)
- s3:GetStorageLensDashboard (Read)
- s3:GetStorageLensGroup (Read)
- s3:ListAccessGrants (List)
- s3:ListAccessGrantsInstances (List)
- s3:ListAccessGrantsLocations (List)
- s3:ListAccessPoints (List)
- s3:ListAccessPointsForObjectLambda (List)
- s3:ListAllMyBuckets (List)
- s3:ListBucketMultipartUploads (List)
- s3:ListCallerAccessGrants (List)
- s3:ListJobs (List)
- s3:ListMultiRegionAccessPoints (List)
- s3:ListObjectAnnotations (List)
- s3:ListObjectVersionAnnotations (List)
- s3:ListStorageLensConfigurations (List)
- s3:ListStorageLensGroups (List)
- s3:ListTagsForResource (List)
- s3:PutAccelerateConfiguration (Write)
- s3:PutAccessGrantsInstanceResourcePolicy (Permissions management)
- s3:PutAccessPointConfigurationForObjectLambda (Write)
- s3:PutAccessPointPolicy (Permissions management)
- s3:PutAccessPointPolicyForObjectLambda (Permissions management)
- s3:PutAccessPointPublicAccessBlock (Permissions management)
- s3:PutAccountPublicAccessBlock (Permissions management)
- s3:PutAnalyticsConfiguration (Write)
- s3:PutBucketAbac (Write)
- s3:PutBucketAcl (Permissions management)
- s3:PutBucketCORS (Write)
- s3:PutBucketLogging (Write)
- s3:PutBucketNotification (Write)
- s3:PutBucketObjectLockConfiguration (Write)
- s3:PutBucketOwnershipControls (Permissions management)
- s3:PutBucketPolicy (Permissions management)
- s3:PutBucketPublicAccessBlock (Permissions management)
- s3:PutBucketRequestPayment (Write)
- s3:PutBucketTagging (Tagging)
- s3:PutBucketVersioning (Write)
- s3:PutBucketWebsite (Write)
- s3:PutEncryptionConfiguration (Write)
- s3:PutIntelligentTieringConfiguration (Write)
- s3:PutInventoryConfiguration (Write)
- s3:PutJobTagging (Tagging)
- s3:PutLifecycleConfiguration (Write)
- s3:PutMetricsConfiguration (Write)
- s3:PutMultiRegionAccessPointPolicy (Permissions management)
- s3:PutObjectAnnotation (Write)
- s3:PutObjectVersionAnnotation (Write)
- s3:PutReplicationConfiguration (Write)
- s3:PutStorageLensConfiguration (Write)
- s3:PutStorageLensConfigurationTagging (Tagging)
SNS: 8 actions
- sns:CreateTopic (Write)
- sns:DeleteTopic (Write)
- sns:ListSubscriptions (List)
- sns:ListSubscriptionsByTopic (List)
- sns:ListTopics (List)
- sns:SetTopicAttributes (Permissions management)
- sns:Subscribe (Write)
- sns:Unsubscribe (Write)
Data-plane actions (52)
By access level: 4 List, 2 Permissions management, 19 Read, 2 Tagging, 25 Write.
| Service | Granted | Access levels and limits | Granted by |
|---|---|---|---|
| CloudWatch | 2 of 5 | 1 List, 1 Read; 0 restricted, 0 conditional | cloudwatch:GetMetricStatistics, cloudwatch:ListMetrics |
| DynamoDB | All 17 actions (see the DynamoDB page) | 9 Read, 8 Write; 0 restricted, 0 conditional | dynamodb:* |
| Lambda | All 14 actions (see the Lambda page) | 1 Read, 13 Write; 0 restricted, 0 conditional | lambda:* |
| S3 | 19 of 25 | 3 List, 2 Permissions management, 8 Read, 2 Tagging, 4 Write; 0 restricted, 0 conditional | s3:DeleteObject, s3:Get*, s3:List*, s3:Put* |
CloudWatch: 2 actions
- cloudwatch:GetMetricStatistics (Read)
- cloudwatch:ListMetrics (List)
S3: 19 actions
- s3:DeleteObject (Write)
- s3:GetObject (Read)
- s3:GetObjectAcl (Read)
- s3:GetObjectLegalHold (Read)
- s3:GetObjectRetention (Read)
- s3:GetObjectTagging (Read)
- s3:GetObjectVersion (Read)
- s3:GetObjectVersionAcl (Read)
- s3:GetObjectVersionTagging (Read)
- s3:ListBucket (List)
- s3:ListBucketVersions (List)
- s3:ListMultipartUploadParts (List)
- s3:PutObject (Write)
- s3:PutObjectAcl (Permissions management)
- s3:PutObjectLegalHold (Write)
- s3:PutObjectRetention (Write)
- s3:PutObjectTagging (Tagging)
- s3:PutObjectVersionAcl (Permissions management)
- s3:PutObjectVersionTagging (Tagging)
Excluded and conditional actions
No patterns are excluded by NotAction or Deny statements.
Resource scope and attachment
Resource scope across granted actions: all-resources.
Can be attached: Yes, to users, groups and roles.
Why this tier
- Grants at least 80% of the write and permissions-management actions of: datapipeline (11 of 11), dynamodb (45 of 45), elasticmapreduce (54 of 54), lambda (76 of 76).
- Grants data-plane write actions on a data store on all resources without conditions.
- Grants iam:PassRole on all resources without conditions.
- 17 granted write or permissions-management actions have no data-plane classification from AWS, so the data-plane rule cannot assess them.
Guidance
Practical scope
dynamodb:*, lambda:*, datapipeline:* and elasticmapreduce:* are allowed on Resource "*". The policy also allows CloudWatch alarm actions, SNS topic and subscription actions, EC2 actions (CreateTags, DescribeInstances, RunInstances, StartInstances, StopInstances, TerminateInstances), iam:ListRoles, iam:GetRolePolicy and iam:PassRole on all resources with no condition, and s3:DeleteObject, s3:Get*, s3:List* and s3:Put* on all resources.
Use cases
- Give users, groups or roles full access to DynamoDB, including export and import with AWS Data Pipeline, through the console. The description says the policy is on a deprecation path, so check current DynamoDB policies first.
Best practices
- AWS managed policies don't grant least privilege permissions. The IAM User Guide suggests using IAM Access Analyzer to see which permissions principals actually use, then writing a custom policy or generating one with only the required permissions.
Security considerations
- The policy is on a deprecation path according to its description.
- iam:PassRole is allowed on all resources with no condition, and lambda:*, datapipeline:*, elasticmapreduce:* and s3:Put* and s3:DeleteObject are allowed on all resources.
- You cannot change the permissions in an AWS managed policy. If AWS updates the policy, the update affects every user, group and role it is attached to.
Assignment guidance
You can attach this policy to your users, groups and roles. The reference page also links to guidance on creating a permission set using AWS managed policies in IAM Identity Center. Its description says the policy is on a deprecation path, so check current DynamoDB policies before attaching it to new identities.
Related policies
Same service
- AccessAnalyzerServiceRolePolicy
- AdministratorAccess-AWSElasticBeanstalk
- AmazonAppFlowFullAccess
- AmazonAppStreamServiceAccess
- AmazonBedrockStudioPermissionsBoundary
- AmazonBraketJobsExecutionPolicy
- AmazonBraketServiceRolePolicy
- AmazonCloudWatchEvidentlyFullAccess
Same domain
Frequently asked questions
- When should I attach AmazonDynamoDBFullAccesswithDataPipeline?
- Its description says it provides full access to DynamoDB including export and import with AWS Data Pipeline via the console, and that the policy is on a deprecation path. If you already use it, review whether a current DynamoDB policy or a customer managed policy fits.
- What does AmazonDynamoDBFullAccesswithDataPipeline grant?
- It allows dynamodb:*, lambda:*, datapipeline:* and elasticmapreduce:* on all resources, CloudWatch alarm actions, SNS topic and subscription actions, EC2 instance launch, start, stop and terminate actions, iam:ListRoles, iam:GetRolePolicy and iam:PassRole, and S3 delete, get, list and put actions, all on all resources.
- What are the security risks of AmazonDynamoDBFullAccesswithDataPipeline?
- It allows iam:PassRole on all resources with no condition, lambda:*, datapipeline:* and elasticmapreduce:*, EC2 terminate actions, and S3 put and delete actions on all resources. The description says the policy is on a deprecation path. AWS managed policies do not grant least privilege permissions, and AWS updates to the policy affect every identity it is attached to.
Policy JSON
{
"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"
}
]
}
Version history
Current version v2, edited by AWS on 2015-11-12. Version history is recorded from 2026-11-11. Earlier versions are in the IAM console under Policy versions.
Attach snippets
AWS CLI
aws iam attach-role-policy --role-name ROLE_NAME --policy-arn arn:aws:iam::aws:policy/AmazonDynamoDBFullAccesswithDataPipeline
aws iam attach-user-policy --user-name USER_NAME --policy-arn arn:aws:iam::aws:policy/AmazonDynamoDBFullAccesswithDataPipeline
aws iam attach-group-policy --group-name GROUP_NAME --policy-arn arn:aws:iam::aws:policy/AmazonDynamoDBFullAccesswithDataPipelineCloudFormation
Resources:
ExampleRole:
Type: AWS::IAM::Role
Properties:
AssumeRolePolicyDocument: {} # replace with your trust policy
ManagedPolicyArns:
- arn:aws:iam::aws:policy/AmazonDynamoDBFullAccesswithDataPipelineTerraform
resource "aws_iam_role_policy_attachment" "amazondynamodbfullaccesswithdatapipeline" {
role = aws_iam_role.example.name
policy_arn = "arn:aws:iam::aws:policy/AmazonDynamoDBFullAccesswithDataPipeline"
}CDK (TypeScript)
role.addManagedPolicy(
iam.ManagedPolicy.fromAwsManagedPolicyName("AmazonDynamoDBFullAccesswithDataPipeline"),
);Sources
- AmazonDynamoDBFullAccesswithDataPipeline (AWS Managed Policy Reference Guide) (retrieved ; supports summary, practicalScope, useCases, securityConsiderations, assignmentGuidance, faqs)
- AWS managed policies for job functions (IAM User Guide) (retrieved ; supports bestPractices, faqs)
- Managed policies and inline policies (IAM User Guide) (retrieved ; supports securityConsiderations, faqs)