Skip to main content
IAM Policy Map

AdministratorAccess-Amplify

High privilegeAdminAWS managedActiveReviewedShow on mapCompare

Summary

Grants account administrative permissions while explicitly allowing direct access to resources needed by Amplify applications. The AWS Amplify Hosting User Guide says the policy grants account administrative permissions together with direct access to the resources that Amplify applications need to create and manage backends.

Permissions imported from the AWS Managed Policy Reference Guide; other sections reviewed against the listed AWS sources.

Identity

ARN
arn:aws:iam::aws:policy/AdministratorAccess-Amplify
Default version
v12
Created
Last edited
Services
amplify, amplifybackend, amplifyuibuilder, apigateway, appsync, cloudformation, cloudfront, codecommit, cognito-identity, cognito-idp, dynamodb, ecr, es, events, geo, iam, kinesis, lambda, lex, logs, mobiletargeting, polly, rekognition, route53, s3, sns, sqs, ssm, sts

Control-plane actions (545)

By access level: 82 List, 21 Permissions management, 154 Read, 25 Tagging, 263 Write.

Control-plane actions by service
ServiceGrantedAccess levels and limitsGranted by
AmplifyAll 41 actions (see the Amplify page)8 List, 9 Read, 2 Tagging, 22 Write; 0 restricted, 0 conditionalamplify:*, amplify:GetApp, amplify:GetBranch, amplify:UpdateApp, amplify:UpdateBranch
Amplify AdminAll 31 actions (see the Amplify Admin page)2 List, 7 Read, 22 Write; 0 restricted, 0 conditionalamplifybackend:*
Amplify UI BuilderAll 29 actions (see the Amplify UI Builder page)5 List, 8 Read, 2 Tagging, 14 Write; 0 restricted, 0 conditionalamplifyuibuilder:*
API Gateway5 of 441 Read, 4 Write; 5 restricted, 5 conditionalapigateway:DELETE, apigateway:GET, apigateway:PATCH, apigateway:POST, apigateway:PUT
AppSync37 of 877 List, 8 Read, 2 Tagging, 20 Write; 33 restricted, 33 conditionalappsync:CreateApiKey, appsync:CreateDataSource, appsync:CreateFunction, appsync:CreateGraphqlApi, appsync:CreateResolver, appsync:CreateType, appsync:DeleteApiKey, appsync:DeleteDataSource, appsync:DeleteFunction, appsync:DeleteGraphqlApi, appsync:DeleteResolver, appsync:DeleteType and 25 more
CloudFormation19 of 1043 List, 7 Read, 2 Tagging, 7 Write; 16 restricted, 0 conditionalcloudformation:CreateChangeSet, cloudformation:CreateStack, cloudformation:DeleteStack, cloudformation:DeleteStackSet, cloudformation:DescribeChangeSet, cloudformation:DescribeStackEvents, cloudformation:DescribeStackResource, cloudformation:DescribeStackResources, cloudformation:DescribeStackSet, cloudformation:DescribeStacks, cloudformation:ExecuteChangeSet, cloudformation:GetTemplate and 7 more
CloudFront23 of 1739 List, 5 Read, 2 Tagging, 7 Write; 2 restricted, 2 conditionalcloudfront:CreateCloudFrontOriginAccessIdentity, cloudfront:CreateDistribution, cloudfront:CreateInvalidation, cloudfront:DeleteCloudFrontOriginAccessIdentity, cloudfront:DeleteDistribution, cloudfront:GetCloudFrontOriginAccessIdentity, cloudfront:GetCloudFrontOriginAccessIdentityConfig, cloudfront:GetDistribution, cloudfront:GetDistributionConfig, cloudfront:ListCloudFrontOriginAccessIdentities, cloudfront:ListDistributions, cloudfront:ListDistributionsByLambdaFunction and 11 more
CodeCommit1 of 911 Read; 0 restricted, 0 conditionalcodecommit:GitPull
Cognito Identity9 of 211 List, 3 Read, 1 Tagging, 4 Write; 3 restricted, 3 conditionalcognito-identity:CreateIdentityPool, cognito-identity:DeleteIdentityPool, cognito-identity:DescribeIdentity, cognito-identity:DescribeIdentityPool, cognito-identity:GetIdentityPoolRoles, cognito-identity:ListIdentityPools, cognito-identity:SetIdentityPoolRoles, cognito-identity:TagResource, cognito-identity:UpdateIdentityPool
Cognito User Pools35 of 1398 List, 6 Read, 1 Tagging, 20 Write; 5 restricted, 5 conditionalcognito-idp:AdminAddUserToGroup, cognito-idp:AdminConfirmSignUp, cognito-idp:AdminCreateUser, cognito-idp:AdminDeleteUser, cognito-idp:AdminDisableUser, cognito-idp:AdminEnableUser, cognito-idp:AdminGetUser, cognito-idp:AdminListGroupsForUser, cognito-idp:AdminListUserAuthEvents, cognito-idp:AdminRemoveUserFromGroup, cognito-idp:AdminResetUserPassword, cognito-idp:AdminSetUserPassword and 23 more
DynamoDB13 of 681 List, 5 Read, 2 Tagging, 5 Write; 11 restricted, 11 conditionaldynamodb:CreateTable, dynamodb:DeleteTable, dynamodb:DescribeContinuousBackups, dynamodb:DescribeTable, dynamodb:DescribeTimeToLive, dynamodb:ListStreams, dynamodb:ListTables, dynamodb:ListTagsOfResource, dynamodb:TagResource, dynamodb:UntagResource, dynamodb:UpdateContinuousBackups, dynamodb:UpdateTable and 1 more
Elastic Container Registry1 of 651 Read; 0 restricted, 0 conditionalecr:DescribeRepositories
OpenSearch Service5 of 1381 Read, 1 Tagging, 3 Write; 5 restricted, 5 conditionales:AddTags, es:CreateElasticsearchDomain, es:DeleteElasticsearchDomain, es:DescribeElasticsearchDomain, es:UpdateElasticsearchDomainConfig
EventBridge6 of 711 List, 1 Read, 4 Write; 6 restricted, 6 conditionalevents:DeleteRule, events:DescribeRule, events:ListRuleNamesByTarget, events:PutRule, events:PutTargets, events:RemoveTargets
LocationAll 64 actions (see the Location page)7 List, 27 Read, 2 Tagging, 28 Write; 0 restricted, 0 conditionalgeo:*
IAM25 of 1904 List, 11 Permissions management, 3 Read, 2 Tagging, 5 Write; 9 restricted, 9 conditionaliam:AttachRolePolicy, iam:CreatePolicy, iam:CreatePolicyVersion, iam:CreateRole, iam:CreateServiceLinkedRole, iam:DeletePolicy, iam:DeletePolicyVersion, iam:DeleteRole, iam:DeleteRolePermissionsBoundary, iam:DeleteRolePolicy, iam:DetachRolePolicy, iam:GetPolicy and 13 more
Kinesis6 of 423 Read, 1 Tagging, 2 Write; 6 restricted, 6 conditionalkinesis:AddTagsToStream, kinesis:CreateStream, kinesis:DeleteStream, kinesis:DescribeStream, kinesis:DescribeStreamSummary, kinesis:ListTagsForStream
Lambda25 of 1212 List, 5 Permissions management, 5 Read, 2 Tagging, 11 Write; 9 restricted, 9 conditionallambda:AddLayerVersionPermission, lambda:AddPermission, lambda:CreateEventSourceMapping, lambda:CreateFunction, lambda:DeleteEventSourceMapping, lambda:DeleteFunction, lambda:DeleteLayerVersion, lambda:EnableReplication, lambda:GetEventSourceMapping, lambda:GetFunction, lambda:GetFunctionConfiguration, lambda:GetLayerVersion and 13 more
Lex4 of 1464 Read; 0 restricted, 0 conditionallex:GetBot, lex:GetBuiltinIntent, lex:GetBuiltinIntents, lex:GetBuiltinSlotTypes
CloudWatch Logs6 of 1332 List, 1 Read, 3 Write; 4 restricted, 0 conditionallogs:CreateLogGroup, logs:CreateLogStream, logs:DescribeLogGroups, logs:DescribeLogStreams, logs:GetLogEvents, logs:PutLogEvents
PinpointAll 119 actions (see the Pinpoint page)16 List, 39 Read, 2 Tagging, 62 Write; 0 restricted, 0 conditionalmobiletargeting:*, mobiletargeting:GetApp
Polly1 of 131 List; 0 restricted, 0 conditionalpolly:DescribeVoices
Rekognition1 of 761 Read; 0 restricted, 0 conditionalrekognition:DescribeCollection
Route 533 of 712 List, 1 Write; 0 restricted, 0 conditionalroute53:ChangeResourceRecordSets, route53:ListHostedZonesByName, route53:ListResourceRecordSets
S319 of 1551 List, 4 Permissions management, 3 Read, 1 Tagging, 10 Write; 1 restricted, 1 conditionals3:CreateBucket, s3:DeleteBucket, s3:DeleteBucketPolicy, s3:DeleteBucketWebsite, s3:GetAccelerateConfiguration, s3:GetBucketLocation, s3:GetBucketTagging, s3:ListAllMyBuckets, s3:PutAccelerateConfiguration, s3:PutBucketAcl, s3:PutBucketCORS, s3:PutBucketNotification and 7 more
SNS6 of 402 List, 1 Read, 3 Write; 0 restricted, 0 conditionalsns:CreateSMSSandboxPhoneNumber, sns:DeleteSMSSandboxPhoneNumber, sns:GetSMSSandboxAccountStatus, sns:ListOriginationNumbers, sns:ListSMSSandboxPhoneNumbers, sns:VerifySMSSandboxPhoneNumber
SQS4 of 201 Permissions management, 1 Read, 2 Write; 0 restricted, 0 conditionalsqs:CreateQueue, sqs:DeleteQueue, sqs:GetQueueAttributes, sqs:SetQueueAttributes
Systems Manager6 of 1643 Read, 3 Write; 6 restricted, 0 conditionalssm:DeleteParameter, ssm:DeleteParameters, ssm:GetParameter, ssm:GetParameters, ssm:GetParametersByPath, ssm:PutParameter
STS1 of 161 Write; 0 restricted, 0 conditionalsts:AssumeRole
API Gateway: 5 actions
  • apigateway:DELETE (Write)
  • apigateway:GET (Read)
  • apigateway:PATCH (Write)
  • apigateway:POST (Write)
  • apigateway:PUT (Write)
