BucketPolicy is a managed resource that represents a Google Cloud Storage Bucket IAM Policy.
Type
CRD
Group
storage.gcp.crossplane.io
Version
v1alpha1
apiVersion: storage.gcp.crossplane.io/v1alpha1
kind: BucketPolicy
BucketPolicySpec defines the desired state of a BucketPolicy.
BucketPolicyParameters defines parameters for a desired KMS BucketPolicy
BucketRef references a Bucket and retrieves its URI
Policies for referencing.
BucketSelector selects a reference to a Bucket
Policies for selection.
Policy: An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources.
AuditConfigs: Specifies cloud audit logging configuration for this policy.
AuditLogConfigs: The configuration for logging of each type of permission.
ExemptedMembers: Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members.
Bindings: Associates a list of members
to a role
. Optionally, may specify a condition
that determines how and when the bindings
are applied. Each of the bindings
must contain at least one member.
Condition: The condition that is associated with this binding. NOTE: An unsatisfied condition will not allow user access via current binding. Different bindings, including their conditions, are examined independently.
Members: Specifies the identities requesting access for a Cloud Platform resource. members
can have the following values:
allUsers
: A special identifier that represents anyone who is on the internet; with or without a Google account.allAuthenticatedUsers
: A special identifier that represents anyone who is authenticated with a Google account or a service account.user:{emailid}
: An email address that represents a specific Google account. For example, alice@example.com
.serviceAccount:{emailid}
: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com
.group:{emailid}
: An email address that represents a Google group. For example, admins@example.com
.deleted:user:{emailid}?uid={uniqueid}
: An email address (plus unique identifier) representing a user that has been recently deleted. For example, alice@example.com?uid=123456789012345678901
. If the user is recovered, this value reverts to user:{emailid}
and the recovered user retains the role in the binding.deleted:serviceAccount:{emailid}?uid={uniqueid}
: An email address (plus unique identifier) representing a service account that has been recently deleted. For example,
my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901
.
If the service account is undeleted, this value reverts to serviceAccount:{emailid}
and the undeleted service account retains the role in the binding.deleted:group:{emailid}?uid={uniqueid}
: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, admins@example.com?uid=123456789012345678901
. If the group is recovered, this value reverts to group:{emailid}
and the recovered group retains the role in the binding.domain:{domain}
: The G Suite domain (primary) that represents all the users of that domain. For example, google.com
or example.com
.ServiceAccountMemberRefs are references to ServiceAccounts used to set the Members.
Policies for referencing.
ServiceAccountMemberSelector selects references to ServiceAccounts used to set the Members.
Policies for selection.
ProviderConfigReference specifies how the provider that will be used to create, observe, update, and delete this managed resource should be configured.
Policies for referencing.
ProviderReference specifies the provider that will be used to create, observe, update, and delete this managed resource. Deprecated: Please use ProviderConfigReference, i.e. providerConfigRef
Policies for referencing.
PublishConnectionDetailsTo specifies the connection secret config which contains a name, metadata and a reference to secret store config to which any connection details for this managed resource should be written. Connection details frequently include the endpoint, username, and password required to connect to the managed resource.
WriteConnectionSecretToReference specifies the namespace and name of a Secret to which any connection details for this managed resource should be written. Connection details frequently include the endpoint, username, and password required to connect to the managed resource. This field is planned to be replaced in a future release in favor of PublishConnectionDetailsTo. Currently, both could be set independently and connection details would be published to both without affecting each other.
BucketPolicyStatus represents the observed state of a BucketPolicy.
BucketPolicyObservation is used to show the observed state of the BucketPolicy resource on GCP. All fields in this structure should only be populated from GCP responses; any changes made to the k8s resource outside of the crossplane gcp controller will be ignored and overwritten.
Conditions of the resource.
crossplane-example-bucket-policy
apiVersion: storage.gcp.crossplane.io/v1alpha1
kind: BucketPolicy
metadata:
name: crossplane-example-bucket-policy
spec:
forProvider:
bucketRef:
name: example
policy:
bindings:
- members:
- projectEditor:<gcp-project>
- projectOwner:<gcp-project>
role: roles/storage.legacyBucketOwner
- members:
- projectViewer:<gcp-project>
role: roles/storage.legacyBucketReader
- role: roles/storage.objectAdmin
serviceAccountMemberRefs:
- name: perfect-test-sa
providerConfigRef:
name: gcp-provider
© 2022 Upbound, Inc.
Discover the building blocksfor your internal cloud platform.