Class AWS::S3::ACL::Policy
In: lib/aws/s3/acl.rb
Parent: Object

The ACL::Policy class lets you inspect and modify access controls for buckets and objects. A policy is made up of one or more Grants which specify a permission and a Grantee to whom that permission is granted.

Buckets and objects are given a default access policy which contains one grant permitting the owner of the bucket or object FULL_CONTROL over its contents. This means they can read the object, write to the object, as well as read and write its policy.

The acl method for both buckets and objects returns the policy object for that entity:

  policy = Bucket.acl('some-bucket')

The grants method of a policy exposes its grants. You can treat this collection as an array and push new grants onto it:

  policy.grants << grant

Check the documentation for Grant and Grantee for more details on how to create new grants.

Methods

new   to_xml  

Included Modules

SelectiveAttributeProxy

Attributes

grants  [RW] 
owner  [RW] 

Public Class methods

[Source]

     # File lib/aws/s3/acl.rb, line 123
123:         def initialize(attributes = {})
124:           @attributes = attributes
125:           @grants     = [].extend(GrantListExtensions)
126:           extract_owner!  if owner?
127:           extract_grants! if grants?
128:         end

Public Instance methods

The xml representation of the policy.

[Source]

     # File lib/aws/s3/acl.rb, line 131
131:         def to_xml
132:           Builder.new(owner, grants).to_s
133:         end

[Validate]