AccessLevelCondition is the Schema for the AccessLevelConditions API. Allows configuring a single access level condition to be appended to an access level's conditions.
Type
CRD
Group
accesscontextmanager.gcp.upbound.io
Version
v1beta1
apiVersion: accesscontextmanager.gcp.upbound.io/v1beta1
kind: AccessLevelCondition
AccessLevelConditionSpec defines the desired state of AccessLevelCondition
No description provided.
Reference to a AccessLevel in accesscontextmanager to populate accessLevel.
Policies for referencing.
Selector for a AccessLevel in accesscontextmanager to populate accessLevel.
Policies for selection.
Device specific restrictions, all restrictions must hold for the Condition to be true. If not specified, all devices are allowed. Structure is documented below.
A list of allowed device management levels. An empty list allows all management levels. Each value may be one of: MANAGEMENT_UNSPECIFIED, NONE, BASIC, COMPLETE.
A list of allowed encryptions statuses. An empty list allows all statuses. Each value may be one of: ENCRYPTION_UNSPECIFIED, ENCRYPTION_UNSUPPORTED, UNENCRYPTED, ENCRYPTED.
A list of allowed OS versions. An empty list allows all types and all versions. Structure is documented below.
A list of CIDR block IP subnetwork specification. May be IPv4 or IPv6. Note that for a CIDR IP address block, the specified IP address portion must be properly truncated (i.e. all the host bits must be zero) or the input is considered malformed. For example, "192.0.2.0/24" is accepted but "192.0.2.1/24" is not. Similarly, for IPv6, "2001:db8::/32" is accepted whereas "2001:db8::1/32" is not. The originating IP of a request must be in one of the listed subnets in order for this Condition to be true. If empty, all IP addresses are allowed.
An allowed list of members (users, service accounts). Using groups is not supported yet. The signed-in user originating the request must be a part of one of the provided members. If not specified, a request may come from any user (logged in/not logged in, not present in any groups, etc.). Formats: user:{emailid}, serviceAccount:{emailid}
The request must originate from one of the provided countries/regions. Format: A valid ISO 3166-1 alpha-2 code.
A list of other access levels defined in the same Policy, referenced by resource name. Referencing an AccessLevel which does not exist is an error. All access levels listed must be granted for the Condition to be true. Format: accessPolicies/{policy_id}/accessLevels/{short_name}
The request must originate from one of the provided VPC networks in Google Cloud. Cannot specify this field together with ip_subnetworks. Structure is documented below.
Sub networks within a VPC network. Structure is documented below.
CIDR block IP subnetwork specification. Must be IPv4.
THIS IS A BETA FIELD. It will be honored unless the Management Policies feature flag is disabled. InitProvider holds the same fields as ForProvider, with the exception of Identifier and other resource reference fields. The fields that are in InitProvider are merged into ForProvider when the resource is created. The same fields are also added to the terraform ignore_changes hook, to avoid updating them after creation. This is useful for fields that are required on creation, but we do not desire to update them after creation, for example because of an external controller is managing them, like an autoscaler.
Reference to a AccessLevel in accesscontextmanager to populate accessLevel.
Policies for referencing.
Selector for a AccessLevel in accesscontextmanager to populate accessLevel.
Policies for selection.
Device specific restrictions, all restrictions must hold for the Condition to be true. If not specified, all devices are allowed. Structure is documented below.
A list of allowed device management levels. An empty list allows all management levels. Each value may be one of: MANAGEMENT_UNSPECIFIED, NONE, BASIC, COMPLETE.
A list of allowed encryptions statuses. An empty list allows all statuses. Each value may be one of: ENCRYPTION_UNSPECIFIED, ENCRYPTION_UNSUPPORTED, UNENCRYPTED, ENCRYPTED.
A list of allowed OS versions. An empty list allows all types and all versions. Structure is documented below.
A list of CIDR block IP subnetwork specification. May be IPv4 or IPv6. Note that for a CIDR IP address block, the specified IP address portion must be properly truncated (i.e. all the host bits must be zero) or the input is considered malformed. For example, "192.0.2.0/24" is accepted but "192.0.2.1/24" is not. Similarly, for IPv6, "2001:db8::/32" is accepted whereas "2001:db8::1/32" is not. The originating IP of a request must be in one of the listed subnets in order for this Condition to be true. If empty, all IP addresses are allowed.
An allowed list of members (users, service accounts). Using groups is not supported yet. The signed-in user originating the request must be a part of one of the provided members. If not specified, a request may come from any user (logged in/not logged in, not present in any groups, etc.). Formats: user:{emailid}, serviceAccount:{emailid}
The request must originate from one of the provided countries/regions. Format: A valid ISO 3166-1 alpha-2 code.
A list of other access levels defined in the same Policy, referenced by resource name. Referencing an AccessLevel which does not exist is an error. All access levels listed must be granted for the Condition to be true. Format: accessPolicies/{policy_id}/accessLevels/{short_name}
The request must originate from one of the provided VPC networks in Google Cloud. Cannot specify this field together with ip_subnetworks. Structure is documented below.
Sub networks within a VPC network. Structure is documented below.
CIDR block IP subnetwork specification. Must be IPv4.
THIS IS A BETA FIELD. It is on by default but can be opted out through a Crossplane feature flag. ManagementPolicies specify the array of actions Crossplane is allowed to take on the managed and external resources. This field is planned to replace the DeletionPolicy field in a future release. Currently, both could be set independently and non-default values would be honored if the feature flag is enabled. If both are custom, the DeletionPolicy field will be ignored. See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223 and this one: https://github.com/crossplane/crossplane/blob/444267e84783136daa93568b364a5f01228cacbe/design/one-pager-ignore-changes.md
ProviderConfigReference specifies how the provider that will be used to create, observe, update, and delete this managed resource should be configured.
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.
AccessLevelConditionStatus defines the observed state of AccessLevelCondition.
No description provided.
Device specific restrictions, all restrictions must hold for the Condition to be true. If not specified, all devices are allowed. Structure is documented below.
A list of allowed device management levels. An empty list allows all management levels. Each value may be one of: MANAGEMENT_UNSPECIFIED, NONE, BASIC, COMPLETE.
A list of allowed encryptions statuses. An empty list allows all statuses. Each value may be one of: ENCRYPTION_UNSPECIFIED, ENCRYPTION_UNSUPPORTED, UNENCRYPTED, ENCRYPTED.
A list of allowed OS versions. An empty list allows all types and all versions. Structure is documented below.
A list of CIDR block IP subnetwork specification. May be IPv4 or IPv6. Note that for a CIDR IP address block, the specified IP address portion must be properly truncated (i.e. all the host bits must be zero) or the input is considered malformed. For example, "192.0.2.0/24" is accepted but "192.0.2.1/24" is not. Similarly, for IPv6, "2001:db8::/32" is accepted whereas "2001:db8::1/32" is not. The originating IP of a request must be in one of the listed subnets in order for this Condition to be true. If empty, all IP addresses are allowed.
An allowed list of members (users, service accounts). Using groups is not supported yet. The signed-in user originating the request must be a part of one of the provided members. If not specified, a request may come from any user (logged in/not logged in, not present in any groups, etc.). Formats: user:{emailid}, serviceAccount:{emailid}
The request must originate from one of the provided countries/regions. Format: A valid ISO 3166-1 alpha-2 code.
A list of other access levels defined in the same Policy, referenced by resource name. Referencing an AccessLevel which does not exist is an error. All access levels listed must be granted for the Condition to be true. Format: accessPolicies/{policy_id}/accessLevels/{short_name}
The request must originate from one of the provided VPC networks in Google Cloud. Cannot specify this field together with ip_subnetworks. Structure is documented below.
Sub networks within a VPC network. Structure is documented below.
CIDR block IP subnetwork specification. Must be IPv4.
Conditions of the resource.
access-level-conditions
apiVersion: accesscontextmanager.gcp.upbound.io/v1beta1
kind: AccessLevelCondition
metadata:
annotations:
meta.upbound.io/example-id: accesscontextmanager/v1beta1/accesslevelcondition
upjet.upbound.io/manual-intervention: Requires organization level IAM permissions
labels:
testing.upbound.io/example-name: access-level-conditions
name: access-level-conditions
spec:
forProvider:
accessLevelSelector:
matchLabels:
testing.upbound.io/example-name: access-level-service-account
devicePolicy:
- osConstraints:
- osType: DESKTOP_CHROME_OS
requireAdminApproval: false
requireCorpOwned: true
requireScreenLock: false
ipSubnetworks:
- 192.0.4.0/24
members:
- user:test@google.com
- user:test2@google.com
- serviceAccount:${google_service_account.created-later.email}
negate: false
regions:
- IT
- US
© 2022 Upbound, Inc.
Discover the building blocksfor your internal cloud platform.