Class Principal
The comprehensive identity container supporting identities including groups, service accounts, and federated identities. Only one of them can be set to create an access binding.
Implements
Inherited Members
Namespace: Google.Apis.AccessContextManager.v1.Data
Assembly: Google.Apis.AccessContextManager.v1.dll
Syntax
public class Principal : IDirectResponseSchema
Properties
ETag
The ETag of the item.
Declaration
public virtual string ETag { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
FederatedPrincipal
Immutable. The IAM principal identifier of the federated workforce or workload to assign the policy to.
Examples include the following: * Single principal:
principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}
- All workloads in a workload identity pool:
principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/* - All Workforce Pools in a Google Cloud organization:
principalSet://cloudresourcemanager.googleapis.com/organizations/{organization_id}/type/WorkforcePoolBindings created for all Workforce Pools in a Google Cloud organization support onlyscoped_access_settingswith therestricted_projectclient scope and activesession_settings. No other configurations are allowed.
Declaration
[JsonProperty("federatedPrincipal")]
public virtual string FederatedPrincipal { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
ServiceAccount
Immutable. Service account email used to assign policies to a specific service account. If a service account is subject to multiple policies (e.g., if there is a policy for all service accounts in a project and a policy for the service account), the closest (i.e. the most specific) dry-run policy will be used for the dry-run functionality and the closest enforcement policy will be used for the enforcement.
Declaration
[JsonProperty("serviceAccount")]
public virtual string ServiceAccount { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
ServiceAccountProjectNumber
Immutable. Cloud project number used to assign policies to all service accounts owned by the project.
Declaration
[JsonProperty("serviceAccountProjectNumber")]
public virtual string ServiceAccountProjectNumber { get; set; }
Property Value
| Type | Description |
|---|---|
| string |