[[["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\u003eThe latest version of the PolicyTroubleshooter API is 1.2.0, with previous versions including 1.1.0 and 1.0.0 also available.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003ePolicyTroubleshooter.PolicyTroubleshooterBase\u003c/code\u003e is the base class for server-side implementations of the PolicyTroubleshooter, inheriting from the \u003ccode\u003eobject\u003c/code\u003e class.\u003c/p\u003e\n"],["\u003cp\u003eThis class, located in the \u003ccode\u003eGoogle.Cloud.PolicyTroubleshooter.Iam.V3\u003c/code\u003e namespace, includes a method \u003ccode\u003eTroubleshootIamPolicy\u003c/code\u003e for checking a principal's permission on a resource.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eTroubleshootIamPolicy\u003c/code\u003e method takes a \u003ccode\u003eTroubleshootIamPolicyRequest\u003c/code\u003e and \u003ccode\u003eServerCallContext\u003c/code\u003e as parameters, returning a \u003ccode\u003eTask<TroubleshootIamPolicyResponse>\u003c/code\u003e to the client.\u003c/p\u003e\n"],["\u003cp\u003eThis API is used to determine and provide detailed explanations for why a user may or may not have access to specific resources.\u003c/p\u003e\n"]]],[],null,["# Policy Troubleshooter v3 API - Class PolicyTroubleshooter.PolicyTroubleshooterBase (1.2.0)\n\nVersion latestkeyboard_arrow_down\n\n- [1.2.0 (latest)](/dotnet/docs/reference/Google.Cloud.PolicyTroubleshooter.Iam.V3/latest/Google.Cloud.PolicyTroubleshooter.Iam.V3.PolicyTroubleshooter.PolicyTroubleshooterBase)\n- [1.1.0](/dotnet/docs/reference/Google.Cloud.PolicyTroubleshooter.Iam.V3/1.1.0/Google.Cloud.PolicyTroubleshooter.Iam.V3.PolicyTroubleshooter.PolicyTroubleshooterBase)\n- [1.0.0](/dotnet/docs/reference/Google.Cloud.PolicyTroubleshooter.Iam.V3/1.0.0/Google.Cloud.PolicyTroubleshooter.Iam.V3.PolicyTroubleshooter.PolicyTroubleshooterBase) \n\n [BindServiceMethod(typeof(PolicyTroubleshooter), \"BindService\")]\n public abstract class PolicyTroubleshooter.PolicyTroubleshooterBase\n\nReference documentation and code samples for the Policy Troubleshooter v3 API class PolicyTroubleshooter.PolicyTroubleshooterBase.\n\nBase class for server-side implementations of PolicyTroubleshooter \n\nInheritance\n-----------\n\n[object](https://learn.microsoft.com/dotnet/api/system.object) \\\u003e PolicyTroubleshooter.PolicyTroubleshooterBase \n\nInherited Members\n-----------------\n\n[object.GetHashCode()](https://learn.microsoft.com/dotnet/api/system.object.gethashcode) \n[object.GetType()](https://learn.microsoft.com/dotnet/api/system.object.gettype) \n[object.MemberwiseClone()](https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone) \n[object.ToString()](https://learn.microsoft.com/dotnet/api/system.object.tostring)\n\nNamespace\n---------\n\n[Google.Cloud.PolicyTroubleshooter.Iam.V3](/dotnet/docs/reference/Google.Cloud.PolicyTroubleshooter.Iam.V3/latest/Google.Cloud.PolicyTroubleshooter.Iam.V3)\n\nAssembly\n--------\n\nGoogle.Cloud.PolicyTroubleshooter.Iam.V3.dll\n\nMethods\n-------\n\n### TroubleshootIamPolicy(TroubleshootIamPolicyRequest, ServerCallContext)\n\n public virtual Task\u003cTroubleshootIamPolicyResponse\u003e TroubleshootIamPolicy(TroubleshootIamPolicyRequest request, ServerCallContext context)\n\nChecks whether a principal has a specific permission for a specific\nresource, and explains why the principal does or doesn't have that\npermission."]]