Configuring an Object ACL

You can set the permissions for other users to access and manage your objects by using an Access Control List (ACL).

The users to whom you share your objects can also download them. For more information, see Access Control List (ACL) Reference.

You can set the ACL for the current version of an object, or one or more of its versions. This enables you to hide or to share a former version with other users.

You need to specify the ACL individually for each object contained in your bucket.

Configuring an Object ACL Using AWS CLI

To set the ACL for an object, use the put-object-acl command following this syntax:

Request sample
$ aws s3api put-object-acl \
    --bucket BUCKET \
    --key OBJECT \
    --acl private \
    --grant-full-control "id=USER_ID, id=USER_ID" \
    --grant-read "id=USER_ID, id=USER_ID" \
    --grant-read-acp "id=USER_ID, id=USER_ID" \
    --grant-write "id=USER_ID, id=USER_ID" \
    --grant-write-acp "id=USER_ID, id=USER_ID" \
    --version-id qAfAAsAAuA00kclkg0A0AAuAAjaAtA. \

This command contains the following attributes that you need to specify:

  • (optional) profile: The named profile you want to use, created when configuring AWS CLI. For more information, see Installing and Configuring AWS CLI.

  • bucket: The name of the bucket in which the object is stored.

  • key: The name of the object in the bucket.

    • When specifying new permissions, all the previous permissions are replaced. Therefore, you need to specify both the existing permissions that you want to keep (including for yourself) and the new permissions that you want to give in a single command.

    • If you are the owner of the bucket, you can lose your own permissions but not the ability to manage the ACL itself.

    For more information about existing permissions, see Getting Information About a Bucket ACL and Getting Information About an Object ACL.

  • (optional) acl: The permissions you grant for your object (private | public-read | public-read-write | authenticated-read | bucket-owner-read | bucket-owner-full-control).

  • (optional) grant-full-control: One or more IDs of users to whom you grant the full-control permission.

  • (optional) grant-read: One or more IDs of users to whom you grant the read permission.

  • (optional) grant-read-acp: One or more IDs of users to whom you grant the read-acp permission.

  • (optional) grant-write: One or more IDs of users to whom you grant the write permission.

  • (optional) grant-write-acp: One or more IDs of users to whom you grant the write-acp permission.

  • (optional) version-id: The version ID of a previous or of the current version of the object.

  • endpoint: The endpoint corresponding to the Region you want to send the request to.

The ACL is set for the object.

Related Pages

AWS™ and Amazon Web Services™ are trademarks of Amazon Technologies, Inc or its affiliates in the United States and/or other countries.