Organízate con las colecciones
Guarda y clasifica el contenido según tus preferencias.
En esta página se describe cómo solucionar problemas de las políticas de acceso de principales, de denegación y de permiso de Gestión de Identidades y Accesos (IAM).
Usar la herramienta para solucionar problemas de políticas
Si necesitas solucionar problemas de acceso de un principal específico, usa la herramienta para solucionar problemas de políticas de gestión de identidades y accesos.
Solucionador de problemas de políticas te ayuda a saber si una entidad de seguridad puede acceder a un recurso. Dado un principal, un recurso y un permiso, Solucionador de problemas de políticas examina las políticas de permiso, las políticas de denegación y las políticas de límites de acceso de principales (PAB) que afectan al acceso del principal.
A continuación, te indica si, según esas políticas, la entidad principal puede usar el permiso especificado para acceder al recurso. También se indican las políticas pertinentes y se explica cómo afectan al acceso de la cuenta principal.
Para saber cómo usar Solucionador de problemas de políticas para solucionar problemas de políticas de permiso, políticas de denegación y políticas de límite de acceso de principales, consulta Solucionar problemas de permisos de IAM.
Ver todas las políticas de permitir y denegar que se aplican a un recurso
En Google Cloud, las siguientes políticas de permitir y denegar afectan al acceso
a un recurso:
La política de permisos del recurso
Las políticas de denegación del recurso, si las hay
Las políticas de permiso del proyecto, la carpeta y la organización principales del recurso, si los tiene
Las políticas de denegación del proyecto, la carpeta y la organización principales del recurso, si los hay
Las políticas de permitir y denegar de los proyectos, las carpetas y las organizaciones principales afectan al acceso a un recurso debido a la herencia de políticas.
Cuando adjuntas una política de permiso o denegación a un proyecto, una carpeta o una organización, esa política también se aplica a todos los recursos de ese proyecto, carpeta u organización.
Por ejemplo, si una política de denegación de una organización indica que una entidad de seguridad no puede usar un permiso específico, la entidad de seguridad no podrá usar ese permiso para ningún recurso de la organización. Esta regla se aplica aunque las carpetas y los proyectos de esa organización tengan políticas de denegación más permisivas o políticas de permiso que concedan el permiso a la principal.
Del mismo modo, si una política de permiso de un proyecto otorga a una entidad principal un permiso específico, la entidad principal tendrá ese permiso para cualquier recurso del proyecto, siempre que no se le deniegue.
La unión de todas estas políticas se denomina política aplicable o política efectiva del recurso.
En Google Cloud, puedes obtener una lista de todas las políticas de permitir y denegar que afectan al acceso a un proyecto mediante el comando gcloud beta projects
get-ancestors-iam-policy con la marca --include-deny. En conjunto, estas políticas forman la política aplicable al proyecto. Puedes investigar cada política para ver cómo afecta al acceso de la entidad de seguridad.
gcloud
Antes de usar los datos de los comandos que se indican a continuación, haz los siguientes cambios:
PROJECT_ID: tu ID de proyecto. Google Cloud Los IDs de proyecto son cadenas alfanuméricas, como my-project.
La respuesta contiene las políticas de permiso y denegación del proyecto, las carpetas que sean antecesoras del proyecto y la organización. En el siguiente ejemplo se muestran las políticas de permiso de la organización 1234567890123 y del proyecto my-project, así como una política de denegación del proyecto my-project:
En este ejemplo, a Raha se le ha concedido el rol Administrador de cuentas de servicio (roles/iam.serviceAccountAdmin) en la organización, pero el proyecto tiene una política de denegación que impide que Raha use el permiso iam.googleapis.com/serviceAccounts.create. Por lo tanto, si Raha intenta crear una cuenta de servicio en el proyecto my-project, se denegará la solicitud.
En algunos casos, solo tendrás que ver la política de permiso efectiva de un recurso, por ejemplo, si tu organización no usa políticas de denegación. En estos casos, puede usar los siguientes métodos para ver la política de permiso efectiva:
Consulta la política de permiso de gestión de identidades y accesos del recurso en laGoogle Cloud consola. La consola Google Cloud muestra automáticamente la política efectiva de cada recurso.
Para saber cómo ver la política de permisos de gestión de identidades y accesos de un recurso en laGoogle Cloud consola, consulta Ver el acceso actual.
Si necesitas localizar un enlace de rol específico en una política de permiso, puedes buscar en la política de permiso.
Inventario de recursos de Cloud le permite buscar políticas de permisos para las vinculaciones de roles que coincidan con los parámetros especificados. Puedes usar varios parámetros de búsqueda, como los siguientes:
[[["Es fácil de entender","easyToUnderstand","thumb-up"],["Me ofreció una solución al problema","solvedMyProblem","thumb-up"],["Otro","otherUp","thumb-up"]],[["Es difícil de entender","hardToUnderstand","thumb-down"],["La información o el código de muestra no son correctos","incorrectInformationOrSampleCode","thumb-down"],["Me faltan las muestras o la información que necesito","missingTheInformationSamplesINeed","thumb-down"],["Problema de traducción","translationIssue","thumb-down"],["Otro","otherDown","thumb-down"]],["Última actualización: 2025-09-11 (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)."]]