AppSync: 37 actions
  • appsync:CreateApiKey (Write)
  • appsync:CreateDataSource (Write)
  • appsync:CreateFunction (Write)
  • appsync:CreateGraphqlApi (Write)
  • appsync:CreateResolver (Write)
  • appsync:CreateType (Write)
  • appsync:DeleteApiKey (Write)
  • appsync:DeleteDataSource (Write)
  • appsync:DeleteFunction (Write)
  • appsync:DeleteGraphqlApi (Write)
  • appsync:DeleteResolver (Write)
  • appsync:DeleteType (Write)
  • appsync:GetDataSource (Read)
  • appsync:GetFunction (Read)
  • appsync:GetGraphqlApi (Read)
  • appsync:GetIntrospectionSchema (Read)
  • appsync:GetResolver (Read)
  • appsync:GetSchemaCreationStatus (Read)
  • appsync:GetType (Read)
  • appsync:GraphQL (Write)
  • appsync:ListApiKeys (List)
  • appsync:ListDataSources (List)
  • appsync:ListFunctions (List)
  • appsync:ListGraphqlApis (List)
  • appsync:ListResolvers (List)
  • appsync:ListResolversByFunction (List)
  • appsync:ListTagsForResource (Read)
  • appsync:ListTypes (List)
  • appsync:StartSchemaCreation (Write)
  • appsync:TagResource (Tagging)
  • appsync:UntagResource (Tagging)
  • appsync:UpdateApiKey (Write)
  • appsync:UpdateDataSource (Write)
  • appsync:UpdateFunction (Write)
  • appsync:UpdateGraphqlApi (Write)
  • appsync:UpdateResolver (Write)
  • appsync:UpdateType (Write)
