Syntax
A google_storage_object_acl
is used to test a Google ObjectACL resource
Examples
describe google_storage_object_acl(bucket: 'bucket-with-object', object: 'image1', entity: user-email) do
it { should exist }
its('role') { should cmp "OWNER" }
its('bucket') { should eq 'bucket-with-object' }
its('email') { should include entity-email.com }
end
describe google_storage_object_acl(bucket: 'bucket-with-object', object: 'image1', entity: "allUsers") do
it { should_not exist }
end
Test that a GCP storage bucket ACL exists
describe google_storage_object_acl(bucket: 'bucket-buvsjjcndqz', object: 'bucket-object-pmxbiikq', entity: 'user-object-viewer@spaterson-project.iam.gserviceaccount.com') do
it { should exist }
end
Test that a GCP storage object ACL has the expected role (READER, WRITER or OWNER)
describe google_storage_object_acl(bucket: 'bucket-buvsjjcndqz', object: 'bucket-object-pmxbiikq', entity: 'user-object-viewer@spaterson-project.iam.gserviceaccount.com') do
its('role') { should eq 'OWNER' }
end
Properties
Properties that can be accessed from the google_storage_object_acl
resource:
domain
: The domain associated with the entity.email
: The email address associated with the entity.entity
: The entity holding the permission, in one of the following forms: * user-{{userId}} * user-{{email}} (such as “user-liz@example.com”) * group-{{groupId}} * group-{{email}} (such as “group-example@googlegroups.com”) * domain-{{domain}} (such as “domain-example.com”) * project-team-{{projectId}} * allUsers * allAuthenticatedUsersentity_id
: The ID for the entitygeneration
: The content generation of the object, if applied to an object.id
: The ID of the access-control entry.object
: The name of the object, if applied to an object.project_team
: The project team associated with the entityproject_number
: The project team associated with the entityteam
: The team. Possible values:- editors
- owners
- viewers
role
: The access permission for the entity. Possible values:- OWNER
- READER
GCP Permissions
Ensure the Google Cloud Storage is enabled for the current project.