put-object-acl

This command uses the acl subresource to set the access control list (ACL) permissions for an object that already exists in a bucket.

See also: AWS API Documentation.

Synopsis

put-object-acl
  [--acl <value>]
  [--access-control-policy <value>]
  --bucket <value>
  [--content-md5 <value>]
  [--grant-full-control <value>]
  [--grant-read <value>]
  [--grant-read-acp <value>]
  [--grant-write <value>]
  [--grant-write-acp <value>]
  --key <value>
  [--version-id <value>]
  [--cli-input-json <value>]

Options

--acl (string)

The canned ACL to apply to the object.

Possible values:

  • private
  • public-read
  • public-read-write
  • authenticated-read
  • aws-exec-read
  • bucket-owner-read
  • bucket-owner-full-control

--access-control-policy (structure)

Contains the elements that set the ACL permissions for an object per grantee.

JSON Syntax:

{
  "Grants": [
    {
      "Grantee": {
        "DisplayName": "string",
        "EmailAddress": "string",
        "ID": "string",
        "Type": "CanonicalUser"|"UserByEmail"|"Group",
        "URI": "string"
      },
      "Permission": "FULL_CONTROL"|"WRITE"|"WRITE_ACP"|"READ"|"READ_ACP"
    }
    ...
  ],
  "Owner": {
    "DisplayName": "string",
    "ID": "string"
  }
}

--bucket (string)

--content-md5 (string)

--grant-full-control (string)

Allows grantee the read, write, read ACP, and write ACP permissions on the bucket.

--grant-read (string)

Allows grantee to list the objects in the bucket.

--grant-read-acp (string)

Allows grantee to read the bucket ACL.

--grant-write (string)

Allows grantee to create, overwrite, and delete any object in the bucket.

--grant-write-acp (string)

Allows grantee to write the ACL for the applicable bucket.

--key (string)

Possible values:

  • requester

--version-id (string)

VersionId used to reference a specific version of the object.

--cli-input-json (string)

Operates a service or services based on the provided JSON string. If other arguments are provided on the command line, the CLI values override the JSON-provided values. You cannot pass arbitrary binary values using a JSON-provided value, because the string is taken literally.

Examples

The following command grants full control to two users (user1@example.com and user2@example.com) and read permission to everyone

$ aws s3api put-object-acl --bucket MyBucket --key file.txt --grant-full-control emailaddress=user1@example.com,emailaddress=user2@example.com --grant-read uri=http://acs.amazonaws.com/groups/global/AllUsers

See http://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTacl.html for details on custom ACLs (the s3api ACL commands, such as put-object-acl, use the same shorthand argument notation).

Output

None