Resource: PolicyBinding
IAM policy binding resource.
JSON representation |
---|
{ "name" : string , "uid" : string , "etag" : string , "displayName" : string , "annotations" : { string : string , ... } , "target" : { object ( |
name
string
Identifier. The name of the policy binding, in the format {binding_parent/locations/{location}/policyBindings/{policyBindingId}
. The binding parent is the closest Resource Manager resource (project, folder, or organization) to the binding target.
Format:
-
projects/{projectId}/locations/{location}/policyBindings/{policyBindingId}
-
projects/{projectNumber}/locations/{location}/policyBindings/{policyBindingId}
-
folders/{folderId}/locations/{location}/policyBindings/{policyBindingId}
-
organizations/{organizationId}/locations/{location}/policyBindings/{policyBindingId}
uid
string
Output only. The globally unique ID of the policy binding. Assigned when the policy binding is created.
etag
string
Optional. The etag for the policy binding. If this is provided on update, it must match the server's etag.
displayName
string
Optional. The description of the policy binding. Must be less than or equal to 63 characters.
annotations
map (key: string, value: string)
Optional. User-defined annotations. See https://google.aip.dev/148#annotations for more details such as format and size limitations
An object containing a list of "key": value
pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }
.
target
object (
Target
)
Required. Immutable. The full resource name of the resource to which the policy will be bound. Immutable once set.
policyKind
enum (
PolicyKind
)
Immutable. The kind of the policy to attach in this binding. This field must be one of the following:
- Left empty (will be automatically set to the policy kind)
- The input policy kind
policy
string
Required. Immutable. The resource name of the policy to be bound. The binding parent and policy must belong to the same organization.
policyUid
string
Output only. The globally unique ID of the policy to be bound.
condition
object (
Expr
)
Optional. The condition to apply to the policy binding. When set, the expression
field in the Expr
must include from 1 to 10 subexpressions, joined by the "||"(Logical OR), "&&"(Logical AND) or "!"(Logical NOT) operators and cannot contain more than 250 characters.
The condition is currently only supported when bound to policies of kind principal access boundary.
When the bound policy is a principal access boundary policy, the only supported attributes in any subexpression are principal.type
and principal.subject
. An example expression is: "principal.type == 'iam.googleapis.com/ServiceAccount'" or "principal.subject == 'bob@example.com'".
Allowed operations for principal.subject
:
-
principal.subject == <principal subject string>
-
principal.subject != <principal subject string>
-
principal.subject in [<list of principal subjects>]
-
principal.subject.startsWith(<string>)
-
principal.subject.endsWith(<string>)
Allowed operations for principal.type
:
-
principal.type == <principal type string>
-
principal.type != <principal type string>
-
principal.type in [<list of principal types>]
Supported principal types are Workspace, Workforce Pool, Workload Pool and Service Account. Allowed string must be one of:
- iam.googleapis.com/WorkspaceIdentity
- iam.googleapis.com/WorkforcePoolIdentity
- iam.googleapis.com/WorkloadPoolIdentity
- iam.googleapis.com/ServiceAccount
createTime
string (
Timestamp
format)
Output only. The time when the policy binding was created.
Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: "2014-10-02T15:01:23Z"
, "2014-10-02T15:01:23.045123456Z"
or "2014-10-02T15:01:23+05:30"
.
updateTime
string (
Timestamp
format)
Output only. The time when the policy binding was most recently updated.
Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: "2014-10-02T15:01:23Z"
, "2014-10-02T15:01:23.045123456Z"
or "2014-10-02T15:01:23+05:30"
.
Target
The full resource name of the resource to which the policy will be bound. Immutable once set.
JSON representation |
---|
{ // Union field |
target
. The different types of targets that can be bound to a policy. target
can be only one of the following:principalSet
string
Immutable. The full resource name that's used for principal access boundary policy bindings. The principal set must be directly parented by the policy binding's parent or same as the parent if the target is a project, folder, or organization.
Examples:
- For bindings parented by an organization:
- Organization:
//cloudresourcemanager.googleapis.com/organizations/ORGANIZATION_ID
- Workforce Identity:
//iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID
- Workspace Identity:
//iam.googleapis.com/locations/global/workspace/WORKSPACE_ID
- Organization:
- For bindings parented by a folder:
- Folder:
//cloudresourcemanager.googleapis.com/folders/FOLDER_ID
- Folder:
- For bindings parented by a project:
- Project:
-
//cloudresourcemanager.googleapis.com/projects/PROJECT_NUMBER
-
//cloudresourcemanager.googleapis.com/projects/PROJECT_ID
-
- Workload Identity Pool:
//iam.googleapis.com/projects/PROJECT_NUMBER/locations/LOCATION/workloadIdentityPools/WORKLOAD_POOL_ID
- Project:
PolicyKind
The different policy kinds supported in this binding.
Enums | |
---|---|
POLICY_KIND_UNSPECIFIED
|
Unspecified policy kind; Not a valid state |
PRINCIPAL_ACCESS_BOUNDARY
|
Principal access boundary policy kind |
Methods |
|
---|---|
|
Creates a policy binding and returns a long-running operation. |
|
Deletes a policy binding and returns a long-running operation. |
|
Gets a policy binding. |
|
Lists policy bindings. |
|
Updates a policy binding and returns a long-running operation. |
|
Search policy bindings by target. |