Mantieni tutto organizzato con le raccolte
Salva e classifica i contenuti in base alle tue preferenze.
Questa pagina descrive come risolvere i problemi relativi ai criteri di autorizzazione, negazione e limiti di accesso all'entità di Identity and Access Management (IAM).
Utilizzare lo strumento per la risoluzione dei problemi relativi ai criteri
Se devi risolvere i problemi di accesso per una determinata entità, utilizza
Policy Troubleshooter per IAM.
Policy Troubleshooter ti aiuta a capire se un'entità può accedere a una risorsa. Dati un'entità, una risorsa e un'autorizzazione,
lo strumento per la risoluzione dei problemi dei criteri esamina i criteri di autorizzazione, i criteri di negazione
e i criteri di Principal Access Boundary (PAB) che influiscono sull'accesso dell'entità.
Poi, ti dice se, in base a queste policy, l'entità può utilizzare
il permesso specificato per accedere alla risorsa. Inoltre, elenca le norme pertinenti e spiega in che modo influiscono sull'accesso dell'entità.
Per scoprire come utilizzare Policy Troubleshooter per risolvere i problemi relativi alle policy di autorizzazione, alle policy di negazione e alle policy di Principal Access Boundary, consulta Risolvere i problemi relativi alle autorizzazioni IAM.
Visualizza tutte le policy di autorizzazione e di negazione applicate a una risorsa
In Google Cloud, le seguenti policy di autorizzazione e negazione influiscono sull'accesso
a una risorsa:
Il criterio di autorizzazione della risorsa
I criteri di negazione della risorsa, se presenti
I criteri di autorizzazione del progetto, della cartella e dell'organizzazione padre della risorsa, se presenti
I criteri di negazione del progetto, della cartella e dell'organizzazione padre della risorsa, se presenti
Le policy di autorizzazione e negazione di progetti, cartelle e organizzazioni padre
influenzano l'accesso a una risorsa
a causa dell'ereditarietà dei criteri.
Quando colleghi un criterio di autorizzazione o negazione a un progetto, una cartella o un'organizzazione,
questo criterio si applica anche a tutte le risorse all'interno del progetto, della cartella o
dell'organizzazione.
Ad esempio, se un criterio di negazione per un'organizzazione stabilisce che un'entità non può
utilizzare un'autorizzazione specifica, l'entità non può utilizzare questa autorizzazione per nessuna
risorsa all'interno dell'organizzazione. Questa regola si applica anche se le cartelle e i progetti all'interno di questa organizzazione hanno criteri di negazione più permissivi o criteri di autorizzazione che concedono l'autorizzazione all'entità.
Allo stesso modo, se un criterio di autorizzazione per un progetto concede a un'entità un'autorizzazione specifica, l'entità dispone di questa autorizzazione per qualsiasi risorsa all'interno del progetto, a condizione che non le venga negata.
L'unione di tutti questi criteri viene chiamata criterio applicabile o
criterio effettivo per la risorsa.
In Google Cloud, puoi ottenere un elenco di tutte le norme di autorizzazione e negazione
che influiscono sull'accesso a un progetto utilizzando il comando gcloud beta projects
get-ancestors-iam-policy con il flag --include-deny. Insieme,
queste norme costituiscono le norme applicabili al progetto. Puoi
esaminare ogni policy per vedere in che modo influisce sull'accesso dell'entità.
gcloud
Prima di utilizzare i dati dei comandi riportati di seguito,
apporta le seguenti sostituzioni:
PROJECT_ID: il tuo ID progetto Google Cloud . Gli ID progetto sono stringhe alfanumeriche, come my-project.
La risposta contiene le policy di autorizzazione e negazione per il progetto, le cartelle che sono antenati del progetto e l'organizzazione. L'esempio seguente mostra le policy di autorizzazione per l'organizzazione 1234567890123 e il progetto my-project, nonché una policy di negazione per il progetto my-project:
In questo esempio, a Raha viene concesso il ruolo Amministratore service account (roles/iam.serviceAccountAdmin) nell'organizzazione, ma il progetto ha un criterio di negazione che impedisce a Raha di utilizzare l'autorizzazione iam.googleapis.com/serviceAccounts.create. Di conseguenza, se
Raha tenta di creare un account di servizio nel progetto
my-project, la richiesta verrà rifiutata.
In alcuni casi, potrebbe essere necessario visualizzare solo la policy di autorizzazione effettiva per una risorsa, ad esempio se la tua organizzazione non utilizza policy di negazione. In
questi casi, puoi utilizzare i seguenti metodi per visualizzare la norma
di autorizzazione effettiva:
Visualizza il criterio di autorizzazione IAM della risorsa nella consoleGoogle Cloud . La console Google Cloud mostra automaticamente le norme effettive di ogni risorsa.
Per scoprire come visualizzare i criteri di autorizzazione IAM di una risorsa nella
consoleGoogle Cloud , consulta Visualizzare l'accesso attuale.
Utilizza l'API Cloud Asset per ottenere la policy di autorizzazione effettiva della risorsa. Per scoprire
di più, consulta Visualizzazione dei criteri IAM effettivi.
Cerca policy di autorizzazione
Se devi individuare un'associazione di ruoli specifica in una policy di autorizzazione, puoi
cercarla.
Cloud Asset Inventory ti consente di cercare le policy di autorizzazione per le associazioni di ruoli
che corrispondono ai parametri specificati. Puoi utilizzare una serie di parametri di ricerca,
tra cui:
[[["Facile da capire","easyToUnderstand","thumb-up"],["Il problema è stato risolto","solvedMyProblem","thumb-up"],["Altra","otherUp","thumb-up"]],[["Difficile da capire","hardToUnderstand","thumb-down"],["Informazioni o codice di esempio errati","incorrectInformationOrSampleCode","thumb-down"],["Mancano le informazioni o gli esempi di cui ho bisogno","missingTheInformationSamplesINeed","thumb-down"],["Problema di traduzione","translationIssue","thumb-down"],["Altra","otherDown","thumb-down"]],["Ultimo aggiornamento 2025-09-04 UTC."],[[["\u003cp\u003ePolicy Troubleshooter for IAM helps determine if a principal can access a resource by examining allow policies, deny policies, and principal access boundary (PAB) policies, and it provides details on the relevant policies.\u003c/p\u003e\n"],["\u003cp\u003eAllow and deny policies at the resource, project, folder, and organization levels can affect access to a resource due to policy inheritance, where policies applied to parent entities are inherited by resources within them.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003egcloud beta projects get-ancestors-iam-policy\u003c/code\u003e command with the \u003ccode\u003e--include-deny\u003c/code\u003e flag can be used to list all allow and deny policies that affect access to a project, collectively forming the effective policy.\u003c/p\u003e\n"],["\u003cp\u003eEven if a principal is granted a permission via an allow policy, a deny policy can override it, preventing the principal from using that permission on specific resources, as illustrated with the example of Raha and service account creation.\u003c/p\u003e\n"],["\u003cp\u003eCloud asset inventory can be used to locate specific roles bindings through a search feature that uses parameters such as the resource type, principal type, role, project, folder, and organization.\u003c/p\u003e\n"]]],[],null,["# Troubleshoot policies\n\nThis page describes how to troubleshoot\nIdentity and Access Management (IAM) allow, deny, and principal access boundary policies.\n\nUse Policy Troubleshooter\n-------------------------\n\nIf you need to troubleshoot access for a specific principal, use\nPolicy Troubleshooter for IAM.\nPolicy Troubleshooter helps you understand whether a principal can access a resource. Given a principal, a resource, and a permission, Policy Troubleshooter examines the allow policies, deny policies, and principal access boundary (PAB) policies that impact the principal's access. Then, it tells you whether, based on those policies, the principal can use the specified permission to access the resource. It also lists the relevant policies and explains how they affect the principal's access.\n\nTo learn how to use Policy Troubleshooter to troubleshoot allow\npolicies, deny policies, and principal access boundary policies, see [Troubleshoot\nIAM permissions](/policy-intelligence/docs/troubleshoot-access).\n\nView all allow and deny policies that apply to a resource\n---------------------------------------------------------\n\n\nIn Google Cloud, the following allow and deny policies affect access\nto a resource:\n\n- The resource's allow policy\n- The resource's deny policies, if any\n- The allow policies of the resource's parent project, folder, and organization, if any\n- The deny policies of the resource's parent project, folder, and organization, if any\n\n\nThe allow and deny policies of parent projects, folders, and organizations\naffect access to a resource\nbecause of [policy inheritance](/iam/docs/policies#inheritance).\nWhen you attach an allow or deny policy to a project, folder, or organization,\nthat policy also applies for all resources inside that project, folder, or\norganization.\n\n\nFor example, if a deny policy for an organization says that a principal can't\nuse a specific permission, then the principal can't use that permission for any\nresource within the organization. This rule applies even if the folders and\nprojects within that organization have more permissive deny policies, or allow\npolicies that give the principal the permission.\n\n\nSimilarly, if an allow policy for a project gives a principal a specific\npermission, then the principal has that permission for any resource within the\nproject, provided that they aren't denied that permission.\n\nThe union of all of these policies is called the *applicable policy* or\n*effective policy* for the resource.\n\nIn Google Cloud, you can get a list of all of the allow and deny policies\nthat affect access to a project by using the `gcloud beta projects\nget-ancestors-iam-policy` command with the `--include-deny` flag. Together,\nthese policies make up the applicable policy for the project. You can\ninvestigate each policy to see how it affects the principal's access. \n\n### gcloud\n\n\nBefore using any of the command data below,\nmake the following replacements:\n\n- \u003cvar translate=\"no\"\u003ePROJECT_ID\u003c/var\u003e: Your Google Cloud project ID. Project IDs are alphanumeric strings, like `my-project`.\n\n\nExecute the\n\n[`gcloud beta projects get-ancestors-iam-policy`](/sdk/gcloud/reference/beta/projects/get-ancestors-iam-policy)\n\ncommand:\n\n#### Linux, macOS, or Cloud Shell\n\n```bash\ngcloud beta projects get-ancestors-iam-policy PROJECT_ID --include-deny --format=json\n```\n\n#### Windows (PowerShell)\n\n```bash\ngcloud beta projects get-ancestors-iam-policy PROJECT_ID --include-deny --format=json\n```\n\n#### Windows (cmd.exe)\n\n```bash\ngcloud beta projects get-ancestors-iam-policy PROJECT_ID --include-deny --format=json\n```\n\n\nThe response contains the allow and deny policies for the project; any folders that are ancestors\nof the project; and the organization. The following example shows allow policies for the\norganization `1234567890123` and the project `my-project`, as well as a deny\npolicy for the project `my-project`:\n\n```\n[\n {\n \"id\": \"1234567890123\",\n \"policy\": {\n \"bindings\": [\n {\n \"members\": [\n \"group:cloud-admins@example.com\"\n ],\n \"role\": \"roles/iam.denyAdmin\"\n },\n {\n \"members\": [\n \"user:raha@example.com\"\n ],\n \"role\": \"roles/iam.serviceAccountAdmin\"\n }\n ],\n \"etag\": \"BwXW6Eab7TI=\",\n \"version\": 1\n },\n \"type\": \"organization\"\n },\n {\n \"id\": \"my-project\",\n \"policy\": {\n \"bindings\": [\n {\n \"members\": [\n \"group:cloud-admins@example.com\"\n ],\n \"role\": \"roles/owner\"\n }\n ],\n \"etag\": \"BwXXjOM7L6M=\",\n \"type\": \"project\"\n }\n },\n {\n \"id\": \"my-project\",\n \"policy\": {\n \"createTime\": \"2022-02-14T21:46:35.865279Z\",\n \"displayName\": \"My deny policy\",\n \"etag\": \"MTgyMzg2ODcwNTEyMjMxMTM3Mjg=\",\n \"kind\": \"DenyPolicy\",\n \"name\": \"policies/cloudresourcemanager.googleapis.com%2Fprojects%2F123456789012/denypolicies/my-deny-policy\",\n \"rules\": [\n {\n \"denyRule\": {\n \"deniedPermissions\": [\n \"iam.googleapis.com/serviceAccounts.create\"\n ],\n \"deniedPrincipals\": [\n \"user:raha@example.com\"\n ]\n },\n \"description\": \"Prevent service account creation\"\n }\n ],\n \"uid\": \"c83e3dc3-d8a6-6f51-4018-814e9f200b05\",\n \"updateTime\": \"2022-02-14T21:46:35.865279Z\"\n },\n \"type\": \"project\"\n }\n]\n```\n\nIn this example, Raha is granted the Service Account\nAdmin role (`roles/iam.serviceAccountAdmin`) on the organization, but the\nproject has a deny policy that prevents Raha from using the\npermission `iam.googleapis.com/serviceAccounts.create`. As a result, if\nRaha tries to create a service account in the project\n`my-project`, the request will be denied.\n\nIn some cases, you might only need to view the effective allow policy for a\nresource---for example, if your organization doesn't use deny policies. In\nthese cases, you can use the following methods to view the effective allow\npolicy:\n\n- View the resource's IAM allow policy in the\n Google Cloud console. The Google Cloud console automatically shows each\n resource's effective policy.\n\n To learn how to view a resource's IAM allow policy in the\n Google Cloud console, see [View current access](/iam/docs/granting-changing-revoking-access#view-access).\n- Use the Cloud Asset API to get the resource's effective allow policy. To learn\n more, see [Viewing effective IAM policies](/asset-inventory/docs/view-effective-iam-policies).\n\nSearch allow policies\n---------------------\n\nIf you need to locate a specific role binding in an allow policy, you can\nsearch the allow policy.\n\nCloud Asset Inventory lets you search allow policies for role bindings\nthat match the specified parameters. You can use a variety of search parameters,\nincluding the following:\n\n- Resource type\n- Principal type\n- Role\n- Project\n- Folder\n- Organization\n\nFor more information, see [Searching IAM allow policies](/asset-inventory/docs/searching-iam-policies)."]]