Class: AWS::S3::ACL::Policy
- Includes:
- SelectiveAttributeProxy
- Defined in:
- lib/aws/s3/acl.rb,
lib/aws/s3/response.rb
Overview
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.
Defined Under Namespace
Modules: GrantListExtensions Classes: Builder, Response
Instance Attribute Summary collapse
-
#grants ⇒ Object
Returns the value of attribute grants.
-
#owner ⇒ Object
Returns the value of attribute owner.
Instance Method Summary collapse
-
#initialize(attributes = {}) ⇒ Policy
constructor
A new instance of Policy.
-
#to_xml ⇒ Object
The xml representation of the policy.
Methods included from SelectiveAttributeProxy
Constructor Details
#initialize(attributes = {}) ⇒ Policy
Returns a new instance of Policy.
123 124 125 126 127 128 |
# File 'lib/aws/s3/acl.rb', line 123 def initialize(attributes = {}) @attributes = attributes @grants = [].extend(GrantListExtensions) extract_owner! if owner? extract_grants! if grants? end |