Struct googapis::google::iam::v1beta::WorkloadIdentityPoolProvider[][src]

pub struct WorkloadIdentityPoolProvider {
    pub name: String,
    pub display_name: String,
    pub description: String,
    pub state: i32,
    pub disabled: bool,
    pub attribute_mapping: HashMap<String, String>,
    pub attribute_condition: String,
    pub provider_config: Option<ProviderConfig>,
}
Expand description

A configuration for an external identity provider.

Fields

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: i32

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: HashMap<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:

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:

Each value must be a [Common Expression Language] (https://opensource.google/projects/cel) 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, the following rules apply:

For OIDC providers, the following rules apply:

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:

The maximum length of the attribute condition expression is 4096 characters. If unspecified, all valid authentication credential are accepted.

The following example shows how to only allow credentials with a mapped google.groups value of admins:

"'admins' in google.groups"
provider_config: Option<ProviderConfig>

Identity provider configuration types.

Implementations

Returns the enum value of state, or the default if the field is set to an invalid enum value.

Sets state to the provided enum value.

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

Returns the “default value” for a type. Read more

Returns the encoded length of the message without a length delimiter.

Clears the message, resetting all fields to their default.

Encodes the message to a buffer. Read more

Encodes the message to a newly allocated buffer.

Encodes the message with a length-delimiter to a buffer. Read more

Encodes the message with a length-delimiter to a newly allocated buffer.

Decodes an instance of the message from a buffer. Read more

Decodes a length-delimited instance of the message from the buffer.

Decodes an instance of the message from a buffer, and merges it into self. Read more

Decodes a length-delimited instance of the message from buffer, and merges it into self. Read more

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Performs the conversion.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

Performs the conversion.

Wrap the input message T in a tonic::Request

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

🔬 This is a nightly-only experimental API. (toowned_clone_into)

recently added

Uses borrowed data to replace owned data, usually by cloning. Read more

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more