Index
-
WorkloadIdentityPools(interface) -
CreateWorkloadIdentityPoolProviderRequest(message) -
CreateWorkloadIdentityPoolRequest(message) -
DeleteWorkloadIdentityPoolProviderRequest(message) -
DeleteWorkloadIdentityPoolRequest(message) -
GetWorkloadIdentityPoolProviderRequest(message) -
GetWorkloadIdentityPoolRequest(message) -
ListWorkloadIdentityPoolProvidersRequest(message) -
ListWorkloadIdentityPoolProvidersResponse(message) -
ListWorkloadIdentityPoolsRequest(message) -
ListWorkloadIdentityPoolsResponse(message) -
UndeleteWorkloadIdentityPoolProviderRequest(message) -
UndeleteWorkloadIdentityPoolRequest(message) -
UpdateWorkloadIdentityPoolProviderRequest(message) -
UpdateWorkloadIdentityPoolRequest(message) -
WorkloadIdentityPool(message) -
WorkloadIdentityPool.State(enum) -
WorkloadIdentityPoolOperationMetadata(message) -
WorkloadIdentityPoolProvider(message) -
WorkloadIdentityPoolProvider.Aws(message) -
WorkloadIdentityPoolProvider.Oidc(message) -
WorkloadIdentityPoolProvider.State(enum) -
WorkloadIdentityPoolProviderOperationMetadata(message)
WorkloadIdentityPools
Manages WorkloadIdentityPools.
rpc CreateWorkloadIdentityPool(
CreateWorkloadIdentityPoolRequest
) returns ( Operation
)
Creates a new WorkloadIdentityPool
.
You cannot reuse the name of a deleted pool until 30 days after deletion.
- Authorization scopes
-
Requires one of the following OAuth scopes:
-
https://www.googleapis.com/auth/cloud-platform -
https://www.googleapis.com/auth/iam
For more information, see the Authentication Overview .
-
- IAM Permissions
-
Requires the following IAM permission on the
parentresource:-
iam.workloadIdentityPools.create
For more information, see the IAM documentation .
-
rpc CreateWorkloadIdentityPoolProvider(
CreateWorkloadIdentityPoolProviderRequest
) returns ( Operation
)
Creates a new WorkloadIdentityPoolProvider
in a WorkloadIdentityPool
.
You cannot reuse the name of a deleted provider until 30 days after deletion.
- Authorization scopes
-
Requires one of the following OAuth scopes:
-
https://www.googleapis.com/auth/cloud-platform -
https://www.googleapis.com/auth/iam
For more information, see the Authentication Overview .
-
- IAM Permissions
-
Requires the following IAM permission on the
parentresource:-
iam.workloadIdentityPoolProviders.create
For more information, see the IAM documentation .
-
rpc DeleteWorkloadIdentityPool(
DeleteWorkloadIdentityPoolRequest
) returns ( Operation
)
Deletes a WorkloadIdentityPool
.
You cannot use a deleted pool to exchange external credentials for Google Cloud credentials. However, deletion does not revoke credentials that have already been issued. Credentials issued for a deleted pool do not grant access to resources. If the pool is undeleted, and the credentials are not expired, they grant access again. You can undelete a pool for 30 days. After 30 days, deletion is permanent. You cannot update deleted pools. However, you can view and list them.
- Authorization scopes
-
Requires one of the following OAuth scopes:
-
https://www.googleapis.com/auth/cloud-platform -
https://www.googleapis.com/auth/iam
For more information, see the Authentication Overview .
-
- IAM Permissions
-
Requires the following IAM permission on the
nameresource:-
iam.workloadIdentityPools.delete
For more information, see the IAM documentation .
-
rpc DeleteWorkloadIdentityPoolProvider(
DeleteWorkloadIdentityPoolProviderRequest
) returns ( Operation
)
Deletes a WorkloadIdentityPoolProvider
. Deleting a provider does not revoke credentials that have already been issued; they continue to grant access. You can undelete a provider for 30 days. After 30 days, deletion is permanent. You cannot update deleted providers. However, you can view and list them.
- Authorization scopes
-
Requires one of the following OAuth scopes:
-
https://www.googleapis.com/auth/cloud-platform -
https://www.googleapis.com/auth/iam
For more information, see the Authentication Overview .
-
- IAM Permissions
-
Requires the following IAM permission on the
nameresource:-
iam.workloadIdentityPoolProviders.delete
For more information, see the IAM documentation .
-
rpc GetWorkloadIdentityPool(
GetWorkloadIdentityPoolRequest
) returns ( WorkloadIdentityPool
)
Gets an individual WorkloadIdentityPool
.
- Authorization scopes
-
Requires one of the following OAuth scopes:
-
https://www.googleapis.com/auth/cloud-platform -
https://www.googleapis.com/auth/iam
For more information, see the Authentication Overview .
-
- IAM Permissions
-
Requires the following IAM permission on the
nameresource:-
iam.workloadIdentityPools.get
For more information, see the IAM documentation .
-
rpc GetWorkloadIdentityPoolProvider(
GetWorkloadIdentityPoolProviderRequest
) returns ( WorkloadIdentityPoolProvider
)
Gets an individual WorkloadIdentityPoolProvider
.
- Authorization scopes
-
Requires one of the following OAuth scopes:
-
https://www.googleapis.com/auth/cloud-platform -
https://www.googleapis.com/auth/iam
For more information, see the Authentication Overview .
-
- IAM Permissions
-
Requires the following IAM permission on the
nameresource:-
iam.workloadIdentityPoolProviders.get
For more information, see the IAM documentation .
-
rpc ListWorkloadIdentityPoolProviders(
ListWorkloadIdentityPoolProvidersRequest
) returns ( ListWorkloadIdentityPoolProvidersResponse
)
Lists all non-deleted WorkloadIdentityPoolProvider
s in a WorkloadIdentityPool
. If show_deleted
is set to true
, then deleted providers are also listed.
- Authorization scopes
-
Requires one of the following OAuth scopes:
-
https://www.googleapis.com/auth/cloud-platform -
https://www.googleapis.com/auth/iam
For more information, see the Authentication Overview .
-
- IAM Permissions
-
Requires the following IAM permission on the
parentresource:-
iam.workloadIdentityPoolProviders.list
For more information, see the IAM documentation .
-
rpc ListWorkloadIdentityPools(
ListWorkloadIdentityPoolsRequest
) returns ( ListWorkloadIdentityPoolsResponse
)
Lists all non-deleted WorkloadIdentityPool
s in a project. If show_deleted
is set to true
, then deleted pools are also listed.
- Authorization scopes
-
Requires one of the following OAuth scopes:
-
https://www.googleapis.com/auth/cloud-platform -
https://www.googleapis.com/auth/iam
For more information, see the Authentication Overview .
-
- IAM Permissions
-
Requires the following IAM permission on the
parentresource:-
iam.workloadIdentityPools.list
For more information, see the IAM documentation .
-
rpc UndeleteWorkloadIdentityPool(
UndeleteWorkloadIdentityPoolRequest
) returns ( Operation
)
Undeletes a WorkloadIdentityPool
, as long as it was deleted fewer than 30 days ago.
- Authorization scopes
-
Requires one of the following OAuth scopes:
-
https://www.googleapis.com/auth/cloud-platform -
https://www.googleapis.com/auth/iam
For more information, see the Authentication Overview .
-
- IAM Permissions
-
Requires the following IAM permission on the
nameresource:-
iam.workloadIdentityPools.undelete
For more information, see the IAM documentation .
-
rpc UndeleteWorkloadIdentityPoolProvider(
UndeleteWorkloadIdentityPoolProviderRequest
) returns ( Operation
)
Undeletes a WorkloadIdentityPoolProvider
, as long as it was deleted fewer than 30 days ago.
- Authorization scopes
-
Requires one of the following OAuth scopes:
-
https://www.googleapis.com/auth/cloud-platform -
https://www.googleapis.com/auth/iam
For more information, see the Authentication Overview .
-
- IAM Permissions
-
Requires the following IAM permission on the
nameresource:-
iam.workloadIdentityPoolProviders.undelete
For more information, see the IAM documentation .
-
rpc UpdateWorkloadIdentityPool(
UpdateWorkloadIdentityPoolRequest
) returns ( Operation
)
Updates an existing WorkloadIdentityPool
.
- Authorization scopes
-
Requires one of the following OAuth scopes:
-
https://www.googleapis.com/auth/cloud-platform -
https://www.googleapis.com/auth/iam
For more information, see the Authentication Overview .
-
- IAM Permissions
-
Requires the following IAM permission on the
nameresource:-
iam.workloadIdentityPools.update
For more information, see the IAM documentation .
-
rpc UpdateWorkloadIdentityPoolProvider(
UpdateWorkloadIdentityPoolProviderRequest
) returns ( Operation
)
Updates an existing WorkloadIdentityPoolProvider
.
- Authorization scopes
-
Requires one of the following OAuth scopes:
-
https://www.googleapis.com/auth/cloud-platform -
https://www.googleapis.com/auth/iam
For more information, see the Authentication Overview .
-
- IAM Permissions
-
Requires the following IAM permission on the
nameresource:-
iam.workloadIdentityPoolProviders.update
For more information, see the IAM documentation .
-
CreateWorkloadIdentityPoolProviderRequest
Request message for CreateWorkloadIdentityPoolProvider.
| Fields | |
|---|---|
parent
|
Required. The pool to create this provider in. |
workload_identity_pool_provider
|
Required. The provider to create. |
workload_identity_pool_provider_id
|
Required. The ID for the provider, which becomes the final component of the resource name. This value must be 4-32 characters, and may contain the characters [a-z0-9-]. The prefix |
CreateWorkloadIdentityPoolRequest
Request message for CreateWorkloadIdentityPool.
| Fields | |
|---|---|
parent
|
Required. The parent resource to create the pool in. The only supported location is |
workload_identity_pool
|
Required. The pool to create. |
workload_identity_pool_id
|
Required. The ID to use for the pool, which becomes the final component of the resource name. This value should be 4-32 characters, and may contain the characters [a-z0-9-]. The prefix |
DeleteWorkloadIdentityPoolProviderRequest
Request message for DeleteWorkloadIdentityPoolProvider.
| Fields | |
|---|---|
name
|
Required. The name of the provider to delete. |
DeleteWorkloadIdentityPoolRequest
Request message for DeleteWorkloadIdentityPool.
| Fields | |
|---|---|
name
|
Required. The name of the pool to delete. |
GetWorkloadIdentityPoolProviderRequest
Request message for GetWorkloadIdentityPoolProvider.
| Fields | |
|---|---|
name
|
Required. The name of the provider to retrieve. |
GetWorkloadIdentityPoolRequest
Request message for GetWorkloadIdentityPool.
| Fields | |
|---|---|
name
|
Required. The name of the pool to retrieve. |
ListWorkloadIdentityPoolProvidersRequest
Request message for ListWorkloadIdentityPoolProviders.
| Fields | |
|---|---|
parent
|
Required. The pool to list providers for. |
page_size
|
The maximum number of providers to return. If unspecified, at most 50 providers are returned. The maximum value is 100; values above 100 are truncated to 100. |
page_token
|
A page token, received from a previous |
show_deleted
|
Whether to return soft-deleted providers. |
ListWorkloadIdentityPoolProvidersResponse
Response message for ListWorkloadIdentityPoolProviders.
| Fields | |
|---|---|
workload_identity_pool_providers[]
|
A list of providers. |
next_page_token
|
A token, which can be sent as |
ListWorkloadIdentityPoolsRequest
Request message for ListWorkloadIdentityPools.
| Fields | |
|---|---|
parent
|
Required. The parent resource to list pools for. |
page_size
|
The maximum number of pools to return. If unspecified, at most 50 pools are returned. The maximum value is 1000; values above are 1000 truncated to 1000. |
page_token
|
A page token, received from a previous |
show_deleted
|
Whether to return soft-deleted pools. |
ListWorkloadIdentityPoolsResponse
Response message for ListWorkloadIdentityPools.
| Fields | |
|---|---|
workload_identity_pools[]
|
A list of pools. |
next_page_token
|
A token, which can be sent as |
UndeleteWorkloadIdentityPoolProviderRequest
Request message for UndeleteWorkloadIdentityPoolProvider.
| Fields | |
|---|---|
name
|
Required. The name of the provider to undelete. |
UndeleteWorkloadIdentityPoolRequest
Request message for UndeleteWorkloadIdentityPool.
| Fields | |
|---|---|
name
|
Required. The name of the pool to undelete. |
UpdateWorkloadIdentityPoolProviderRequest
Request message for UpdateWorkloadIdentityPoolProvider.
| Fields | |
|---|---|
workload_identity_pool_provider
|
Required. The provider to update. |
update_mask
|
Required. The list of fields to update. |
UpdateWorkloadIdentityPoolRequest
Request message for UpdateWorkloadIdentityPool.
| Fields | |
|---|---|
workload_identity_pool
|
Required. The pool to update. The |
update_mask
|
Required. The list of fields to update. |
WorkloadIdentityPool
Represents a collection of external workload identities. You can define IAM policies to grant these identities access to Google Cloud resources.
| Fields | |
|---|---|
name
|
Output only. The resource name of the pool. |
display_name
|
A display name for the pool. Cannot exceed 32 characters. |
description
|
A description of the pool. Cannot exceed 256 characters. |
state
|
Output only. The state of the pool. |
disabled
|
Whether the pool is disabled. You cannot use a disabled pool to exchange tokens, or use existing tokens to access resources. If the pool is re-enabled, existing tokens grant access again. |
expire_time
|
Output only. Time after which the workload identity pool will be permanently purged and cannot be recovered. |
State
The current state of the pool.
| Enums | |
|---|---|
STATE_UNSPECIFIED
|
State unspecified. |
ACTIVE
|
The pool is active, and may be used in Google Cloud policies. |
DELETED
|
The pool is soft-deleted. Soft-deleted pools are permanently deleted after approximately 30 days. You can restore a soft-deleted pool using You cannot reuse the ID of a soft-deleted pool until it is permanently deleted. While a pool is deleted, you cannot use it to exchange tokens, or use existing tokens to access resources. If the pool is undeleted, existing tokens grant access again. |
WorkloadIdentityPoolOperationMetadata
This type has no fields.
Metadata for long-running WorkloadIdentityPool operations.
WorkloadIdentityPoolProvider
A configuration for an external identity provider.
name
string
Output only. The resource name of the provider.
display_name
string
A display name for the provider. Cannot exceed 32 characters.
description
string
A description for the provider. Cannot exceed 256 characters.
state
Output only. The state of the provider.
disabled
bool
Whether the provider is disabled. You cannot use a disabled provider to exchange tokens. However, existing tokens still grant access.
attribute_mapping
map<string, string>
Maps attributes from authentication credentials issued by an external identity provider to Google Cloud attributes, such as subject
and segment
.
Each key must be a string specifying the Google Cloud IAM attribute to map to.
The following keys are supported:
-
google.subject: The principal IAM is authenticating. You can reference this value in IAM bindings. This is also the subject that appears in Cloud Logging logs. Cannot exceed 127 bytes. -
google.groups: Groups the external identity belongs to. You can grant groups access to resources using an IAMprincipalSetbinding; access applies to all members of the group.
You can also provide custom attributes by specifying attribute.{custom_attribute}
, where {custom_attribute}
is the name of the custom attribute to be mapped. You can define a maximum of 50 custom attributes. The maximum length of a mapped attribute key is 100 characters, and the key may only contain the characters [a-z0-9_].
You can reference these attributes in IAM policies to define fine-grained access for a workload to Google Cloud resources. For example:
-
google.subject:principal://iam.googleapis.com/projects/{project}/locations/{location}/workloadIdentityPools/{pool}/subject/{value} -
google.groups:principalSet://iam.googleapis.com/projects/{project}/locations/{location}/workloadIdentityPools/{pool}/group/{value} -
attribute.{custom_attribute}:principalSet://iam.googleapis.com/projects/{project}/locations/{location}/workloadIdentityPools/{pool}/attribute.{custom_attribute}/{value}
Each value must be a Common Expression Language function that maps an identity provider credential to the normalized attribute specified by the corresponding map key.
You can use the assertion
keyword in the expression to access a JSON representation of the authentication credential issued by the provider.
The maximum length of an attribute mapping expression is 2048 characters. When evaluated, the total size of all mapped attributes must not exceed 8KB.
For AWS providers, if no attribute mapping is defined, the following default mapping applies:
{
"google.subject":"assertion.arn",
"attribute.aws_role":
"assertion.arn.contains('assumed-role')"
" ? assertion.arn.extract('{account_arn}assumed-role/')"
" + 'assumed-role/'"
" + assertion.arn.extract('assumed-role/{role_name}/')"
" : assertion.arn",
}
If any custom attribute mappings are defined, they must include a mapping to the google.subject
attribute.
For OIDC providers, you must supply a custom mapping, which must include the google.subject
attribute. For example, the following maps the sub
claim of the incoming credential to the subject
attribute on a Google token:
{"google.subject": "assertion.sub"}
attribute_condition
string
A Common Expression Language expression, in plain text, to restrict what otherwise valid authentication credentials issued by the provider should not be accepted.
The expression must output a boolean representing whether to allow the federation.
The following keywords may be referenced in the expressions:
-
assertion: JSON representing the authentication credential issued by the provider. -
google: The Google attributes mapped from the assertion in theattribute_mappings. -
attribute: The custom attributes mapped from the assertion in theattribute_mappings.
The maximum length of the condition expression is 4096 characters. If unspecified, all valid authentication credentials are accepted.
The following example shows how to only allow credentials with a mapped google.groups
value of admins
:
"'admins' in google.groups"
expire_time
Output only. Time after which the workload identity pool provider will be permanently purged and cannot be recovered.
provider_config
. Identity provider configuration types. provider_config
can be only one of the following:aws
An Amazon Web Services identity provider.
oidc
An OpenId Connect 1.0 identity provider.
Aws
Represents an Amazon Web Services identity provider.
| Fields | |
|---|---|
account_id
|
Required. The AWS account ID. |
Oidc
Represents an OpenId Connect 1.0 identity provider.
| Fields | |
|---|---|
issuer_uri
|
Required. The OIDC issuer URL. Must be an HTTPS endpoint. |
allowed_audiences[]
|
Acceptable values for the If this list is empty, the OIDC token audience must be equal to the full canonical resource name of the WorkloadIdentityPoolProvider, with or without the HTTPS prefix. For example:
|
jwks_json
|
Optional. OIDC JWKs in JSON String format. For details on definition of a JWK, see https://tools.ietf.org/html/rfc7517
. If not set, then we use the |
State
The current state of the provider.
| Enums | |
|---|---|
STATE_UNSPECIFIED
|
State unspecified. |
ACTIVE
|
The provider is active, and may be used to validate authentication credentials. |
DELETED
|
The provider is soft-deleted. Soft-deleted providers are permanently deleted after approximately 30 days. You can restore a soft-deleted provider using You cannot reuse the ID of a soft-deleted provider until it is permanently deleted. |
WorkloadIdentityPoolProviderOperationMetadata
This type has no fields.
Metadata for long-running WorkloadIdentityPoolProvider operations.

