OLD | NEW |
1 # -*- coding: utf-8 -*- | 1 # -*- coding: utf-8 -*- |
2 # Copyright 2012 Google Inc. All Rights Reserved. | 2 # Copyright 2012 Google Inc. All Rights Reserved. |
3 # | 3 # |
4 # Licensed under the Apache License, Version 2.0 (the "License"); | 4 # Licensed under the Apache License, Version 2.0 (the "License"); |
5 # you may not use this file except in compliance with the License. | 5 # you may not use this file except in compliance with the License. |
6 # You may obtain a copy of the License at | 6 # You may obtain a copy of the License at |
7 # | 7 # |
8 # http://www.apache.org/licenses/LICENSE-2.0 | 8 # http://www.apache.org/licenses/LICENSE-2.0 |
9 # | 9 # |
10 # Unless required by applicable law or agreed to in writing, software | 10 # Unless required by applicable law or agreed to in writing, software |
(...skipping 16 matching lines...) Expand all Loading... |
27 -a option), objects will be created with a default object ACL set on the | 27 -a option), objects will be created with a default object ACL set on the |
28 bucket (see "gsutil help defacl"). You can replace the ACL on an object | 28 bucket (see "gsutil help defacl"). You can replace the ACL on an object |
29 or bucket using the "gsutil acl set" command, or | 29 or bucket using the "gsutil acl set" command, or |
30 modify the existing ACL using the "gsutil acl ch" command (see "gsutil help | 30 modify the existing ACL using the "gsutil acl ch" command (see "gsutil help |
31 acl"). | 31 acl"). |
32 | 32 |
33 | 33 |
34 <B>BUCKET VS OBJECT ACLS</B> | 34 <B>BUCKET VS OBJECT ACLS</B> |
35 In Google Cloud Storage, the bucket ACL works as follows: | 35 In Google Cloud Storage, the bucket ACL works as follows: |
36 | 36 |
37 - Users granted READ access are allowed to list the bucket contents. | 37 - Users granted READ access are allowed to list the bucket contents and read |
| 38 bucket metadata other than its ACL. |
38 | 39 |
39 - Users granted WRITE access are allowed READ access and also are | 40 - Users granted WRITE access are allowed READ access and also are allowed to |
40 allowed to write and delete objects in that bucket -- including | 41 write and delete objects in that bucket, including overwriting previously |
41 overwriting previously written objects. | 42 written objects. |
42 | 43 |
43 - Users granted OWNER access are allowed WRITE access and also | 44 - Users granted OWNER access are allowed WRITE access and also are allowed to |
44 are allowed to read and write the bucket's ACL. | 45 read and write the bucket's ACL. |
45 | 46 |
46 The object ACL works as follows: | 47 The object ACL works as follows: |
47 | 48 |
48 - Users granted READ access are allowed to read the object's data and | 49 - Users granted READ access are allowed to read the object's data and |
49 metadata. | 50 metadata. |
50 | 51 |
51 - Users granted OWNER access are allowed READ access and also | 52 - Users granted OWNER access are allowed READ access and also are allowed to |
52 are allowed to read and write the object's ACL. | 53 read and write the object's ACL. |
53 | 54 |
54 A couple of points are worth noting, that sometimes surprise users: | 55 A couple of points are worth noting, that sometimes surprise users: |
55 | 56 |
56 1. There is no WRITE access for objects; attempting to set an ACL with WRITE | 57 1. There is no WRITE access for objects; attempting to set an ACL with WRITE |
57 permission for an object will result in an error. | 58 permission for an object will result in an error. |
58 | 59 |
59 2. The bucket ACL plays no role in determining who can read objects; only the | 60 2. The bucket ACL plays no role in determining who can read objects; only the |
60 object ACL matters for that purpose. This is different from how things | 61 object ACL matters for that purpose. This is different from how things |
61 work in Linux file systems, where both the file and directory permission | 62 work in Linux file systems, where both the file and directory permission |
62 control file read access. It also means, for example, that someone with | 63 control file read access. It also means, for example, that someone with |
63 OWNER over the bucket may not have read access to objects in | 64 OWNER over the bucket may not have read access to objects in the bucket. |
64 the bucket. This is by design, and supports useful cases. For example, | 65 This is by design, and supports useful cases. For example, you might want |
65 you might want to set up bucket ownership so that a small group of | 66 to set up bucket ownership so that a small group of administrators have |
66 administrators have OWNER on the bucket (with the ability to | 67 OWNER on the bucket (with the ability to delete data to control storage |
67 delete data to control storage costs), but not grant those users read | 68 costs), but not grant those users read access to the object data (which |
68 access to the object data (which might be sensitive data that should | 69 might be sensitive data that should only be accessed by a different |
69 only be accessed by a different specific group of users). | 70 specific group of users). |
70 | 71 |
71 | 72 |
72 <B>CANNED ACLS</B> | 73 <B>CANNED ACLS</B> |
73 The simplest way to set an ACL on a bucket or object is using a "canned | 74 The simplest way to set an ACL on a bucket or object is using a "canned |
74 ACL". The available canned ACLs are: | 75 ACL". The available canned ACLs are: |
75 | 76 |
76 project-private | 77 project-private |
77 Gives permission to the project team based on their roles. Anyone who is | 78 Gives permission to the project team based on their roles. Anyone who is |
78 part of the team has READ permission, and project owners and project editors | 79 part of the team has READ permission, and project owners and project editors |
79 have OWNER permission. This is the default ACL for newly created | 80 have OWNER permission. This is the default ACL for newly created |
(...skipping 132 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
212 help_spec = HelpProvider.HelpSpec( | 213 help_spec = HelpProvider.HelpSpec( |
213 help_name='acls', | 214 help_name='acls', |
214 help_name_aliases=[ | 215 help_name_aliases=[ |
215 'ACL', 'access control', 'access control list', 'authorization', | 216 'ACL', 'access control', 'access control list', 'authorization', |
216 'canned', 'canned acl'], | 217 'canned', 'canned acl'], |
217 help_type='additional_help', | 218 help_type='additional_help', |
218 help_one_line_summary='Working With Access Control Lists', | 219 help_one_line_summary='Working With Access Control Lists', |
219 help_text=_DETAILED_HELP_TEXT, | 220 help_text=_DETAILED_HELP_TEXT, |
220 subcommand_help_text={}, | 221 subcommand_help_text={}, |
221 ) | 222 ) |
OLD | NEW |