Skip to main content
IAM Policy Map

AmazonS3FullAccess

High privilegeAdminAWS managedActiveReviewedShow on mapCompare

Summary

Provides full access to all buckets via the AWS Management Console. The policy allows s3:* and s3-object-lambda:* on all resources.

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

Identity

ARN
arn:aws:iam::aws:policy/AmazonS3FullAccess
Default version
v2
Created
Last edited
Services
s3, s3-object-lambda

Control-plane actions (181)

By access level: 19 List, 26 Permissions management, 66 Read, 12 Tagging, 58 Write.

Control-plane actions by service
ServiceGrantedAccess levels and limitsGranted by
S3All 155 actions (see the S3 page)15 List, 24 Permissions management, 58 Read, 8 Tagging, 50 Write; 0 restricted, 0 conditionals3:*
S3 Object LambdaAll 26 actions (see the S3 Object Lambda page)4 List, 2 Permissions management, 8 Read, 4 Tagging, 8 Write; 0 restricted, 0 conditionals3-object-lambda:*

Data-plane actions (25)

By access level: 3 List, 3 Permissions management, 8 Read, 4 Tagging, 7 Write.

Data-plane actions by service
ServiceGrantedAccess levels and limitsGranted by
S3All 25 actions (see the S3 page)3 List, 3 Permissions management, 8 Read, 4 Tagging, 7 Write; 0 restricted, 0 conditionals3:*

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: s3 (84 of 84), s3-object-lambda (10 of 10).
  • Grants data-plane write actions on a data store on all resources without conditions.
  • 28 granted write or permissions-management actions have no data-plane classification from AWS, so the data-plane rule cannot assess them.

Guidance

Practical scope

The policy's Resource is "*", so it applies to every bucket and S3 Object Lambda resource the identity can reach. Its actions are the wildcards s3:* and s3-object-lambda:*, so it is not limited to reads.

Use cases

  • Give users, groups or roles full access to Amazon S3, including S3 Object Lambda.

Best practices

  • AWS managed policies might not grant least-privilege permissions for your use case. AWS recommends reducing permissions further with customer managed policies specific to your use cases.

Security considerations

  • s3:* and s3-object-lambda:* on Resource "*" allow every S3 and S3 Object Lambda action on all resources, not only reads.
  • You cannot change the permissions in an AWS managed policy. When AWS updates it, the change affects every user, group and role it is attached to. Amazon S3 added S3 Object Lambda permissions to AmazonS3FullAccess on September 27, 2021.

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. It fits where full access to Amazon S3 as a whole is intended. Where a narrower scope is needed, AWS recommends a customer managed policy specific to the use case.

Same service

Same domain

Frequently asked questions

When should I attach AmazonS3FullAccess?
Attach it to identities that should have full access to Amazon S3 as a whole. The Amazon S3 User Guide says you can attach it to your IAM identities and that it grants permissions that allow full access to Amazon S3. If you need less, AWS recommends a customer managed policy specific to your use case.
What does AmazonS3FullAccess grant?
It allows s3:* and s3-object-lambda:* on all resources. AWS describes it as providing full access to all buckets via the AWS Management Console. Amazon S3 added the S3 Object Lambda permissions on September 27, 2021.
What are the security risks of AmazonS3FullAccess?
s3:* and s3-object-lambda:* on all resources allow every S3 and S3 Object Lambda action, not only reads. AWS managed policies might not grant least-privilege permissions for your use case, and AWS recommends reducing permissions further with customer managed policies. You cannot change the policy, and AWS updates to it affect every identity it is attached to.

Policy JSON

Download policy.json

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "s3:*",
        "s3-object-lambda:*"
      ],
      "Resource": "*"
    }
  ]
}

Version history

Current version v2, edited by AWS on 2021-09-27. 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/AmazonS3FullAccess
aws iam attach-user-policy --user-name USER_NAME --policy-arn arn:aws:iam::aws:policy/AmazonS3FullAccess
aws iam attach-group-policy --group-name GROUP_NAME --policy-arn arn:aws:iam::aws:policy/AmazonS3FullAccess

CloudFormation

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

Terraform

resource "aws_iam_role_policy_attachment" "amazons3fullaccess" {
  role       = aws_iam_role.example.name
  policy_arn = "arn:aws:iam::aws:policy/AmazonS3FullAccess"
}

CDK (TypeScript)

role.addManagedPolicy(
  iam.ManagedPolicy.fromAwsManagedPolicyName("AmazonS3FullAccess"),
);

Sources