google_storage_bucket_access_control

Bucket ACLs can be managed authoritatively using the storage_bucket_acl resource. Do not use these two resources in conjunction to manage the same bucket.

The BucketAccessControls resource manages the Access Control List (ACLs) for a single entity/role pairing on a bucket. ACLs let you specify who has access to your data and to what extent.

There are three roles that can be assigned to an entity:

READERs can get the bucket, though no acl property will be returned, and list the bucket's objects. WRITERs are READERs, and they can insert objects into the bucket and delete the bucket's objects. OWNERs are WRITERs, and they can get the acl property of a bucket, update a bucket, and call all BucketAccessControls methods on the bucket. For more information, see Access Control, with the caveat that this API uses READER, WRITER, and OWNER instead of READ, WRITE, and FULL_CONTROL.

To get more information about BucketAccessControl, see:

Open in Cloud Shell

Example Usage - Storage Bucket Access Control Public Bucket

resource "google_storage_bucket_access_control" "public_rule" {
  bucket = google_storage_bucket.bucket.name
  role   = "READER"
  entity = "allUsers"
}

resource "google_storage_bucket" "bucket" {
  name     = "static-content-bucket"
  location = "US"
}

Argument Reference

The following arguments are supported:


Attributes Reference

In addition to the arguments listed above, the following computed attributes are exported:

Timeouts

This resource provides the following Timeouts configuration options:

Import

BucketAccessControl can be imported using any of these accepted formats:

In Terraform v1.5.0 and later, use an import block to import BucketAccessControl using one of the formats above. For example:

import {
  id = "{{bucket}}/{{entity}}"
  to = google_storage_bucket_access_control.default
}

When using the terraform import command, BucketAccessControl can be imported using one of the formats above. For example:

$ terraform import google_storage_bucket_access_control.default {{bucket}}/{{entity}}