[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-09-04 UTC."],[],[],null,["Version 1.21.0keyboard_arrow_down\n\n- [3.3.1 (latest)](/python/docs/reference/storage/latest/google.cloud.storage.acl)\n- [3.3.0](/python/docs/reference/storage/3.3.0/google.cloud.storage.acl)\n- [3.2.0](/python/docs/reference/storage/3.2.0/google.cloud.storage.acl)\n- [3.1.1](/python/docs/reference/storage/3.1.1/google.cloud.storage.acl)\n- [3.0.0](/python/docs/reference/storage/3.0.0/google.cloud.storage.acl)\n- [2.19.0](/python/docs/reference/storage/2.19.0/google.cloud.storage.acl)\n- [2.17.0](/python/docs/reference/storage/2.17.0/google.cloud.storage.acl)\n- [2.16.0](/python/docs/reference/storage/2.16.0/google.cloud.storage.acl)\n- [2.15.0](/python/docs/reference/storage/2.15.0/google.cloud.storage.acl)\n- [2.14.0](/python/docs/reference/storage/2.14.0/google.cloud.storage.acl)\n- [2.13.0](/python/docs/reference/storage/2.13.0/google.cloud.storage.acl)\n- [2.12.0](/python/docs/reference/storage/2.12.0/google.cloud.storage.acl)\n- [2.11.0](/python/docs/reference/storage/2.11.0/google.cloud.storage.acl)\n- [2.10.0](/python/docs/reference/storage/2.10.0/google.cloud.storage.acl)\n- [2.9.0](/python/docs/reference/storage/2.9.0/google.cloud.storage.acl)\n- [2.8.0](/python/docs/reference/storage/2.8.0/google.cloud.storage.acl)\n- [2.7.0](/python/docs/reference/storage/2.7.0/google.cloud.storage.acl)\n- [2.6.0](/python/docs/reference/storage/2.6.0/google.cloud.storage.acl)\n- [2.5.0](/python/docs/reference/storage/2.5.0/google.cloud.storage.acl)\n- [2.4.0](/python/docs/reference/storage/2.4.0/google.cloud.storage.acl)\n- [2.3.0](/python/docs/reference/storage/2.3.0/google.cloud.storage.acl)\n- [2.2.1](/python/docs/reference/storage/2.2.1/google.cloud.storage.acl)\n- [2.1.0](/python/docs/reference/storage/2.1.0/google.cloud.storage.acl)\n- [2.0.0](/python/docs/reference/storage/2.0.0/google.cloud.storage.acl)\n- [1.44.0](/python/docs/reference/storage/1.44.0/google.cloud.storage.acl)\n- [1.43.0](/python/docs/reference/storage/1.43.0/google.cloud.storage.acl)\n- [1.42.3](/python/docs/reference/storage/1.42.3/google.cloud.storage.acl)\n- [1.41.1](/python/docs/reference/storage/1.41.1/google.cloud.storage.acl)\n- [1.40.0](/python/docs/reference/storage/1.40.0/google.cloud.storage.acl)\n- [1.39.0](/python/docs/reference/storage/1.39.0/google.cloud.storage.acl)\n- [1.38.0](/python/docs/reference/storage/1.38.0/google.cloud.storage.acl)\n- [1.37.1](/python/docs/reference/storage/1.37.1/google.cloud.storage.acl)\n- [1.36.2](/python/docs/reference/storage/1.36.2/google.cloud.storage.acl)\n- [1.35.1](/python/docs/reference/storage/1.35.1/google.cloud.storage.acl)\n- [1.34.0](/python/docs/reference/storage/1.34.0/google.cloud.storage.acl)\n- [1.33.0](/python/docs/reference/storage/1.33.0/google.cloud.storage.acl)\n- [1.32.0](/python/docs/reference/storage/1.32.0/google.cloud.storage.acl)\n- [1.31.2](/python/docs/reference/storage/1.31.2/google.cloud.storage.acl)\n- [1.30.0](/python/docs/reference/storage/1.30.0/google.cloud.storage.acl)\n- [1.29.0](/python/docs/reference/storage/1.29.0/google.cloud.storage.acl)\n- [1.28.1](/python/docs/reference/storage/1.28.1/google.cloud.storage.acl)\n- [1.27.0](/python/docs/reference/storage/1.27.0/google.cloud.storage.acl)\n- [1.26.0](/python/docs/reference/storage/1.26.0/google.cloud.storage.acl)\n- [1.25.0](/python/docs/reference/storage/1.25.0/google.cloud.storage.acl)\n- [1.24.1](/python/docs/reference/storage/1.24.1/google.cloud.storage.acl)\n- [1.23.0](/python/docs/reference/storage/1.23.0/google.cloud.storage.acl)\n- [1.22.0](/python/docs/reference/storage/1.22.0/google.cloud.storage.acl)\n- [1.21.0](/python/docs/reference/storage/1.21.0/google.cloud.storage.acl)\n- [1.20.0](/python/docs/reference/storage/1.20.0/google.cloud.storage.acl)\n- [1.19.0](/python/docs/reference/storage/1.19.0/google.cloud.storage.acl)\n- [1.18.0](/python/docs/reference/storage/1.18.0/google.cloud.storage.acl)\n- [1.17.0](/python/docs/reference/storage/1.17.0/google.cloud.storage.acl) \nManipulate access control lists that Cloud Storage provides.\n\nBucket has a getting method that creates\nan ACL object under the hood, and you can interact with that using\nacl:\n\n.. literalinclude:: snippets.py\n:start-after: \\[START client_bucket_acl\\]\n:end-before: \\[END client_bucket_acl\\]\n\nAdding and removing permissions can be done with the following methods\n(in increasing order of granularity):\n\n- `ACL.all` corresponds to access for all users.\n- `ACL.all_authenticated` corresponds to access for all users that are signed into a Google account.\n- `ACL.domain` corresponds to access on a per Google Apps domain (ie, `example.com`).\n- `ACL.group` corresponds to access on a per group basis (either by ID or e-mail address).\n- `ACL.user` corresponds to access on a per user basis (either by ID or e-mail address).\n\nAnd you are able to `grant` and `revoke` the following roles:\n\n- **Reading** : `_ACLEntity.grant_read` and `_ACLEntity.revoke_read`\n- **Writing** : `_ACLEntity.grant_write` and `_ACLEntity.revoke_write`\n- **Owning** : `_ACLEntity.grant_owner` and `_ACLEntity.revoke_owner`\n\nYou can use any of these like any other factory method (these happen to\nbe `_ACLEntity` factories):\n\n.. literalinclude:: snippets.py\n:start-after: \\[START acl_user_settings\\]\n:end-before: \\[END acl_user_settings\\]\n\nAfter that, you can save any changes you make with the\n[save](/python/docs/reference/storage/1.21.0/google.cloud.storage.acl.ACL) method:\n\n.. literalinclude:: snippets.py\n:start-after: \\[START acl_save\\]\n:end-before: \\[END acl_save\\]\n\nYou can alternatively save any existing [ACL](/python/docs/reference/storage/1.21.0/google.cloud.storage.acl.ACL)\nobject (whether it was created by a factory method or not) from a\nBucket:\n\n.. literalinclude:: snippets.py\n:start-after: \\[START acl_save_bucket\\]\n:end-before: \\[END acl_save_bucket\\]\n\nTo get the list of `entity` and `role` for each unique pair, the\n`ACL` class is iterable:\n\n.. literalinclude:: snippets.py\n:start-after: \\[START acl_print\\]\n:end-before: \\[END acl_print\\]\n\nThis list of tuples can be used as the `entity` and `role` fields\nwhen sending metadata for ACLs to the API.\n\nClasses\n\n[ACL](/python/docs/reference/storage/1.21.0/google.cloud.storage.acl.ACL) \n\n ACL()\n\nContainer class representing a list of access controls.\n\n[BucketACL](/python/docs/reference/storage/1.21.0/google.cloud.storage.acl.BucketACL) \n\n BucketACL(bucket)\n\nAn ACL specifically for a bucket.\n\n| **Parameter** ||\n|----------|----------------------------------------------|\n| **Name** | **Description** |\n| `bucket` | Bucket The bucket to which this ACL relates. |\n\n[DefaultObjectACL](/python/docs/reference/storage/1.21.0/google.cloud.storage.acl.DefaultObjectACL) \n\n DefaultObjectACL(bucket)\n\nA class representing the default object ACL for a bucket.\n\n[ObjectACL](/python/docs/reference/storage/1.21.0/google.cloud.storage.acl.ObjectACL) \n\n ObjectACL(blob)\n\nAn ACL specifically for a Cloud Storage object / blob.\n\n| **Parameter** ||\n|----------|---------------------------------------------------------------------------------------------------------------------|\n| **Name** | **Description** |\n| `blob` | [Blob](/python/docs/reference/storage/1.21.0/google.cloud.storage.blob.Blob) The blob that this ACL corresponds to. |"]]