Class: Google::Apis::AccesscontextmanagerV1::Principal
- Inherits:
-
Object
- Object
- Google::Apis::AccesscontextmanagerV1::Principal
- 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
-
#federated_principal ⇒ String
Immutable.
-
#service_account ⇒ String
Immutable.
-
#service_account_project_number ⇒ String
Immutable.
Instance Method Summary collapse
-
#initialize(**args) ⇒ Principal
constructor
A new instance of Principal.
-
#update!(**args) ⇒ Object
Update properties of this object.
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_principal ⇒ String
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`
1869 1870 1871 |
# File 'lib/google/apis/accesscontextmanager_v1/classes.rb', line 1869 def federated_principal @federated_principal end |
#service_account ⇒ String
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
1879 1880 1881 |
# File 'lib/google/apis/accesscontextmanager_v1/classes.rb', line 1879 def service_account @service_account end |
#service_account_project_number ⇒ String
Immutable. Cloud project number used to assign policies to all service
accounts owned by the project.
Corresponds to the JSON property serviceAccountProjectNumber
1885 1886 1887 |
# File 'lib/google/apis/accesscontextmanager_v1/classes.rb', line 1885 def service_account_project_number @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 |