CloudFormation: 19 actions
  • cloudformation:CreateChangeSet (Write)
  • cloudformation:CreateStack (Write)
  • cloudformation:DeleteStack (Write)
  • cloudformation:DeleteStackSet (Write)
  • cloudformation:DescribeChangeSet (Read)
  • cloudformation:DescribeStackEvents (Read)
  • cloudformation:DescribeStackResource (Read)
  • cloudformation:DescribeStackResources (Read)
  • cloudformation:DescribeStackSet (Read)
  • cloudformation:DescribeStacks (List)
  • cloudformation:ExecuteChangeSet (Write)
  • cloudformation:GetTemplate (Read)
  • cloudformation:GetTemplateSummary (Read)
  • cloudformation:ListStackResources (List)
  • cloudformation:ListStacks (List)
  • cloudformation:TagResource (Tagging)
  • cloudformation:UntagResource (Tagging)
  • cloudformation:UpdateStack (Write)
  • cloudformation:UpdateStackSet (Write)
CloudFront: 23 actions
  • cloudfront:CreateCloudFrontOriginAccessIdentity (Write)
  • cloudfront:CreateDistribution (Write)
  • cloudfront:CreateInvalidation (Write)
  • cloudfront:DeleteCloudFrontOriginAccessIdentity (Write)
  • cloudfront:DeleteDistribution (Write)
  • cloudfront:GetCloudFrontOriginAccessIdentity (Read)
  • cloudfront:GetCloudFrontOriginAccessIdentityConfig (Read)
  • cloudfront:GetDistribution (Read)
  • cloudfront:GetDistributionConfig (Read)
  • cloudfront:ListCloudFrontOriginAccessIdentities (List)
  • cloudfront:ListDistributions (List)
  • cloudfront:ListDistributionsByLambdaFunction (List)
  • cloudfront:ListDistributionsByWebACLId (List)
  • cloudfront:ListFieldLevelEncryptionConfigs (List)
  • cloudfront:ListFieldLevelEncryptionProfiles (List)
  • cloudfront:ListInvalidations (List)
  • cloudfront:ListPublicKeys (List)
  • cloudfront:ListStreamingDistributions (List)
  • cloudfront:ListTagsForResource (Read)
  • cloudfront:TagResource (Tagging)
  • cloudfront:UntagResource (Tagging)
  • cloudfront:UpdateCloudFrontOriginAccessIdentity (Write)
  • cloudfront:UpdateDistribution (Write)
CodeCommit: 1 actions
  • codecommit:GitPull (Read)
Cognito Identity: 9 actions
  • cognito-identity:CreateIdentityPool (Write)
  • cognito-identity:DeleteIdentityPool (Write)
  • cognito-identity:DescribeIdentity (Read)
  • cognito-identity:DescribeIdentityPool (Read)
  • cognito-identity:GetIdentityPoolRoles (Read)
  • cognito-identity:ListIdentityPools (List)
  • cognito-identity:SetIdentityPoolRoles (Write)
  • cognito-identity:TagResource (Tagging)
  • cognito-identity:UpdateIdentityPool (Write)
Cognito User Pools: 35 actions
  • cognito-idp:AdminAddUserToGroup (Write)
  • cognito-idp:AdminConfirmSignUp (Write)
  • cognito-idp:AdminCreateUser (Write)
  • cognito-idp:AdminDeleteUser (Write)
  • cognito-idp:AdminDisableUser (Write)
  • cognito-idp:AdminEnableUser (Write)
  • cognito-idp:AdminGetUser (Read)
  • cognito-idp:AdminListGroupsForUser (List)
  • cognito-idp:AdminListUserAuthEvents (Read)
  • cognito-idp:AdminRemoveUserFromGroup (Write)
  • cognito-idp:AdminResetUserPassword (Write)
  • cognito-idp:AdminSetUserPassword (Write)
  • cognito-idp:AdminUpdateUserAttributes (Write)
  • cognito-idp:CreateGroup (Write)
  • cognito-idp:CreateUserPool (Write)
  • cognito-idp:CreateUserPoolClient (Write)
  • cognito-idp:DeleteGroup (Write)
  • cognito-idp:DeleteUser (Write)
  • cognito-idp:DeleteUserPool (Write)
  • cognito-idp:DeleteUserPoolClient (Write)
  • cognito-idp:DescribeIdentityProvider (Read)
  • cognito-idp:DescribeUserPool (Read)
  • cognito-idp:DescribeUserPoolClient (Read)
  • cognito-idp:GetUserPoolMfaConfig (Read)
  • cognito-idp:ListGroups (List)
  • cognito-idp:ListIdentityProviders (List)
  • cognito-idp:ListTagsForResource (List)
  • cognito-idp:ListUserPoolClients (List)
  • cognito-idp:ListUserPools (List)
  • cognito-idp:ListUsers (List)
  • cognito-idp:ListUsersInGroup (List)
  • cognito-idp:SetUserPoolMfaConfig (Write)
  • cognito-idp:TagResource (Tagging)
  • cognito-idp:UpdateUserPool (Write)
  • cognito-idp:UpdateUserPoolClient (Write)
DynamoDB: 13 actions
  • dynamodb:CreateTable (Write)
  • dynamodb:DeleteTable (Write)
  • dynamodb:DescribeContinuousBackups (Read)
  • dynamodb:DescribeTable (Read)
  • dynamodb:DescribeTimeToLive (Read)
  • dynamodb:ListStreams (Read)
  • dynamodb:ListTables (List)
  • dynamodb:ListTagsOfResource (Read)
  • dynamodb:TagResource (Tagging)
  • dynamodb:UntagResource (Tagging)
  • dynamodb:UpdateContinuousBackups (Write)
  • dynamodb:UpdateTable (Write)
  • dynamodb:UpdateTimeToLive (Write)
Elastic Container Registry: 1 actions
  • ecr:DescribeRepositories (Read)
