public sealed class AllowPolicyExplanation : IMessage<AllowPolicyExplanation>, IEquatable<AllowPolicyExplanation>, IDeepCloneable<AllowPolicyExplanation>, IBufferMessage, IMessage
Reference documentation and code samples for the Policy Troubleshooter v3 API class AllowPolicyExplanation.
Details about how the relevant IAM allow policies affect the final access
state.
public RepeatedField<ExplainedAllowPolicy> ExplainedPolicies { get; }
List of IAM allow policies that were evaluated to check the principal's
permissions, with annotations to indicate how each policy contributed to
the final result.
The list of policies includes the policy for the resource itself, as well
as allow policies that are inherited from higher levels of the resource
hierarchy, including the organization, the folder, and the project.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-07 UTC."],[[["\u003cp\u003eThis documentation details the \u003ccode\u003eAllowPolicyExplanation\u003c/code\u003e class, part of the Policy Troubleshooter v3 API from Google Cloud, used to understand the impact of IAM allow policies on access.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eAllowPolicyExplanation\u003c/code\u003e class provides insights into how IAM policies affect the final access state by examining applicable policies.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eExplainedPolicies\u003c/code\u003e property of the \u003ccode\u003eAllowPolicyExplanation\u003c/code\u003e class lists all relevant IAM allow policies, including those inherited from the resource hierarchy, allowing users to understand the cumulative effect of the policies.\u003c/p\u003e\n"],["\u003cp\u003eThe class implements several interfaces, including \u003ccode\u003eIMessage\u003c/code\u003e, \u003ccode\u003eIEquatable\u003c/code\u003e, \u003ccode\u003eIDeepCloneable\u003c/code\u003e, and \u003ccode\u003eIBufferMessage\u003c/code\u003e, and has constructors for default and copy operations.\u003c/p\u003e\n"],["\u003cp\u003eIt also includes a property named \u003ccode\u003eAllowAccessState\u003c/code\u003e that indicates if the principle has permission, and \u003ccode\u003eRelevance\u003c/code\u003e which indicates the relevance of the policy type.\u003c/p\u003e\n"]]],[],null,[]]