class Google::Apis::PolicysimulatorV1beta1::GoogleCloudPolicysimulatorV1beta1ExplainedPolicy
Details about how a specific IAM Policy contributed to the access check.
Attributes
Indicates whether _this policy_ provides the specified permission to the specified member for the specified resource. This field does not indicate whether the member actually has the permission for the resource. There might be another policy that overrides this policy. To determine whether the member actually has the permission, use the `access` field in the TroubleshootIamPolicyResponse. Corresponds to the JSON property `access` @return [String]
Details about how each binding in the policy affects the member's ability, or inability, to use the permission for the resource. If the user who created the Replay does not have access to the policy, this field is omitted. Corresponds to the JSON property `bindingExplanations` @return [Array<Google::Apis::PolicysimulatorV1beta1::GoogleCloudPolicysimulatorV1beta1BindingExplanation>]
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 user who created the Replay does not have access to the policy, this field is omitted. For examples of full resource names for Google
Cloud services, see cloud.google.com/iam/help/troubleshooter/full-resource- names. Corresponds to the JSON property `fullResourceName` @return [String]
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` to a single `role`. Members 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](cloud.google.com/iam/help/conditions/ resource-policies). **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](cloud. google.com/iam/docs/). Corresponds to the JSON property `policy` @return [Google::Apis::PolicysimulatorV1beta1::GoogleIamV1Policy]
The relevance of this policy to the overall determination in the TroubleshootIamPolicyResponse. If the user who created the Replay does not have access to the policy, this field is omitted. Corresponds to the JSON property `relevance` @return [String]
Public Class Methods
# File lib/google/apis/policysimulator_v1beta1/classes.rb, line 482 def initialize(**args) update!(**args) end
Public Instance Methods
Update properties of this object
# File lib/google/apis/policysimulator_v1beta1/classes.rb, line 487 def update!(**args) @access = args[:access] if args.key?(:access) @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