Class: Google::Apis::PolicytroubleshooterV3::GoogleCloudPolicytroubleshooterIamV3ExplainedAllowPolicy

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

Overview

Details about how a specific IAM allow policy contributed to the final access state.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ GoogleCloudPolicytroubleshooterIamV3ExplainedAllowPolicy

Returns a new instance of GoogleCloudPolicytroubleshooterIamV3ExplainedAllowPolicy.



815
816
817
# File 'lib/google/apis/policytroubleshooter_v3/classes.rb', line 815

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

Instance Attribute Details

#allow_access_stateString

Required. Indicates whether this policy provides the specified permission to the specified principal for the specified resource. This field does not indicate whether the principal actually has the permission for the resource. There might be another policy that overrides this policy. To determine whether the principal actually has the permission, use the overall_access_state field in the TroubleshootIamPolicyResponse. Corresponds to the JSON property allowAccessState

Returns:

  • (String)


758
759
760
# File 'lib/google/apis/policytroubleshooter_v3/classes.rb', line 758

def allow_access_state
  @allow_access_state
end

#binding_explanationsArray<Google::Apis::PolicytroubleshooterV3::GoogleCloudPolicytroubleshooterIamV3AllowBindingExplanation>

Details about how each role binding in the policy affects the principal's ability, or inability, to use the permission for the resource. The order of the role bindings matches the role binding order in the policy. If the sender of the request does not have access to the policy, this field is omitted. Corresponds to the JSON property bindingExplanations



766
767
768
# File 'lib/google/apis/policytroubleshooter_v3/classes.rb', line 766

def binding_explanations
  @binding_explanations
end

#full_resource_nameString

The full resource name that identifies the resource. For example, //compute. googleapis.com/projects/my-project/zones/us-central1-a/instances/my-instance. If the sender of the request does not have access to the policy, this field is omitted. For examples of full resource names for Google Cloud services, see https://cloud.google.com/iam/help/troubleshooter/full-resource-names. Corresponds to the JSON property fullResourceName

Returns:

  • (String)


775
776
777
# File 'lib/google/apis/policytroubleshooter_v3/classes.rb', line 775

def full_resource_name
  @full_resource_name
end

#policyGoogle::Apis::PolicytroubleshooterV3::GoogleIamV1Policy

An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A Policy is a collection of bindings. A binding binds one or more members, or principals, to a single role. Principals can be user accounts, service accounts, Google groups, and domains ( such as G Suite). A role is a named list of permissions; each role can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a binding can also specify a condition, which is a logical expression that allows access to a resource only if the expression evaluates to true. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the IAM documentation. JSON example: ` " bindings": [ ` "role": "roles/resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", " serviceAccount:my-project-id@appspot.gserviceaccount.com" ] `, ` "role": " roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com" ], "condition": ` "title": "expirable access", "description": "Does not grant access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00: 00:00.000Z')", ` ` ], "etag": "BwWWja0YfJA=", "version": 3 ` YAML example: bindings: - members: - user:mike@example.com - group:admins@ example.com - domain:google.com - serviceAccount:my-project-id@appspot. gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For a description of IAM and its features, see the IAM documentation. Corresponds to the JSON property policy



806
807
808
# File 'lib/google/apis/policytroubleshooter_v3/classes.rb', line 806

def policy
  @policy
end

#relevanceString

The relevance of this policy to the overall access state in the TroubleshootIamPolicyResponse. If the sender of the request does not have access to the policy, this field is omitted. Corresponds to the JSON property relevance

Returns:

  • (String)


813
814
815
# File 'lib/google/apis/policytroubleshooter_v3/classes.rb', line 813

def relevance
  @relevance
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



820
821
822
823
824
825
826
# File 'lib/google/apis/policytroubleshooter_v3/classes.rb', line 820

def update!(**args)
  @allow_access_state = args[:allow_access_state] if args.key?(:allow_access_state)
  @binding_explanations = args[:binding_explanations] if args.key?(:binding_explanations)
  @full_resource_name = args[:full_resource_name] if args.key?(:full_resource_name)
  @policy = args[:policy] if args.key?(:policy)
  @relevance = args[:relevance] if args.key?(:relevance)
end