OpenSearch Service: 5 actions
  • es:AddTags (Tagging)
  • es:CreateElasticsearchDomain (Write)
  • es:DeleteElasticsearchDomain (Write)
  • es:DescribeElasticsearchDomain (Read)
  • es:UpdateElasticsearchDomainConfig (Write)
EventBridge: 6 actions
  • events:DeleteRule (Write)
  • events:DescribeRule (Read)
  • events:ListRuleNamesByTarget (List)
  • events:PutRule (Write)
  • events:PutTargets (Write)
  • events:RemoveTargets (Write)
IAM: 25 actions
  • iam:AttachRolePolicy (Permissions management)
  • iam:CreatePolicy (Permissions management)
  • iam:CreatePolicyVersion (Permissions management)
  • iam:CreateRole (Write)
  • iam:CreateServiceLinkedRole (Write)
  • iam:DeletePolicy (Permissions management)
  • iam:DeletePolicyVersion (Permissions management)
  • iam:DeleteRole (Write)
  • iam:DeleteRolePermissionsBoundary (Permissions management)
  • iam:DeleteRolePolicy (Permissions management)
  • iam:DetachRolePolicy (Permissions management)
  • iam:GetPolicy (Read)
  • iam:GetRole (Read)
  • iam:GetRolePolicy (Read)
  • iam:ListAttachedRolePolicies (List)
  • iam:ListPolicyVersions (List)
  • iam:ListRolePolicies (List)
  • iam:ListRoleTags (List)
  • iam:PassRole (Write)
  • iam:PutRolePermissionsBoundary (Permissions management)
  • iam:PutRolePolicy (Permissions management)
  • iam:TagRole (Tagging)
  • iam:UntagRole (Tagging)
  • iam:UpdateAssumeRolePolicy (Permissions management)
  • iam:UpdateRole (Write)
Kinesis: 6 actions
  • kinesis:AddTagsToStream (Tagging)
  • kinesis:CreateStream (Write)
  • kinesis:DeleteStream (Write)
  • kinesis:DescribeStream (Read)
  • kinesis:DescribeStreamSummary (Read)
  • kinesis:ListTagsForStream (Read)
Lambda: 25 actions
  • lambda:AddLayerVersionPermission (Permissions management)
  • lambda:AddPermission (Permissions management)
  • lambda:CreateEventSourceMapping (Write)
  • lambda:CreateFunction (Write)
  • lambda:DeleteEventSourceMapping (Write)
  • lambda:DeleteFunction (Write)
  • lambda:DeleteLayerVersion (Write)
  • lambda:EnableReplication (Permissions management)
  • lambda:GetEventSourceMapping (Read)
  • lambda:GetFunction (Read)
  • lambda:GetFunctionConfiguration (Read)
  • lambda:GetLayerVersion (Read)
  • lambda:InvokeAsync (Write)
  • lambda:ListEventSourceMappings (List)
  • lambda:ListLayerVersions (List)
  • lambda:ListTags (Read)
  • lambda:PublishLayerVersion (Write)
  • lambda:PublishVersion (Write)
  • lambda:RemoveLayerVersionPermission (Permissions management)
  • lambda:RemovePermission (Permissions management)
  • lambda:TagResource (Tagging)
  • lambda:UntagResource (Tagging)
  • lambda:UpdateEventSourceMapping (Write)
  • lambda:UpdateFunctionCode (Write)
  • lambda:UpdateFunctionConfiguration (Write)
Lex: 4 actions
  • lex:GetBot (Read)
  • lex:GetBuiltinIntent (Read)
  • lex:GetBuiltinIntents (Read)
  • lex:GetBuiltinSlotTypes (Read)
CloudWatch Logs: 6 actions
  • logs:CreateLogGroup (Write)
  • logs:CreateLogStream (Write)
  • logs:DescribeLogGroups (List)
  • logs:DescribeLogStreams (List)
  • logs:GetLogEvents (Read)
  • logs:PutLogEvents (Write)
Polly: 1 actions
  • polly:DescribeVoices (List)
Rekognition: 1 actions
  • rekognition:DescribeCollection (Read)
Route 53: 3 actions
  • route53:ChangeResourceRecordSets (Write)
  • route53:ListHostedZonesByName (List)
  • route53:ListResourceRecordSets (List)
S3: 19 actions
  • s3:CreateBucket (Write)
  • s3:DeleteBucket (Write)
  • s3:DeleteBucketPolicy (Permissions management)
  • s3:DeleteBucketWebsite (Write)
  • s3:GetAccelerateConfiguration (Read)
  • s3:GetBucketLocation (Read)
  • s3:GetBucketTagging (Read)
  • s3:ListAllMyBuckets (List)
  • s3:PutAccelerateConfiguration (Write)
  • s3:PutBucketAcl (Permissions management)
  • s3:PutBucketCORS (Write)
  • s3:PutBucketNotification (Write)
  • s3:PutBucketPolicy (Permissions management)
  • s3:PutBucketPublicAccessBlock (Permissions management)
  • s3:PutBucketTagging (Tagging)
  • s3:PutBucketVersioning (Write)
  • s3:PutBucketWebsite (Write)
  • s3:PutEncryptionConfiguration (Write)
  • s3:PutLifecycleConfiguration (Write)
SNS: 6 actions
  • sns:CreateSMSSandboxPhoneNumber (Write)
  • sns:DeleteSMSSandboxPhoneNumber (Write)
  • sns:GetSMSSandboxAccountStatus (Read)
  • sns:ListOriginationNumbers (List)
  • sns:ListSMSSandboxPhoneNumbers (List)
  • sns:VerifySMSSandboxPhoneNumber (Write)
SQS: 4 actions
  • sqs:CreateQueue (Write)
  • sqs:DeleteQueue (Write)
  • sqs:GetQueueAttributes (Read)
  • sqs:SetQueueAttributes (Permissions management)
Systems Manager: 6 actions
  • ssm:DeleteParameter (Write)
  • ssm:DeleteParameters (Write)
  • ssm:GetParameter (Read)
  • ssm:GetParameters (Read)
  • ssm:GetParametersByPath (Read)
  • ssm:PutParameter (Write)
