Class BindingExplanation (2.0.0)

public sealed class BindingExplanation : IMessage<BindingExplanation>, IEquatable<BindingExplanation>, IDeepCloneable<BindingExplanation>, IBufferMessage, IMessage

Details about how a binding in a policy affects a member's ability to use a permission.

Inheritance

Object > BindingExplanation

Namespace

Google.Cloud.PolicyTroubleshooter.V1

Assembly

Google.Cloud.PolicyTroubleshooter.V1.dll

Constructors

BindingExplanation()

public BindingExplanation()

BindingExplanation(BindingExplanation)

public BindingExplanation(BindingExplanation other)
Parameter
NameDescription
otherBindingExplanation

Properties

Access

public AccessState Access { get; set; }

Required. Indicates whether this binding 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 binding that overrides this binding. To determine whether the member actually has the permission, use the access field in the [TroubleshootIamPolicyResponse][IamChecker.TroubleshootIamPolicyResponse].

Property Value
TypeDescription
AccessState

Condition

public Expr Condition { get; set; }

A condition expression that prevents access unless the expression evaluates to true.

To learn about IAM Conditions, see http://cloud.google.com/iam/help/conditions/overview.

Property Value
TypeDescription
Expr

Memberships

public MapField<string, BindingExplanation.Types.AnnotatedMembership> Memberships { get; }

Indicates whether each member in the binding includes the member specified in the request, either directly or indirectly. Each key identifies a member in the binding, and each value indicates whether the member in the binding includes the member in the request.

For example, suppose that a binding includes the following members:

  • user:alice@example.com
  • group:product-eng@example.com

You want to troubleshoot access for user:bob@example.com. This user is a member of the group group:product-eng@example.com.

For the first member in the binding, the key is user:alice@example.com, and the membership field in the value is set to MEMBERSHIP_NOT_INCLUDED.

For the second member in the binding, the key is group:product-eng@example.com, and the membership field in the value is set to MEMBERSHIP_INCLUDED.

Property Value
TypeDescription
MapField<String, BindingExplanation.Types.AnnotatedMembership>

Relevance

public HeuristicRelevance Relevance { get; set; }

The relevance of this binding to the overall determination for the entire policy.

Property Value
TypeDescription
HeuristicRelevance

Role

public string Role { get; set; }

The role that this binding grants. For example, roles/compute.serviceAgent.

For a complete list of predefined IAM roles, as well as the permissions in each role, see https://cloud.google.com/iam/help/roles/reference.

Property Value
TypeDescription
String

RolePermission

public BindingExplanation.Types.RolePermission RolePermission { get; set; }

Indicates whether the role granted by this binding contains the specified permission.

Property Value
TypeDescription
BindingExplanation.Types.RolePermission

RolePermissionRelevance

public HeuristicRelevance RolePermissionRelevance { get; set; }

The relevance of the permission's existence, or nonexistence, in the role to the overall determination for the entire policy.

Property Value
TypeDescription
HeuristicRelevance