Class: Google::Apis::PolicytroubleshooterV3::GoogleCloudPolicytroubleshooterIamV3ExplainedAllowPolicy
- Inherits:
-
Object
- Object
- Google::Apis::PolicytroubleshooterV3::GoogleCloudPolicytroubleshooterIamV3ExplainedAllowPolicy
- 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
-
#allow_access_state ⇒ String
Required.
-
#binding_explanations ⇒ Array<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.
-
#full_resource_name ⇒ String
The full resource name that identifies the resource.
-
#policy ⇒ Google::Apis::PolicytroubleshooterV3::GoogleIamV1Policy
An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources.
-
#relevance ⇒ String
The relevance of this policy to the overall access state in the TroubleshootIamPolicyResponse.
Instance Method Summary collapse
-
#initialize(**args) ⇒ GoogleCloudPolicytroubleshooterIamV3ExplainedAllowPolicy
constructor
A new instance of GoogleCloudPolicytroubleshooterIamV3ExplainedAllowPolicy.
-
#update!(**args) ⇒ Object
Update properties of this object.
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_state ⇒ String
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
758 759 760 |
# File 'lib/google/apis/policytroubleshooter_v3/classes.rb', line 758 def allow_access_state @allow_access_state end |
#binding_explanations ⇒ Array<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_name ⇒ String
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
775 776 777 |
# File 'lib/google/apis/policytroubleshooter_v3/classes.rb', line 775 def full_resource_name @full_resource_name end |
#policy ⇒ Google::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 |
#relevance ⇒ String
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
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 |