no-public-access
Explanation
Using 'allUsers' or 'allAuthenticatedUsers' as members in an IAM member/binding causes data to be exposed outside of the organisation.
Possible Impact
Public exposure of sensitive data.
Suggested Resolution
Restrict public access to the bucket.
Insecure Example
The following example will fail the google-storage-no-public-access check.
resource "google_storage_bucket_iam_binding" "binding" {
bucket = google_storage_bucket.default.name
role = "roles/storage.admin"
members = [
"allAuthenticatedUsers",
]
}
Secure Example
The following example will pass the google-storage-no-public-access check.
resource "google_storage_bucket_iam_binding" "binding" {
bucket = google_storage_bucket.default.name
role = "roles/storage.admin"
members = [
"user:jane@example.com",
]
}