STS: 1 actions
  • sts:AssumeRole (Write)

Data-plane actions (16)

By access level: 2 List, 1 Permissions management, 1 Read, 12 Write.

Data-plane actions by service
ServiceGrantedAccess levels and limitsGranted by
DynamoDB3 of 173 Write; 3 restricted, 3 conditionaldynamodb:DeleteItem, dynamodb:PutItem, dynamodb:UpdateItem
Kinesis1 of 51 Write; 1 restricted, 1 conditionalkinesis:PutRecords
Lambda1 of 141 Write; 0 restricted, 0 conditionallambda:InvokeFunction
PinpointAll 4 actions (see the Pinpoint page)4 Write; 0 restricted, 0 conditionalmobiletargeting:*
S37 of 252 List, 1 Permissions management, 1 Read, 3 Write; 0 restricted, 0 conditionals3:DeleteObject, s3:DeleteObjectVersion, s3:GetObject, s3:ListBucket, s3:ListBucketVersions, s3:PutObject, s3:PutObjectAcl
DynamoDB: 3 actions
  • dynamodb:DeleteItem (Write)
  • dynamodb:PutItem (Write)
  • dynamodb:UpdateItem (Write)
Kinesis: 1 actions
  • kinesis:PutRecords (Write)
Lambda: 1 actions
  • lambda:InvokeFunction (Write)
S3: 7 actions
  • s3:DeleteObject (Write)
  • s3:DeleteObjectVersion (Write)
  • s3:GetObject (Read)
  • s3:ListBucket (List)
  • s3:ListBucketVersions (List)
  • s3:PutObject (Write)
  • s3:PutObjectAcl (Permissions management)

Excluded and conditional actions

No patterns are excluded by NotAction or Deny statements.

Resource scope and attachment

Resource scope across granted actions: mixed.

Can be attached: Yes, to users, groups and roles.

Why this tier

  • Grants at least 80% of the write and permissions-management actions of: amplify (22 of 22), amplifybackend (22 of 22), amplifyuibuilder (14 of 14), geo (28 of 28), mobiletargeting (66 of 66).
  • Grants data-plane write actions on a data store on all resources without conditions.
  • Grants iam:PassRole on all resources without conditions.
  • Grants permissions-management actions on iam on all resources without conditions.
  • 2 granted write or permissions-management actions have no data-plane classification from AWS, so the data-plane rule cannot assess them.

Guidance

Practical scope

