Class: Google::Apis::AccesscontextmanagerV1::Principal

Inherits:
Object
  • Object
show all
Includes:
Core::Hashable, Core::JsonObjectSupport
Defined in:
lib/google/apis/accesscontextmanager_v1/classes.rb,
lib/google/apis/accesscontextmanager_v1/representations.rb,
lib/google/apis/accesscontextmanager_v1/representations.rb

Overview

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.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ Principal

Returns a new instance of Principal.



1887
1888
1889
# File 'lib/google/apis/accesscontextmanager_v1/classes.rb', line 1887

def initialize(**args)
   update!(**args)
end

Instance Attribute Details

#federated_principalString

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 the restricted_projectclient scope and activesession_settings. No other configurations are allowed. Corresponds to the JSON propertyfederatedPrincipal`

Returns:

  • (String)


1869
1870
1871
# File 'lib/google/apis/accesscontextmanager_v1/classes.rb', line 1869

def federated_principal
  @federated_principal
end

#service_accountString

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. Corresponds to the JSON property serviceAccount

Returns:

  • (String)


1879
1880
1881
# File 'lib/google/apis/accesscontextmanager_v1/classes.rb', line 1879

def 
  @service_account
end

#service_account_project_numberString

Immutable. Cloud project number used to assign policies to all service accounts owned by the project. Corresponds to the JSON property serviceAccountProjectNumber

Returns:

  • (String)


1885
1886
1887
# File 'lib/google/apis/accesscontextmanager_v1/classes.rb', line 1885

def 
  @service_account_project_number
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



1892
1893
1894
1895
1896
# File 'lib/google/apis/accesscontextmanager_v1/classes.rb', line 1892

def update!(**args)
  @federated_principal = args[:federated_principal] if args.key?(:federated_principal)
  @service_account = args[:service_account] if args.key?(:service_account)
  @service_account_project_number = args[:service_account_project_number] if args.key?(:service_account_project_number)
end