AdministratorAccess-Amplify
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.
| Service | Granted | Access levels and limits | Granted by |
|---|---|---|---|
| Amplify | All 41 actions (see the Amplify page) | 8 List, 9 Read, 2 Tagging, 22 Write; 0 restricted, 0 conditional | amplify:*, amplify:GetApp, amplify:GetBranch, amplify:UpdateApp, amplify:UpdateBranch |
| Amplify Admin | All 31 actions (see the Amplify Admin page) | 2 List, 7 Read, 22 Write; 0 restricted, 0 conditional | amplifybackend:* |
| Amplify UI Builder | All 29 actions (see the Amplify UI Builder page) | 5 List, 8 Read, 2 Tagging, 14 Write; 0 restricted, 0 conditional | amplifyuibuilder:* |
| API Gateway | 5 of 44 | 1 Read, 4 Write; 5 restricted, 5 conditional | apigateway:DELETE, apigateway:GET, apigateway:PATCH, apigateway:POST, apigateway:PUT |
| AppSync | 37 of 87 | 7 List, 8 Read, 2 Tagging, 20 Write; 33 restricted, 33 conditional | appsync: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 |
| CloudFormation | 19 of 104 | 3 List, 7 Read, 2 Tagging, 7 Write; 16 restricted, 0 conditional | cloudformation: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 |
| CloudFront | 23 of 173 | 9 List, 5 Read, 2 Tagging, 7 Write; 2 restricted, 2 conditional | cloudfront: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 |
| CodeCommit | 1 of 91 | 1 Read; 0 restricted, 0 conditional | codecommit:GitPull |
| Cognito Identity | 9 of 21 | 1 List, 3 Read, 1 Tagging, 4 Write; 3 restricted, 3 conditional | cognito-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 Pools | 35 of 139 | 8 List, 6 Read, 1 Tagging, 20 Write; 5 restricted, 5 conditional | cognito-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 |
| DynamoDB | 13 of 68 | 1 List, 5 Read, 2 Tagging, 5 Write; 11 restricted, 11 conditional | dynamodb: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 Registry | 1 of 65 | 1 Read; 0 restricted, 0 conditional | ecr:DescribeRepositories |
| OpenSearch Service | 5 of 138 | 1 Read, 1 Tagging, 3 Write; 5 restricted, 5 conditional | es:AddTags, es:CreateElasticsearchDomain, es:DeleteElasticsearchDomain, es:DescribeElasticsearchDomain, es:UpdateElasticsearchDomainConfig |
| EventBridge | 6 of 71 | 1 List, 1 Read, 4 Write; 6 restricted, 6 conditional | events:DeleteRule, events:DescribeRule, events:ListRuleNamesByTarget, events:PutRule, events:PutTargets, events:RemoveTargets |
| Location | All 64 actions (see the Location page) | 7 List, 27 Read, 2 Tagging, 28 Write; 0 restricted, 0 conditional | geo:* |
| IAM | 25 of 190 | 4 List, 11 Permissions management, 3 Read, 2 Tagging, 5 Write; 9 restricted, 9 conditional | iam: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 |
| Kinesis | 6 of 42 | 3 Read, 1 Tagging, 2 Write; 6 restricted, 6 conditional | kinesis:AddTagsToStream, kinesis:CreateStream, kinesis:DeleteStream, kinesis:DescribeStream, kinesis:DescribeStreamSummary, kinesis:ListTagsForStream |
| Lambda | 25 of 121 | 2 List, 5 Permissions management, 5 Read, 2 Tagging, 11 Write; 9 restricted, 9 conditional | lambda: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 |
| Lex | 4 of 146 | 4 Read; 0 restricted, 0 conditional | lex:GetBot, lex:GetBuiltinIntent, lex:GetBuiltinIntents, lex:GetBuiltinSlotTypes |
| CloudWatch Logs | 6 of 133 | 2 List, 1 Read, 3 Write; 4 restricted, 0 conditional | logs:CreateLogGroup, logs:CreateLogStream, logs:DescribeLogGroups, logs:DescribeLogStreams, logs:GetLogEvents, logs:PutLogEvents |
| Pinpoint | All 119 actions (see the Pinpoint page) | 16 List, 39 Read, 2 Tagging, 62 Write; 0 restricted, 0 conditional | mobiletargeting:*, mobiletargeting:GetApp |
| Polly | 1 of 13 | 1 List; 0 restricted, 0 conditional | polly:DescribeVoices |
| Rekognition | 1 of 76 | 1 Read; 0 restricted, 0 conditional | rekognition:DescribeCollection |
| Route 53 | 3 of 71 | 2 List, 1 Write; 0 restricted, 0 conditional | route53:ChangeResourceRecordSets, route53:ListHostedZonesByName, route53:ListResourceRecordSets |
| S3 | 19 of 155 | 1 List, 4 Permissions management, 3 Read, 1 Tagging, 10 Write; 1 restricted, 1 conditional | s3: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 |
| SNS | 6 of 40 | 2 List, 1 Read, 3 Write; 0 restricted, 0 conditional | sns:CreateSMSSandboxPhoneNumber, sns:DeleteSMSSandboxPhoneNumber, sns:GetSMSSandboxAccountStatus, sns:ListOriginationNumbers, sns:ListSMSSandboxPhoneNumbers, sns:VerifySMSSandboxPhoneNumber |
| SQS | 4 of 20 | 1 Permissions management, 1 Read, 2 Write; 0 restricted, 0 conditional | sqs:CreateQueue, sqs:DeleteQueue, sqs:GetQueueAttributes, sqs:SetQueueAttributes |
| Systems Manager | 6 of 164 | 3 Read, 3 Write; 6 restricted, 0 conditional | ssm:DeleteParameter, ssm:DeleteParameters, ssm:GetParameter, ssm:GetParameters, ssm:GetParametersByPath, ssm:PutParameter |
| STS | 1 of 16 | 1 Write; 0 restricted, 0 conditional | sts: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.
| Service | Granted | Access levels and limits | Granted by |
|---|---|---|---|
| DynamoDB | 3 of 17 | 3 Write; 3 restricted, 3 conditional | dynamodb:DeleteItem, dynamodb:PutItem, dynamodb:UpdateItem |
| Kinesis | 1 of 5 | 1 Write; 1 restricted, 1 conditional | kinesis:PutRecords |
| Lambda | 1 of 14 | 1 Write; 0 restricted, 0 conditional | lambda:InvokeFunction |
| Pinpoint | All 4 actions (see the Pinpoint page) | 4 Write; 0 restricted, 0 conditional | mobiletargeting:* |
| S3 | 7 of 25 | 2 List, 1 Permissions management, 1 Read, 3 Write; 0 restricted, 0 conditional | s3: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.
Related policies
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
{
"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-AmplifyCloudFormation
Resources:
ExampleRole:
Type: AWS::IAM::Role
Properties:
AssumeRolePolicyDocument: {} # replace with your trust policy
ManagedPolicyArns:
- arn:aws:iam::aws:policy/AdministratorAccess-AmplifyTerraform
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
- AdministratorAccess-Amplify (AWS Managed Policy Reference Guide) (retrieved ; supports summary, practicalScope, securityConsiderations, assignmentGuidance, faqs)
- AWS managed policies for AWS Amplify (AWS Amplify Hosting User Guide) (retrieved ; supports summary, useCases, bestPractices, 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)