CloudFormation stack actions are allowed on stacks named amplify-*. A large statement allows IAM, AppSync, API Gateway, Cognito, Lambda, DynamoDB, S3, CloudFront, EventBridge, Kinesis and Elasticsearch actions on Resource "*" only when aws:CalledVia includes cloudformation.amazonaws.com. Another statement allows amplify:*, amplifybackend:*, amplifyuibuilder:*, mobiletargeting:* and sts:AssumeRole, together with Cognito, DynamoDB, Lambda, CloudFront, SNS, Lex, Polly and logging actions and a list of iam: role and policy actions including iam:CreateRole, iam:PassRole, iam:AttachRolePolicy and iam:PutRolePolicy, on all resources. Further statements allow S3 bucket and object actions, CloudFront, Lambda, Route 53 and SQS actions in statements named AmplifySSR*, geo:*, SSM parameter actions on parameter/amplify/*, and CloudWatch Logs actions on /aws/amplify/* log groups.

Use cases

  • Serve as the permissions for the Amplify-Backend Deployment service role. The AWS Amplify Hosting User Guide says that when you deploy a backend in the Amplify console you must create that service role, and IAM attaches this policy to it.
  • Give an IAM identity administrator-level permissions to create and manage Amplify backends, where that scope is intended.

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.
  • AWS managed policies might not grant least-privilege permissions for your specific use cases because they are available to all AWS customers. The AWS Amplify Hosting User Guide recommends reducing permissions further with customer managed policies specific to your use cases.

Security considerations

  • The AWS Amplify Hosting User Guide says the policy's IAM actions let identities create other identities with any permissions, which allows permissions escalation, and that the policy should be considered as powerful as the AdministratorAccess policy.
  • iam:PassRole is allowed on all resources. The User Guide says this is required to support Amazon Cognito user pools configuration.
  • The policy allows iam:CreateRole, iam:AttachRolePolicy, iam:PutRolePolicy and sts:AssumeRole on Resource "*" without a CalledVia condition.
  • 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 IAM identities (users, groups and roles). The AWS Amplify Hosting User Guide also says Amplify attaches this policy to a service role that allows Amplify to perform actions on your behalf. The reference page links to guidance on creating a permission set using AWS managed policies in IAM Identity Center. Treat it as administrator-level, as the User Guide advises.

Same service

Same domain

Frequently asked questions

When should I attach AdministratorAccess-Amplify?
The AWS Amplify Hosting User Guide says you can attach it to your IAM identities, and that Amplify attaches it to the Amplify-Backend Deployment service role you create when you deploy a backend in the Amplify console. Attach it to people only where administrator-level Amplify backend work is intended.
What does AdministratorAccess-Amplify grant?
It allows amplify:*, amplifybackend:*, amplifyuibuilder:*, mobiletargeting:* and geo:*, CloudFormation actions on amplify-* stacks, and actions across IAM, AppSync, API Gateway, Cognito, Lambda, DynamoDB, S3, CloudFront, EventBridge, Kinesis and related services (many only when called via CloudFormation), plus SSM parameters under parameter/amplify/* and logs under /aws/amplify/*.
What are the security risks of AdministratorAccess-Amplify?
The AWS Amplify Hosting User Guide warns that the IAM actions let identities create other identities with any permissions, allowing permissions escalation, and that the policy should be considered as powerful as AdministratorAccess. iam:PassRole applies to all resources. AWS managed policies do not grant least privilege permissions, and AWS updates to the policy affect every identity it is attached to.

Policy JSON

Download policy.json

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "CLICloudformationPolicy",
      "Effect": "Allow",
      "Action": [
        "cloudformation:CreateChangeSet",
        "cloudformation:CreateStack",
        "cloudformation:DeleteStack",
        "cloudformation:DescribeChangeSet",
        "cloudformation:DescribeStackEvents",
        "cloudformation:DescribeStackResource",
        "cloudformation:DescribeStackResources",
        "cloudformation:DescribeStacks",
        "cloudformation:ExecuteChangeSet",
        "cloudformation:GetTemplate",
        "cloudformation:UpdateStack",
        "cloudformation:ListStacks",
        "cloudformation:ListStackResources",
        "cloudformation:DeleteStackSet",
        "cloudformation:DescribeStackSet",
        "cloudformation:UpdateStackSet",
        "cloudformation:TagResource",
        "cloudformation:UntagResource"
      ],
      "Resource": [
        "arn:aws:cloudformation:*:*:stack/amplify-*"
      ]
    },
    {
      "Sid": "CLIManageviaCFNPolicy",
      "Effect": "Allow",
      "Action": [
        "iam:ListRoleTags",
        "iam:TagRole",
        "iam:AttachRolePolicy",
        "iam:CreatePolicy",
        "iam:DeletePolicy",
        "iam:DeleteRole",
        "iam:DeleteRolePolicy",
        "iam:DetachRolePolicy",
        "iam:PutRolePolicy",
        "iam:UntagRole",
        "iam:UpdateRole",
        "iam:GetRole",
        "iam:GetPolicy",
        "iam:GetRolePolicy",
        "iam:PassRole",
        "iam:ListPolicyVersions",
        "iam:CreatePolicyVersion",
        "iam:DeletePolicyVersion",
        "iam:CreateRole",
        "iam:ListRolePolicies",
        "iam:PutRolePermissionsBoundary",
        "iam:DeleteRolePermissionsBoundary",
        "appsync:CreateApiKey",
        "appsync:CreateDataSource",
        "appsync:CreateFunction",
        "appsync:CreateResolver",
        "appsync:CreateType",
        "appsync:DeleteApiKey",
        "appsync:DeleteDataSource",
        "appsync:DeleteFunction",
        "appsync:DeleteResolver",
        "appsync:DeleteType",
        "appsync:GetDataSource",
        "appsync:GetFunction",
        "appsync:GetIntrospectionSchema",
        "appsync:GetResolver",
        "appsync:GetSchemaCreationStatus",
        "appsync:GetType",
        "appsync:GraphQL",
        "appsync:ListApiKeys",
        "appsync:ListDataSources",
        "appsync:ListFunctions",
        "appsync:ListGraphqlApis",
        "appsync:ListResolvers",
        "appsync:ListResolversByFunction",
        "appsync:ListTypes",
        "appsync:StartSchemaCreation",
        "appsync:UntagResource",
        "appsync:UpdateApiKey",
        "appsync:UpdateDataSource",
        "appsync:UpdateFunction",
        "appsync:UpdateResolver",
        "appsync:UpdateType",
        "appsync:TagResource",
        "appsync:CreateGraphqlApi",
        "appsync:DeleteGraphqlApi",
        "appsync:GetGraphqlApi",
        "appsync:ListTagsForResource",
        "appsync:UpdateGraphqlApi",
        "apigateway:DELETE",
        "apigateway:GET",
        "apigateway:PATCH",
        "apigateway:POST",
        "apigateway:PUT",
        "cognito-idp:CreateUserPool",
        "cognito-identity:CreateIdentityPool",
        "cognito-identity:DeleteIdentityPool",
        "cognito-identity:DescribeIdentity",
        "cognito-identity:DescribeIdentityPool",
        "cognito-identity:SetIdentityPoolRoles",
        "cognito-identity:GetIdentityPoolRoles",
        "cognito-identity:UpdateIdentityPool",
        "cognito-idp:CreateUserPoolClient",
        "cognito-idp:DeleteUserPool",
        "cognito-idp:DeleteUserPoolClient",
        "cognito-idp:DescribeUserPool",
        "cognito-idp:DescribeUserPoolClient",
        "cognito-idp:ListTagsForResource",
        "cognito-idp:ListUserPoolClients",
        "cognito-idp:UpdateUserPoolClient",
        "cognito-idp:CreateGroup",
        "cognito-idp:DeleteGroup",
        "cognito-identity:TagResource",
        "cognito-idp:TagResource",
        "cognito-idp:UpdateUserPool",
        "cognito-idp:SetUserPoolMfaConfig",
        "lambda:AddPermission",
        "lambda:CreateFunction",
        "lambda:DeleteFunction",
        "lambda:GetFunction",
        "lambda:GetFunctionConfiguration",
        "lambda:InvokeAsync",
        "lambda:InvokeFunction",
        "lambda:RemovePermission",
        "lambda:UpdateFunctionCode",
        "lambda:UpdateFunctionConfiguration",
        "lambda:ListTags",
        "lambda:TagResource",
        "lambda:UntagResource",
        "lambda:AddLayerVersionPermission",
        "lambda:CreateEventSourceMapping",
        "lambda:DeleteEventSourceMapping",
        "lambda:DeleteLayerVersion",
        "lambda:GetEventSourceMapping",
        "lambda:GetLayerVersion",
        "lambda:ListEventSourceMappings",
        "lambda:ListLayerVersions",
        "lambda:PublishLayerVersion",
        "lambda:RemoveLayerVersionPermission",
        "lambda:UpdateEventSourceMapping",
        "dynamodb:CreateTable",
        "dynamodb:DeleteItem",
        "dynamodb:DeleteTable",
        "dynamodb:DescribeContinuousBackups",
        "dynamodb:DescribeTable",
        "dynamodb:DescribeTimeToLive",
        "dynamodb:ListStreams",
        "dynamodb:PutItem",
        "dynamodb:TagResource",
        "dynamodb:ListTagsOfResource",
        "dynamodb:UntagResource",
        "dynamodb:UpdateContinuousBackups",
        "dynamodb:UpdateItem",
        "dynamodb:UpdateTable",
        "dynamodb:UpdateTimeToLive",
        "s3:CreateBucket",
        "s3:ListBucket",
        "s3:PutBucketAcl",
        "s3:PutBucketCORS",
        "s3:PutBucketNotification",
        "s3:PutBucketPolicy",
        "s3:PutBucketWebsite",
        "s3:PutObjectAcl",
        "cloudfront:CreateCloudFrontOriginAccessIdentity",
        "cloudfront:CreateDistribution",
        "cloudfront:DeleteCloudFrontOriginAccessIdentity",
        "cloudfront:DeleteDistribution",
        "cloudfront:GetCloudFrontOriginAccessIdentity",
        "cloudfront:GetCloudFrontOriginAccessIdentityConfig",
        "cloudfront:GetDistribution",
        "cloudfront:GetDistributionConfig",
        "cloudfront:TagResource",
        "cloudfront:UntagResource",
        "cloudfront:UpdateCloudFrontOriginAccessIdentity",
        "cloudfront:UpdateDistribution",
        "events:DeleteRule",
        "events:DescribeRule",
        "events:ListRuleNamesByTarget",
        "events:PutRule",
        "events:PutTargets",
        "events:RemoveTargets",
        "mobiletargeting:GetApp",
        "kinesis:AddTagsToStream",
        "kinesis:CreateStream",
        "kinesis:DeleteStream",
        "kinesis:DescribeStream",
        "kinesis:DescribeStreamSummary",
        "kinesis:ListTagsForStream",
        "kinesis:PutRecords",
        "es:AddTags",
        "es:CreateElasticsearchDomain",
        "es:DeleteElasticsearchDomain",
        "es:DescribeElasticsearchDomain",
        "es:UpdateElasticsearchDomainConfig",
        "s3:PutEncryptionConfiguration",
        "s3:PutBucketPublicAccessBlock"
      ],
      "Resource": "*",
      "Condition": {
        "ForAnyValue:StringEquals": {
          "aws:CalledVia": [
            "cloudformation.amazonaws.com"
          ]
        }
      }
    },
    {
      "Sid": "CLISDKCalls",
      "Effect": "Allow",
      "Action": [
        "appsync:GetIntrospectionSchema",
        "appsync:GraphQL",
        "appsync:UpdateApiKey",
        "appsync:ListApiKeys",
        "amplify:*",
        "amplifybackend:*",
        "amplifyuibuilder:*",
        "sts:AssumeRole",
        "mobiletargeting:*",
        "cognito-idp:AdminAddUserToGroup",
        "cognito-idp:AdminCreateUser",
        "cognito-idp:CreateGroup",
        "cognito-idp:DeleteGroup",
        "cognito-idp:DeleteUser",
        "cognito-idp:ListUsers",
        "cognito-idp:AdminGetUser",
        "cognito-idp:ListUsersInGroup",
        "cognito-idp:AdminDisableUser",
        "cognito-idp:AdminRemoveUserFromGroup",
        "cognito-idp:AdminResetUserPassword",
        "cognito-idp:AdminListGroupsForUser",
        "cognito-idp:ListGroups",
        "cognito-idp:AdminListUserAuthEvents",
        "cognito-idp:AdminDeleteUser",
        "cognito-idp:AdminConfirmSignUp",
        "cognito-idp:AdminEnableUser",
        "cognito-idp:AdminUpdateUserAttributes",
        "cognito-idp:DescribeIdentityProvider",
        "cognito-idp:DescribeUserPool",
        "cognito-idp:DeleteUserPool",
        "cognito-idp:DescribeUserPoolClient",
        "cognito-idp:CreateUserPool",
        "cognito-idp:CreateUserPoolClient",
        "cognito-idp:UpdateUserPool",
        "cognito-idp:AdminSetUserPassword",
        "cognito-idp:ListUserPools",
        "cognito-idp:ListUserPoolClients",
        "cognito-idp:ListIdentityProviders",
        "cognito-idp:GetUserPoolMfaConfig",
        "cognito-identity:GetIdentityPoolRoles",
        "cognito-identity:SetIdentityPoolRoles",
        "cognito-identity:CreateIdentityPool",
        "cognito-identity:DeleteIdentityPool",
        "cognito-identity:ListIdentityPools",
        "cognito-identity:DescribeIdentityPool",
        "dynamodb:DescribeTable",
        "dynamodb:ListTables",
        "lambda:GetFunction",
        "lambda:CreateFunction",
        "lambda:AddPermission",
        "lambda:DeleteFunction",
        "lambda:DeleteLayerVersion",
        "lambda:InvokeFunction",
        "lambda:ListLayerVersions",
        "iam:PutRolePolicy",
        "iam:CreatePolicy",
        "iam:AttachRolePolicy",
        "iam:ListPolicyVersions",
        "iam:ListAttachedRolePolicies",
        "iam:CreateRole",
        "iam:PassRole",
        "iam:ListRolePolicies",
        "iam:DeleteRolePolicy",
        "iam:CreatePolicyVersion",
        "iam:DeletePolicyVersion",
        "iam:DeleteRole",
        "iam:DetachRolePolicy",
        "cloudformation:ListStacks",
        "cloudformation:DescribeStacks",
        "sns:CreateSMSSandboxPhoneNumber",
        "sns:GetSMSSandboxAccountStatus",
        "sns:VerifySMSSandboxPhoneNumber",
        "sns:DeleteSMSSandboxPhoneNumber",
        "sns:ListSMSSandboxPhoneNumbers",
        "sns:ListOriginationNumbers",
        "rekognition:DescribeCollection",
        "logs:DescribeLogStreams",
        "logs:GetLogEvents",
        "lex:GetBot",
        "lex:GetBuiltinIntent",
        "lex:GetBuiltinIntents",
        "lex:GetBuiltinSlotTypes",
        "cloudformation:GetTemplateSummary",
        "codecommit:GitPull",
        "cloudfront:GetCloudFrontOriginAccessIdentity",
        "cloudfront:GetCloudFrontOriginAccessIdentityConfig",
        "polly:DescribeVoices"
      ],
      "Resource": "*"
    },
    {
      "Sid": "AmplifySSMCalls",
      "Effect": "Allow",
      "Action": [
        "ssm:PutParameter",
        "ssm:DeleteParameter",
        "ssm:GetParametersByPath",
        "ssm:GetParameters",
        "ssm:GetParameter",
        "ssm:DeleteParameters"
      ],
      "Resource": "arn:aws:ssm:*:*:parameter/amplify/*"
    },
    {
      "Sid": "GeoPowerUser",
      "Effect": "Allow",
      "Action": [
        "geo:*"
      ],
      "Resource": "*"
    },
    {
      "Sid": "AmplifyEcrSDKCalls",
      "Effect": "Allow",
      "Action": [
        "ecr:DescribeRepositories"
      ],
      "Resource": "*"
    },
    {
      "Sid": "AmplifyStorageSDKCalls",
      "Effect": "Allow",
      "Action": [
        "s3:CreateBucket",
        "s3:DeleteBucket",
        "s3:DeleteBucketPolicy",
        "s3:DeleteBucketWebsite",
        "s3:DeleteObject",
        "s3:DeleteObjectVersion",
        "s3:GetBucketLocation",
        "s3:GetObject",
        "s3:ListAllMyBuckets",
        "s3:ListBucket",
        "s3:ListBucketVersions",
        "s3:PutBucketAcl",
        "s3:PutBucketCORS",
        "s3:PutBucketNotification",
        "s3:PutBucketPolicy",
        "s3:PutBucketVersioning",
        "s3:PutBucketWebsite",
        "s3:PutEncryptionConfiguration",
        "s3:PutLifecycleConfiguration",
        "s3:PutObject",
        "s3:PutObjectAcl"
      ],
      "Resource": "*"
    },
    {
      "Sid": "AmplifySSRCalls",
      "Effect": "Allow",
      "Action": [
        "cloudfront:CreateCloudFrontOriginAccessIdentity",
        "cloudfront:CreateDistribution",
        "cloudfront:CreateInvalidation",
        "cloudfront:GetDistribution",
        "cloudfront:GetDistributionConfig",
        "cloudfront:ListCloudFrontOriginAccessIdentities",
        "cloudfront:ListDistributions",
        "cloudfront:ListDistributionsByLambdaFunction",
        "cloudfront:ListDistributionsByWebACLId",
        "cloudfront:ListFieldLevelEncryptionConfigs",
        "cloudfront:ListFieldLevelEncryptionProfiles",
        "cloudfront:ListInvalidations",
        "cloudfront:ListPublicKeys",
        "cloudfront:ListStreamingDistributions",
        "cloudfront:UpdateDistribution",
        "cloudfront:TagResource",
        "cloudfront:UntagResource",
        "cloudfront:ListTagsForResource",
        "cloudfront:DeleteDistribution",
        "iam:AttachRolePolicy",
        "iam:CreateRole",
        "iam:CreateServiceLinkedRole",
        "iam:GetRole",
        "iam:PutRolePolicy",
        "iam:PassRole",
        "lambda:CreateFunction",
        "lambda:EnableReplication",
        "lambda:DeleteFunction",
        "lambda:GetFunction",
        "lambda:GetFunctionConfiguration",
        "lambda:PublishVersion",
        "lambda:UpdateFunctionCode",
        "lambda:UpdateFunctionConfiguration",
        "lambda:ListTags",
        "lambda:TagResource",
        "lambda:UntagResource",
        "route53:ChangeResourceRecordSets",
        "route53:ListHostedZonesByName",
        "route53:ListResourceRecordSets",
        "s3:CreateBucket",
        "s3:GetAccelerateConfiguration",
        "s3:GetObject",
        "s3:ListBucket",
        "s3:PutAccelerateConfiguration",
        "s3:PutBucketPolicy",
        "s3:PutObject",
        "s3:PutBucketTagging",
        "s3:GetBucketTagging",
        "lambda:ListEventSourceMappings",
        "lambda:CreateEventSourceMapping",
        "iam:UpdateAssumeRolePolicy",
        "iam:DeleteRolePolicy",
        "sqs:CreateQueue",
        "sqs:DeleteQueue",
        "sqs:GetQueueAttributes",
        "sqs:SetQueueAttributes",
        "amplify:GetApp",
        "amplify:GetBranch",
        "amplify:UpdateApp",
        "amplify:UpdateBranch"
      ],
      "Resource": "*"
    },
    {
      "Sid": "AmplifySSRViewLogGroups",
      "Effect": "Allow",
      "Action": "logs:DescribeLogGroups",
      "Resource": "arn:aws:logs:*:*:log-group:*"
    },
    {
      "Sid": "AmplifySSRCreateLogGroup",
      "Effect": "Allow",
      "Action": "logs:CreateLogGroup",
      "Resource": "arn:aws:logs:*:*:log-group:/aws/amplify/*"
    },
    {
      "Sid": "AmplifySSRPushLogs",
      "Effect": "Allow",
      "Action": [
        "logs:CreateLogStream",
        "logs:PutLogEvents"
      ],
      "Resource": "arn:aws:logs:*:*:log-group:/aws/amplify/*:log-stream:*"
    }
  ]
}

Version history

Current version v12, edited by AWS on 2024-04-04. 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/AdministratorAccess-Amplify
aws iam attach-user-policy --user-name USER_NAME --policy-arn arn:aws:iam::aws:policy/AdministratorAccess-Amplify
aws iam attach-group-policy --group-name GROUP_NAME --policy-arn arn:aws:iam::aws:policy/AdministratorAccess-Amplify

CloudFormation

Resources:
  ExampleRole:
    Type: AWS::IAM::Role
    Properties:
      AssumeRolePolicyDocument: {}  # replace with your trust policy
      ManagedPolicyArns:
        - arn:aws:iam::aws:policy/AdministratorAccess-Amplify

Terraform

resource "aws_iam_role_policy_attachment" "administratoraccess_amplify" {
  role       = aws_iam_role.example.name
  policy_arn = "arn:aws:iam::aws:policy/AdministratorAccess-Amplify"
}

CDK (TypeScript)

role.addManagedPolicy(
  iam.ManagedPolicy.fromAwsManagedPolicyName("AdministratorAccess-Amplify"),
);

Sources