public sealed class BindingExplanation : IMessage<BindingExplanation>, IEquatable<BindingExplanation>, IDeepCloneable<BindingExplanation>, IBufferMessage, IMessage
Reference documentation and code samples for the Policy Troubleshooter v1 API class BindingExplanation.
Details about how a binding in a policy affects a principal's ability to use a permission.
Implements
IMessageBindingExplanation, IEquatableBindingExplanation, IDeepCloneableBindingExplanation, IBufferMessage, IMessageNamespace
Google.Cloud.PolicyTroubleshooter.V1Assembly
Google.Cloud.PolicyTroubleshooter.V1.dll
Constructors
BindingExplanation()
public BindingExplanation()
BindingExplanation(BindingExplanation)
public BindingExplanation(BindingExplanation other)
Parameter | |
---|---|
Name | Description |
other |
BindingExplanation |
Properties
Access
public AccessState Access { get; set; }
Required. Indicates whether this binding 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 binding that overrides
this binding. To determine whether the principal actually has the
permission, use the access
field in the
[TroubleshootIamPolicyResponse][IamChecker.TroubleshootIamPolicyResponse].
Property Value | |
---|---|
Type | Description |
AccessState |
Condition
public Expr Condition { get; set; }
A condition expression that prevents this binding from granting access
unless the expression evaluates to true
.
To learn about IAM Conditions, see https://cloud.google.com/iam/help/conditions/overview.
Property Value | |
---|---|
Type | Description |
Expr |
Memberships
public MapField<string, BindingExplanation.Types.AnnotatedMembership> Memberships { get; }
Indicates whether each principal in the binding includes the principal specified in the request, either directly or indirectly. Each key identifies a principal in the binding, and each value indicates whether the principal in the binding includes the principal in the request.
For example, suppose that a binding includes the following principals:
user:alice@example.com
group:product-eng@example.com
You want to troubleshoot access for user:bob@example.com
. This user is a
principal of the group group:product-eng@example.com
.
For the first principal 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 principal 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 | |
---|---|
Type | Description |
MapFieldstringBindingExplanationTypesAnnotatedMembership |
Relevance
public HeuristicRelevance Relevance { get; set; }
The relevance of this binding to the overall determination for the entire policy.
Property Value | |
---|---|
Type | Description |
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 | |
---|---|
Type | Description |
string |
RolePermission
public BindingExplanation.Types.RolePermission RolePermission { get; set; }
Indicates whether the role granted by this binding contains the specified permission.
Property Value | |
---|---|
Type | Description |
BindingExplanationTypesRolePermission |
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 | |
---|---|
Type | Description |
HeuristicRelevance |