Analizar las políticas de permiso

En esta página se explica cómo usar Analizador de políticas para las políticas de permiso con el fin de averiguar qué principales (usuarios, cuentas de servicio, grupos y dominios) tienen acceso a quéGoogle Cloud recursos.

En los ejemplos de esta página se muestra cómo ejecutar una consulta de análisis de políticas y ver los resultados inmediatamente. Si quieres exportar los resultados para analizarlos más a fondo, puedes usar AnalyzeIamPolicyLongrunning para escribir los resultados de la consulta en BigQuery o Cloud Storage.

Antes de empezar

Roles y permisos necesarios

Para analizar las políticas de permiso, se necesitan los siguientes roles y permisos.

Roles de gestión de identidades y accesos necesarios

Para obtener los permisos que necesitas para analizar una política de permisos, pide a tu administrador que te conceda los siguientes roles de gestión de identidades y accesos en el proyecto, la carpeta o la organización en los que vas a acotar tu consulta:

Para obtener más información sobre cómo conceder roles, consulta el artículo Gestionar el acceso a proyectos, carpetas y organizaciones.

Estos roles predefinidos contienen los permisos necesarios para analizar una política de permisos. Para ver los permisos exactos que se necesitan, despliega la sección Permisos necesarios:

Permisos obligatorios

Para analizar una política de permiso, se necesitan los siguientes permisos:

  • cloudasset.assets.analyzeIamPolicy
  • cloudasset.assets.searchAllResources
  • cloudasset.assets.searchAllIamPolicies
  • Para analizar políticas con roles personalizados de gestión de identidades y accesos, sigue estos pasos: iam.roles.get
  • Para usar Google Cloud CLI y analizar las políticas, sigue estos pasos: serviceusage.services.use

También puedes obtener estos permisos con roles personalizados u otros roles predefinidos.

Permisos de Google Workspace necesarios

Si quieres desplegar grupos en los resultados de las consultas para ver si una entidad tiene determinados roles o permisos como resultado de su pertenencia a un grupo de Google Workspace, necesitas el permiso groups.read de Google Workspace. Este permiso se incluye en el rol de administrador de lector de Grupos y en roles más potentes, como el de administrador de Grupos o el de superadministrador. Para saber cómo asignar estos roles, consulta el artículo Asignar roles de administrador específicos.

Determinar qué principales pueden acceder a un recurso

Puedes usar Analizador de políticas para comprobar qué principales tienen determinados roles o permisos en un recurso específico de tu proyecto, carpeta u organización. Para obtener esta información, crea una consulta que incluya el recurso del que quieras analizar el acceso y uno o varios roles o permisos que quieras comprobar.

Consola

  1. En la Google Cloud consola, ve a la página Analizador de políticas.

    Ir a la página Analizador de políticas

  2. En la sección Analizar políticas, busque el panel Consulta personalizada y haga clic en Crear consulta personalizada en ese panel.

  3. En el campo Seleccionar ámbito de la consulta, selecciona el proyecto, la carpeta o la organización en los que quieras acotar la consulta. Analizador de políticas analizará el acceso a ese proyecto, carpeta u organización, así como a los recursos que contenga.

  4. Elige el recurso que quieras comprobar y el rol o permiso que quieras consultar:

    1. En el campo Parámetro 1, seleccione Recurso en el menú desplegable.
    2. En el campo Resource (Recurso), introduce el nombre completo del recurso del que quieras analizar el acceso. Si no sabes el nombre completo del recurso, empieza a escribir el nombre visible del recurso y, a continuación, selecciona el recurso de la lista de recursos proporcionada.
    3. Haz clic en Añadir selector.
    4. En el campo Parámetro 2, selecciona Rol o Permiso.
    5. En el campo Selecciona un rol o Selecciona un permiso, selecciona el rol o el permiso que quieras comprobar.
    6. Opcional: Para buscar roles y permisos adicionales, sigue añadiendo selectores de Rol y Permiso hasta que se muestren todos los roles y permisos que quieras comprobar.
  5. Opcional: Haz clic en Continuar y, a continuación, selecciona las opciones avanzadas que quieras habilitar para esta consulta.

  6. En el panel Consulta personalizada, haga clic en Analizar > Ejecutar consulta. En la página del informe se muestran los parámetros de consulta que ha introducido y una tabla de resultados con todos los principales que tienen los roles o permisos especificados en el recurso indicado.

    Las consultas de análisis de políticas de la consola Google Cloud se ejecutan durante un minuto como máximo. Al cabo de un minuto, la consola de Google Cloud detiene la consulta y muestra todos los resultados disponibles. Si la consulta no se completa en ese tiempo, la consola Google Cloud muestra un banner que indica que los resultados están incompletos. Para obtener más resultados de estas consultas, exporta los resultados a BigQuery.

gcloud

Antes de usar los datos de los comandos que se indican a continuación, haz los siguientes cambios:

  • RESOURCE_TYPE: el tipo de recurso al que quieres acotar la búsqueda. Solo se analizarán las políticas de permiso de gestión de identidades y accesos asociadas a este recurso y a sus descendientes. Usa el valor project, folder o organization.
  • RESOURCE_ID: el ID delGoogle Cloud proyecto, la carpeta o la organización en los que quieres acotar la búsqueda. Solo se analizarán las políticas de permiso de gestión de identidades y accesos asociadas a este recurso y a sus descendientes. Los IDs de proyecto son cadenas alfanuméricas, como my-project. Los IDs de carpetas y organizaciones son numéricos, como 123456789012.
  • FULL_RESOURCE_NAME: Nombre completo del recurso del que quieres analizar el acceso. Para ver una lista de los formatos de nombre de recurso completo, consulta Formato de nombre de recurso.
  • PERMISSIONS: una lista separada por comas de los permisos que quieres comprobar. Por ejemplo, compute.instances.get,compute.instances.start. Si incluyes varios permisos, Analizador de políticas comprobará si se ha concedido alguno de ellos.

Ejecuta el comando gcloud asset analyze-iam-policy:

Linux, macOS o Cloud Shell

gcloud asset analyze-iam-policy --RESOURCE_TYPE=RESOURCE_ID \
    --full-resource-name=FULL_RESOURCE_NAME \
    --permissions='PERMISSIONS'

Windows (PowerShell)

gcloud asset analyze-iam-policy --RESOURCE_TYPE=RESOURCE_ID `
    --full-resource-name=FULL_RESOURCE_NAME `
    --permissions='PERMISSIONS'

Windows (cmd.exe)

gcloud asset analyze-iam-policy --RESOURCE_TYPE=RESOURCE_ID ^
    --full-resource-name=FULL_RESOURCE_NAME ^
    --permissions='PERMISSIONS'

Recibirás una respuesta en formato YAML con los resultados del análisis. En cada resultado del análisis se muestra un conjunto de accesos, identidades y recursos relevantes para tu consulta, seguido de la vinculación de roles de IAM relacionada. Si la vinculación de roles es condicional, el resultado del análisis también incluye el resultado de la evaluación de la condición. Si no se puede evaluar la condición, el resultado es CONDITIONAL.

Los principales que tienen alguno de los permisos especificados en el recurso indicado se muestran en los campos identities de la respuesta. En el siguiente ejemplo se muestra un resultado de análisis único con el campo identities resaltado.

...
---
ACLs:
- accesses:
  - permission: compute.instances.get
  - permission: compute.instances.start
  identities:
  - name: user:my-user@example.com
  resources:
  - fullResourceName: //cloudresourcemanager.googleapis.com/projects/my-project
policy:
  attachedResource: //cloudresourcemanager.googleapis.com/projects/my-project
  binding:
    members:
    - user: my-user@example.com
    role: roles/compute.admin
---
...

Si la solicitud se agota antes de que finalice la consulta, recibirás un error DEADLINE_EXCEEDED. Para obtener más resultados de estas consultas, escribe los resultados en BigQuery o Cloud Storage con la versión de larga duración de analyze-iam-policy. Para obtener instrucciones, consulta Escribir análisis de políticas en BigQuery o Escribir análisis de políticas en Cloud Storage.

REST

Para determinar qué principales tienen determinados permisos en un recurso, utilice el método analyzeIamPolicy de la API Cloud Asset Inventory.

Antes de usar los datos de la solicitud, haz las siguientes sustituciones:

  • RESOURCE_TYPE: el tipo de recurso al que quieres acotar la búsqueda. Solo se analizarán las políticas de permiso de gestión de identidades y accesos asociadas a este recurso y a sus descendientes. Usa el valor projects, folders o organizations.
  • RESOURCE_ID: el ID delGoogle Cloud proyecto, la carpeta o la organización en los que quieres acotar la búsqueda. Solo se analizarán las políticas de permiso de gestión de identidades y accesos asociadas a este recurso y a sus descendientes. Los IDs de proyecto son cadenas alfanuméricas, como my-project. Los IDs de carpetas y organizaciones son numéricos, como 123456789012.
  • FULL_RESOURCE_NAME: Nombre completo del recurso del que quieres analizar el acceso. Para ver una lista de los formatos de nombre de recurso completo, consulta Formato de nombre de recurso.
  • PERMISSION_1, PERMISSION_2... PERMISSION_N: los permisos que quieres comprobar (por ejemplo, compute.instances.get). Si incluyes varios permisos, Analizador de políticas comprobará si se ha concedido alguno de ellos.

Método HTTP y URL:

POST https://cloudasset.googleapis.com/v1/RESOURCE_TYPE/RESOURCE_ID:analyzeIamPolicy

Cuerpo JSON de la solicitud:

{
  "analysisQuery": {
    "resourceSelector": {
      "fullResourceName": "FULL_RESOURCE_NAME"
    },
    "accessSelector": {
      "permissions": [
        "PERMISSION_1",
        "PERMISSION_2",
        "PERMISSION_N"
      ]
    }
  }
}

Para enviar tu solicitud, despliega una de estas opciones:

Recibirás una respuesta JSON con los resultados del análisis. Cada resultado del análisis describe una vinculación de rol de gestión de identidades y accesos pertinente y, a continuación, enumera el recurso, los accesos y las entidades principales de esa vinculación. Si la vinculación de roles es condicional, el resultado del análisis también incluye el resultado de la evaluación de la condición. Si no se ha podido evaluar la condición, el resultado se indica como CONDITIONAL.

Los principales que tienen alguno de los permisos especificados en el recurso indicado se muestran en los campos identities de la respuesta. En el siguiente ejemplo se muestra un resultado de análisis único con el campo identities resaltado.

...
{
  "attachedResourceFullName": "//cloudresourcemanager.googleapis.com/projects/my-project",
  "iamBinding": {
    "role": "roles/compute.admin",
    "members": [
      "user:my-user@example.com"
    ]
  },
  "accessControlLists": [
    {
      "resources": [
        {
          "fullResourceName": "//cloudresourcemanager.googleapis.com/projects/my-project"
        }
      ],
      "accesses": [
        {
          "permission": "compute.instances.get"
        },
        {
          "permission": "compute.instances.start"
        }
      ]
    }
  ],
  "identityList": {
    "identities": [
      {
        "name": "user:my-user@example.com"
      }
    ]
  },
  "fullyExplored": true
},
...

Si la solicitud se agota antes de que finalice la consulta, recibirás un error DEADLINE_EXCEEDED. Para obtener más resultados de estas consultas, escribe los resultados en BigQuery o Cloud Storage con la versión de larga duración de analyzeIamPolicy. Para obtener instrucciones, consulta Escribir análisis de políticas en BigQuery o Escribir análisis de políticas en Cloud Storage.

Determinar qué entidades principales tienen determinados roles o permisos

Puedes usar Analizador de políticas para comprobar qué principales tienen roles o permisos específicos en cualquier Google Cloud recurso de tu organización. Para obtener esta información, cree una consulta que incluya uno o varios roles o permisos que quiera comprobar, pero que no especifique ningún recurso.

Consola

  1. En la Google Cloud consola, ve a la página Analizador de políticas.

    Ir a la página Analizador de políticas

  2. En la sección Analizar políticas, busque el panel Consulta personalizada y haga clic en Crear consulta personalizada en ese panel.

  3. En el campo Seleccionar ámbito de la consulta, selecciona el proyecto, la carpeta o la organización en los que quieras acotar la consulta. Analizador de políticas analizará el acceso a ese proyecto, carpeta u organización, así como a los recursos que contenga.

  4. En el campo Parámetro 1, selecciona Rol o Permiso.

  5. En el campo Selecciona un rol o Selecciona un permiso, selecciona el rol o el permiso que quieras comprobar.

  6. Opcional: Para comprobar si hay más roles y permisos, siga estos pasos:

    1. Haz clic en Añadir selector.
    2. En el campo Parámetro 2, selecciona Rol o Permiso.
    3. En el campo Selecciona un rol o Selecciona un permiso, selecciona el rol o el permiso que quieras comprobar.
    4. Sigue añadiendo selectores de Rol y Permiso hasta que se muestren todos los roles y permisos que quieras comprobar.
  7. Opcional: Haz clic en Continuar y, a continuación, selecciona las opciones avanzadas que quieras habilitar para esta consulta.

  8. En el panel Consulta personalizada, haga clic en Analizar > Ejecutar consulta. En la página del informe se muestran los parámetros de consulta que has introducido y una tabla de resultados con todas las entidades principales que tienen los roles o permisos especificados en cualquier recurso incluido en el ámbito.

    Las consultas de análisis de políticas de la consola Google Cloud se ejecutan durante un minuto como máximo. Al cabo de un minuto, la consola de Google Cloud detiene la consulta y muestra todos los resultados disponibles. Si la consulta no se completa en ese tiempo, la consola Google Cloud muestra un banner que indica que los resultados están incompletos. Para obtener más resultados de estas consultas, exporta los resultados a BigQuery.

gcloud

Antes de usar los datos de los comandos que se indican a continuación, haz los siguientes cambios:

  • RESOURCE_TYPE: el tipo de recurso al que quieres acotar la búsqueda. Solo se analizarán las políticas de permiso de gestión de identidades y accesos asociadas a este recurso y a sus descendientes. Usa el valor project, folder o organization.
  • RESOURCE_ID: el ID delGoogle Cloud proyecto, la carpeta o la organización en los que quieres acotar la búsqueda. Solo se analizarán las políticas de permiso de gestión de identidades y accesos asociadas a este recurso y a sus descendientes. Los IDs de proyecto son cadenas alfanuméricas, como my-project. Los IDs de carpetas y organizaciones son numéricos, como 123456789012.
  • ROLES: lista separada por comas de los roles que quieres comprobar (por ejemplo, roles/compute.admin,roles/compute.imageUser). Si indica varios roles, Policy Analyzer comprobará si se ha asignado alguno de ellos.
  • PERMISSIONS: una lista separada por comas de los permisos que quieres comprobar. Por ejemplo, compute.instances.get,compute.instances.start. Si incluyes varios permisos, Analizador de políticas comprobará si se ha concedido alguno de ellos.

Ejecuta el comando gcloud asset analyze-iam-policy:

Linux, macOS o Cloud Shell

gcloud asset analyze-iam-policy --RESOURCE_TYPE=RESOURCE_ID \
    --roles='ROLES' \
    --permissions='PERMISSIONS'

Windows (PowerShell)

gcloud asset analyze-iam-policy --RESOURCE_TYPE=RESOURCE_ID `
    --roles='ROLES' `
    --permissions='PERMISSIONS'

Windows (cmd.exe)

gcloud asset analyze-iam-policy --RESOURCE_TYPE=RESOURCE_ID ^
    --roles='ROLES' ^
    --permissions='PERMISSIONS'

Recibirás una respuesta JSON con los resultados del análisis. Cada resultado del análisis describe una vinculación de rol de gestión de identidades y accesos pertinente y, a continuación, enumera el recurso, los accesos y las entidades principales de esa vinculación. Si la vinculación de roles es condicional, el resultado del análisis también incluye el resultado de la evaluación de la condición. Si no se ha podido evaluar la condición, el resultado se indica como CONDITIONAL.

Las entidades principales que tienen alguno de los roles o permisos especificados se indican en los campos identities de la respuesta. En el siguiente ejemplo se muestra un resultado de análisis único con el campo identities resaltado.

...
---
ACLs:
- accesses:
  - permission: compute.instances.get
  - permission: compute.instances.start
  - role: roles/compute.admin
  identities:
  - name: user:my-user@example.com
  resources:
  - fullResourceName: //cloudresourcemanager.googleapis.com/projects/my-project
policy:
  attachedResource: //cloudresourcemanager.googleapis.com/projects/my-project
  binding:
    members:
    - user: my-user@example.com
    role: roles/compute.admin
---
...

Si la solicitud se agota antes de que finalice la consulta, recibirás un error DEADLINE_EXCEEDED. Para obtener más resultados de estas consultas, escribe los resultados en BigQuery o Cloud Storage con la versión de larga duración de analyze-iam-policy. Para obtener instrucciones, consulta Escribir análisis de políticas en BigQuery o Escribir análisis de políticas en Cloud Storage.

REST

Para determinar qué principales tienen determinados roles o permisos, usa el método analyzeIamPolicy de la API Cloud Asset Inventory.

Antes de usar los datos de la solicitud, haz las siguientes sustituciones:

  • RESOURCE_TYPE: el tipo de recurso al que quieres acotar la búsqueda. Solo se analizarán las políticas de permiso de gestión de identidades y accesos asociadas a este recurso y a sus descendientes. Usa el valor projects, folders o organizations.
  • RESOURCE_ID: el ID delGoogle Cloud proyecto, la carpeta o la organización en los que quieres acotar la búsqueda. Solo se analizarán las políticas de permiso de gestión de identidades y accesos asociadas a este recurso y a sus descendientes. Los IDs de proyecto son cadenas alfanuméricas, como my-project. Los IDs de carpetas y organizaciones son numéricos, como 123456789012.
  • ROLE_1, ROLE_2... ROLE_N: los roles que quieras comprobar. Por ejemplo, roles/compute.admin. Si incluyes varios roles, Analizador de políticas comprobará si se cumple alguno de ellos.
  • PERMISSION_1, PERMISSION_2... PERMISSION_N: los permisos que quieres comprobar (por ejemplo, compute.instances.get). Si incluyes varios permisos, Analizador de políticas comprobará si se ha concedido alguno de ellos.

Método HTTP y URL:

POST https://cloudasset.googleapis.com/v1/RESOURCE_TYPE/RESOURCE_ID:analyzeIamPolicy

Cuerpo JSON de la solicitud:

{
  "analysisQuery": {
    "accessSelector": {
      "roles": [
        "ROLE_1",
        "ROLE_2",
        "ROLE_N"
      ],
      "permissions": [
        "PERMISSION_1",
        "PERMISSION_2",
        "PERMISSION_N"
      ]
    }
  }
}

Para enviar tu solicitud, despliega una de estas opciones:

Recibirás una respuesta JSON con los resultados del análisis. Cada resultado del análisis describe una vinculación de rol de gestión de identidades y accesos pertinente y, a continuación, enumera el recurso, los accesos y las entidades principales de esa vinculación. Si la vinculación de roles es condicional, el resultado del análisis también incluye el resultado de la evaluación de la condición. Si no se ha podido evaluar la condición, el resultado se indica como CONDITIONAL.

Las entidades principales que tienen alguno de los roles o permisos especificados se indican en los campos identities de la respuesta. En el siguiente ejemplo se muestra un resultado de análisis único con el campo identities resaltado.

...
{
  "attachedResourceFullName": "//cloudresourcemanager.googleapis.com/projects/my-project",
  "iamBinding": {
    "role": "roles/compute.admin",
    "members": [
      "user:my-user@example.com"
    ]
  },
  "accessControlLists": [
    {
      "resources": [
        {
          "fullResourceName": "//cloudresourcemanager.googleapis.com/projects/my-project"
        }
      ],
      "accesses": [
        {
          "permission": "compute.instances.get"
        },
        {
          "role": "roles/compute.admin"
        }
      ]
    }
  ],
  "identityList": {
    "identities": [
      {
        "name": "user:my-user@example.com"
      }
    ]
  },
  "fullyExplored": true
},
...

Si la solicitud se agota antes de que finalice la consulta, recibirás un error DEADLINE_EXCEEDED. Para obtener más resultados de estas consultas, escribe los resultados en BigQuery o Cloud Storage con la versión de larga duración de analyzeIamPolicy. Para obtener instrucciones, consulta Escribir análisis de políticas en BigQuery o Escribir análisis de políticas en Cloud Storage.

Determinar el acceso que tiene una entidad principal a un recurso

Puedes usar Analizador de políticas para comprobar qué roles o permisos tiene una entidad de seguridad en un recurso de tu organización. Para obtener esta información, crea una consulta que incluya la entidad de seguridad cuyo acceso quieras analizar y el recurso cuyo acceso quieras analizar.

Consola

  1. En la Google Cloud consola, ve a la página Analizador de políticas.

    Ir a la página Analizador de políticas

  2. En la sección Analizar políticas, busque el panel Consulta personalizada y haga clic en Crear consulta personalizada en ese panel.

  3. En el campo Seleccionar ámbito de la consulta, selecciona el proyecto, la carpeta o la organización en los que quieras acotar la consulta. Analizador de políticas analizará el acceso a ese proyecto, carpeta u organización, así como a los recursos que contenga.

  4. Elige el recurso y la entidad de seguridad que quieras comprobar:

    1. En el campo Parámetro 1, seleccione Recurso en el menú desplegable.
    2. En el campo Resource (Recurso), introduce el nombre completo del recurso del que quieras analizar el acceso. Si no sabes el nombre completo del recurso, empieza a escribir el nombre visible del recurso y, a continuación, selecciona el recurso de la lista de recursos proporcionada.
    3. Haz clic en Añadir selector.
    4. En el campo Parámetro 2, selecciona Principal en el menú desplegable.
    5. En el campo Entidad principal, empieza a escribir el nombre de un usuario, una cuenta de servicio o un grupo. A continuación, selecciona el usuario, la cuenta de servicio o el grupo cuyo acceso quieras analizar en la lista de principales proporcionada.
  5. Opcional: Haz clic en Continuar y, a continuación, selecciona las opciones avanzadas que quieras habilitar para esta consulta.

  6. En el panel Consulta personalizada, haga clic en Analizar > Ejecutar consulta. En la página del informe se muestran los parámetros de consulta que has introducido y una tabla de resultados con todos los roles que tiene la entidad de seguridad especificada en el recurso especificado.

    Las consultas de análisis de políticas de la consola Google Cloud se ejecutan durante un minuto como máximo. Al cabo de un minuto, la consola de Google Cloud detiene la consulta y muestra todos los resultados disponibles. Si la consulta no se completa en ese tiempo, la consola Google Cloud muestra un banner que indica que los resultados están incompletos. Para obtener más resultados de estas consultas, exporta los resultados a BigQuery.

gcloud

Antes de usar los datos de los comandos que se indican a continuación, haz los siguientes cambios:

  • RESOURCE_TYPE: el tipo de recurso al que quieres acotar la búsqueda. Solo se analizarán las políticas de permiso de gestión de identidades y accesos asociadas a este recurso y a sus descendientes. Usa el valor project, folder o organization.
  • RESOURCE_ID: el ID delGoogle Cloud proyecto, la carpeta o la organización en los que quieres acotar la búsqueda. Solo se analizarán las políticas de permiso de gestión de identidades y accesos asociadas a este recurso y a sus descendientes. Los IDs de proyecto son cadenas alfanuméricas, como my-project. Los IDs de carpetas y organizaciones son numéricos, como 123456789012.
  • FULL_RESOURCE_NAME: Nombre completo del recurso del que quieres analizar el acceso. Para ver una lista de los formatos de nombre de recurso completo, consulta Formato de nombre de recurso.
  • PRINCIPAL: la entidad de seguridad principal cuyo acceso quieres analizar, con el formato PRINCIPAL_TYPE:ID. Por ejemplo, user:my-user@example.com. Para ver una lista completa de los tipos de principales, consulta Identificadores de principales.

Ejecuta el comando gcloud asset analyze-iam-policy:

Linux, macOS o Cloud Shell

gcloud asset analyze-iam-policy --RESOURCE_TYPE=RESOURCE_ID \
    --full-resource-name=FULL_RESOURCE_NAME \
    --identity=PRINCIPAL

Windows (PowerShell)

gcloud asset analyze-iam-policy --RESOURCE_TYPE=RESOURCE_ID `
    --full-resource-name=FULL_RESOURCE_NAME `
    --identity=PRINCIPAL

Windows (cmd.exe)

gcloud asset analyze-iam-policy --RESOURCE_TYPE=RESOURCE_ID ^
    --full-resource-name=FULL_RESOURCE_NAME ^
    --identity=PRINCIPAL

Recibirás una respuesta en formato YAML con los resultados del análisis. En cada resultado del análisis se muestra un conjunto de accesos, identidades y recursos relevantes para tu consulta, seguido de la vinculación de roles de IAM relacionada. Si la vinculación de roles es condicional, el resultado del análisis también incluye el resultado de la evaluación de la condición. Si no se puede evaluar la condición, el resultado es CONDITIONAL.

Los roles que tiene la entidad principal en el recurso especificado se indican en los campos accesses de la respuesta. En el siguiente ejemplo se muestra un resultado de análisis único con el campo accesses resaltado.

...
---
ACLs:
- accesses:
  - roles/iam.serviceAccountUser
  identities:
  - name: user:my-user@example.com
  resources:
  - fullResourceName: //cloudresourcemanager.googleapis.com/projects/my-project
policy:
  attachedResource: //cloudresourcemanager.googleapis.com/projects/my-project
  binding:
    members:
    - user: my-user@example.com
    role: roles/iam.serviceAccountUser
---
...

Si la solicitud se agota antes de que finalice la consulta, recibirás un error DEADLINE_EXCEEDED. Para obtener más resultados de estas consultas, escribe los resultados en BigQuery o Cloud Storage con la versión de larga duración de analyze-iam-policy. Para obtener instrucciones, consulta Escribir análisis de políticas en BigQuery o Escribir análisis de políticas en Cloud Storage.

REST

Para determinar el acceso que tiene un principal a un recurso, usa el método analyzeIamPolicy de la API Cloud Asset Inventory.

Antes de usar los datos de la solicitud, haz las siguientes sustituciones:

  • RESOURCE_TYPE: el tipo de recurso al que quieres acotar la búsqueda. Solo se analizarán las políticas de permiso de gestión de identidades y accesos asociadas a este recurso y a sus descendientes. Usa el valor projects, folders o organizations.
  • RESOURCE_ID: el ID delGoogle Cloud proyecto, la carpeta o la organización en los que quieres acotar la búsqueda. Solo se analizarán las políticas de permiso de gestión de identidades y accesos asociadas a este recurso y a sus descendientes. Los IDs de proyecto son cadenas alfanuméricas, como my-project. Los IDs de carpetas y organizaciones son numéricos, como 123456789012.
  • FULL_RESOURCE_NAME: Nombre completo del recurso del que quieres analizar el acceso. Para ver una lista de los formatos de nombre de recurso completo, consulta Formato de nombre de recurso.
  • PRINCIPAL: la entidad de seguridad principal cuyo acceso quieres analizar, con el formato PRINCIPAL_TYPE:ID. Por ejemplo, user:my-user@example.com. Para ver una lista completa de los tipos de principales, consulta Identificadores de principales.

Método HTTP y URL:

POST https://cloudasset.googleapis.com/v1/RESOURCE_TYPE/RESOURCE_ID:analyzeIamPolicy

Cuerpo JSON de la solicitud:

{
  "analysisQuery": {
    "resourceSelector": {
      "fullResourceName": "FULL_RESOURCE_NAME"
    },
    "identitySelector": {
      "identity": "PRINCIPAL"
    }
  }
}

Para enviar tu solicitud, despliega una de estas opciones:

Recibirás una respuesta JSON con los resultados del análisis. Cada resultado del análisis describe una vinculación de rol de gestión de identidades y accesos pertinente y, a continuación, enumera el recurso, los accesos y las entidades principales de esa vinculación. Si la vinculación de roles es condicional, el resultado del análisis también incluye el resultado de la evaluación de la condición. Si no se ha podido evaluar la condición, el resultado se indica como CONDITIONAL.

Los roles que tiene la entidad principal en el recurso especificado se indican en los campos accesses de la respuesta. En el siguiente ejemplo se muestra un resultado de análisis único con el campo accesses resaltado.

...
{
  "attachedResourceFullName": "//cloudresourcemanager.googleapis.com/projects/my-project",
  "iamBinding": {
    "role": "roles/iam.serviceAccountUser",
    "members": [
      "user:my-user@example.com"
    ]
  },
  "accessControlLists": [
    {
      "resources": [
        {
          "fullResourceName": "//cloudresourcemanager.googleapis.com/projects/my-project"
        }
      ],
      "accesses": [
        {
          "roles": "iam.serviceAccountUser"
        }
      ]
    }
  ],
  "identityList": {
    "identities": [
      {
        "name": "user:my-user@example.com"
      }
    ]
  },
  "fullyExplored": true
},
...

Si la solicitud se agota antes de que finalice la consulta, recibirás un error DEADLINE_EXCEEDED. Para obtener más resultados de estas consultas, escribe los resultados en BigQuery o Cloud Storage con la versión de larga duración de analyzeIamPolicy. Para obtener instrucciones, consulta Escribir análisis de políticas en BigQuery o Escribir análisis de políticas en Cloud Storage.

Determinar a qué recursos puede acceder una entidad principal

Puedes usar Analizador de políticas para comprobar en qué recursos de tu organización tiene un determinado rol o permiso una entidad. Para obtener esta información, crea una consulta que incluya la cuenta principal cuyo acceso quieras analizar y uno o varios permisos o roles que quieras comprobar.

Consola

  1. En la Google Cloud consola, ve a la página Analizador de políticas.

    Ir a la página Analizador de políticas

  2. En la sección Analizar políticas, busque el panel Consulta personalizada y haga clic en Crear consulta personalizada en ese panel.

  3. En el campo Seleccionar ámbito de la consulta, selecciona el proyecto, la carpeta o la organización en los que quieras acotar la consulta. Analizador de políticas analizará el acceso a ese proyecto, carpeta u organización, así como a los recursos que contenga.

  4. Elige la entidad a la que quieres comprobar y el rol o permiso que quieres comprobar:

    1. En el campo Parámetro 1, selecciona Principal en el menú desplegable.
    2. En el campo Entidad principal, empieza a escribir el nombre de un usuario, una cuenta de servicio o un grupo. A continuación, selecciona el usuario, la cuenta de servicio o el grupo cuyo acceso quieras analizar en la lista de principales proporcionada.
    3. Haz clic en Añadir selector.
    4. En el campo Parámetro 2, selecciona Rol o Permiso.
    5. En el campo Selecciona un rol o Selecciona un permiso, selecciona el rol o el permiso que quieras comprobar.
    6. Opcional: Para buscar roles y permisos adicionales, sigue añadiendo selectores de Rol y Permiso hasta que se muestren todos los roles y permisos que quieras comprobar.
  5. Opcional: Haz clic en Continuar y, a continuación, selecciona las opciones avanzadas que quieras habilitar para esta consulta.

  6. En el panel Consulta personalizada, haga clic en Analizar > Ejecutar consulta. En la página del informe se muestran los parámetros de consulta que has introducido y una tabla de resultados con todos los recursos en los que la entidad principal especificada tiene los roles o permisos especificados.

    Las consultas de análisis de políticas de la consola Google Cloud se ejecutan durante un minuto como máximo. Al cabo de un minuto, la consola de Google Cloud detiene la consulta y muestra todos los resultados disponibles. Si la consulta no se completa en ese tiempo, la consola Google Cloud muestra un banner que indica que los resultados están incompletos. Para obtener más resultados de estas consultas, exporta los resultados a BigQuery.

gcloud

Antes de usar los datos de los comandos que se indican a continuación, haz los siguientes cambios:

  • RESOURCE_TYPE: el tipo de recurso al que quieres acotar la búsqueda. Solo se analizarán las políticas de permiso de gestión de identidades y accesos asociadas a este recurso y a sus descendientes. Usa el valor project, folder o organization.
  • RESOURCE_ID: el ID delGoogle Cloud proyecto, la carpeta o la organización en los que quieres acotar la búsqueda. Solo se analizarán las políticas de permiso de gestión de identidades y accesos asociadas a este recurso y a sus descendientes. Los IDs de proyecto son cadenas alfanuméricas, como my-project. Los IDs de carpetas y organizaciones son numéricos, como 123456789012.
  • PRINCIPAL: la entidad de seguridad principal cuyo acceso quieres analizar, con el formato PRINCIPAL_TYPE:ID. Por ejemplo, user:my-user@example.com. Para ver una lista completa de los tipos de principales, consulta Identificadores de principales.
  • PERMISSIONS: una lista separada por comas de los permisos que quieres comprobar. Por ejemplo, compute.instances.get,compute.instances.start. Si incluyes varios permisos, Analizador de políticas comprobará si se ha concedido alguno de ellos.

Ejecuta el comando gcloud asset analyze-iam-policy:

Linux, macOS o Cloud Shell

gcloud asset analyze-iam-policy --RESOURCE_TYPE=RESOURCE_ID \
    --identity=PRINCIPAL \
    --permissions='PERMISSIONS'

Windows (PowerShell)

gcloud asset analyze-iam-policy --RESOURCE_TYPE=RESOURCE_ID `
    --identity=PRINCIPAL `
    --permissions='PERMISSIONS'

Windows (cmd.exe)

gcloud asset analyze-iam-policy --RESOURCE_TYPE=RESOURCE_ID ^
    --identity=PRINCIPAL ^
    --permissions='PERMISSIONS'

Recibirás una respuesta en formato YAML con los resultados del análisis. En cada resultado del análisis se muestra un conjunto de accesos, identidades y recursos relevantes para tu consulta, seguido de la vinculación de roles de IAM relacionada. Si la vinculación de roles es condicional, el resultado del análisis también incluye el resultado de la evaluación de la condición. Si no se puede evaluar la condición, el resultado es CONDITIONAL.

Los recursos en los que la entidad principal especificada tiene alguno de los permisos indicados se muestran en los campos resources de la respuesta. En el siguiente ejemplo se muestra un resultado de análisis único con el campo resources resaltado.

...
---
ACLs:
- accesses:
  - permission: compute.instances.get
  - permission: compute.instances.start
  identities:
  - name: user:my-user@example.com
  resources:
  - fullResourceName: //compute.googleapis.com/projects/my-project/global/images/my-image
policy:
  attachedResource: //compute.googleapis.com/projects/my-project/global/images/my-image
  binding:
    members:
    - user: my-user@example.com
    role: roles/compute.admin
---
...

Si la solicitud se agota antes de que finalice la consulta, recibirás un error DEADLINE_EXCEEDED. Para obtener más resultados de estas consultas, escribe los resultados en BigQuery o Cloud Storage con la versión de larga duración de analyze-iam-policy. Para obtener instrucciones, consulta Escribir análisis de políticas en BigQuery o Escribir análisis de políticas en Cloud Storage.

REST

Para determinar a qué recursos puede acceder un principal, usa el método analyzeIamPolicy de la API Cloud Asset Inventory.

Antes de usar los datos de la solicitud, haz las siguientes sustituciones:

  • RESOURCE_TYPE: el tipo de recurso al que quieres acotar la búsqueda. Solo se analizarán las políticas de permiso de gestión de identidades y accesos asociadas a este recurso y a sus descendientes. Usa el valor projects, folders o organizations.
  • RESOURCE_ID: el ID delGoogle Cloud proyecto, la carpeta o la organización en los que quieres acotar la búsqueda. Solo se analizarán las políticas de permiso de gestión de identidades y accesos asociadas a este recurso y a sus descendientes. Los IDs de proyecto son cadenas alfanuméricas, como my-project. Los IDs de carpetas y organizaciones son numéricos, como 123456789012.
  • PRINCIPAL: la entidad de seguridad principal cuyo acceso quieres analizar, con el formato PRINCIPAL_TYPE:ID. Por ejemplo, user:my-user@example.com. Para ver una lista completa de los tipos de principales, consulta Identificadores de principales.
  • PERMISSION_1, PERMISSION_2... PERMISSION_N: los permisos que quieres comprobar (por ejemplo, compute.instances.get). Si incluyes varios permisos, Analizador de políticas comprobará si se ha concedido alguno de ellos.

Método HTTP y URL:

POST https://cloudasset.googleapis.com/v1/RESOURCE_TYPE/RESOURCE_ID:analyzeIamPolicy

Cuerpo JSON de la solicitud:

{
  "analysisQuery": {
    "identitySelector": {
      "identity": "PRINCIPAL"
    },
    "accessSelector": {
      "permissions": [
        "PERMISSION_1",
        "PERMISSION_2",
        "PERMISSION_N"
      ]
    }
  }
}

Para enviar tu solicitud, despliega una de estas opciones:

Recibirás una respuesta JSON con los resultados del análisis. Cada resultado del análisis describe una vinculación de rol de gestión de identidades y accesos pertinente y, a continuación, enumera el recurso, los accesos y las entidades principales de esa vinculación. Si la vinculación de roles es condicional, el resultado del análisis también incluye el resultado de la evaluación de la condición. Si no se ha podido evaluar la condición, el resultado se indica como CONDITIONAL.

Los recursos en los que la entidad principal especificada tiene alguno de los permisos indicados se muestran en los campos resources de la respuesta. En el siguiente ejemplo se muestra un resultado de análisis único con el campo resources resaltado.

...
{
  "attachedResourceFullName": "//compute.googleapis.com/projects/my-project/global/images/my-image",
  "iamBinding": {
    "role": "roles/compute.admin",
    "members": [
      "user:my-user@example.com"
    ]
  },
  "accessControlLists": [
    {
      "resources": [
        {
          "fullResourceName": "//compute.googleapis.com/projects/my-project/global/images/my-image"
        }
      ],
      "accesses": [
        {
          "permission": "compute.instances.get"
        },
        {
          "permission": "compute.instances.start"
        }
      ]
    }
  ],
  "identityList": {
    "identities": [
      {
        "name": "user:my-user@example.com"
      }
    ]
  },
  "fullyExplored": true
},
...

Si la solicitud se agota antes de que finalice la consulta, recibirás un error DEADLINE_EXCEEDED. Para obtener más resultados de estas consultas, escribe los resultados en BigQuery o Cloud Storage con la versión de larga duración de analyzeIamPolicy. Para obtener instrucciones, consulta Escribir análisis de políticas en BigQuery o Escribir análisis de políticas en Cloud Storage.

Determinar el acceso a una hora concreta

Si se le proporciona suficiente contexto, Analizador de políticas puede analizar las vinculaciones de roles condicionales de gestión de identidades y accesos que solo conceden acceso en momentos específicos. Estas condiciones se denominan condiciones de fecha y hora. Para que el Analizador de políticas analice con precisión las vinculaciones de roles con condiciones de fecha y hora, debe definir el tiempo de acceso en la solicitud.

Analizador de políticas también puede analizar las condiciones de los recursos sin que el usuario tenga que introducir nada más. Para obtener más información sobre cómo funciona Analizador de políticas con las condiciones, consulta Acceso condicional.

gcloud

Antes de usar los datos de los comandos que se indican a continuación, haz los siguientes cambios:

  • RESOURCE_TYPE: el tipo de recurso al que quieres acotar la búsqueda. Solo se analizarán las políticas de permiso de gestión de identidades y accesos asociadas a este recurso y a sus descendientes. Usa el valor project, folder o organization.
  • RESOURCE_ID: el ID delGoogle Cloud proyecto, la carpeta o la organización en los que quieres acotar la búsqueda. Solo se analizarán las políticas de permiso de gestión de identidades y accesos asociadas a este recurso y a sus descendientes. Los IDs de proyecto son cadenas alfanuméricas, como my-project. Los IDs de carpetas y organizaciones son numéricos, como 123456789012.
  • PERMISSIONS: Opcional. Lista separada por comas de los permisos que quieres comprobar. Por ejemplo: compute.instances.get,compute.instances.start. Si incluyes varios permisos, Analizador de políticas comprobará si se ha concedido alguno de ellos.
  • FULL_RESOURCE_NAME: opcional. Nombre de recurso completo del recurso del que quieres analizar el acceso. Para ver una lista de los formatos de nombre de recurso completo, consulta Formato de nombre de recurso.
  • PERMISSIONS: Opcional. Lista separada por comas de los permisos que quieres comprobar. Por ejemplo: compute.instances.get,compute.instances.start. Si incluyes varios permisos, Analizador de políticas comprobará si se ha concedido alguno de ellos.
  • ACCESS_TIME: la hora que quieras consultar. Esta hora debe ser posterior a la actual. Usa una marca de tiempo en formato RFC 3339. Por ejemplo, 2099-02-01T00:00:00Z.

Ejecuta el comando gcloud asset analyze-iam-policy:

Linux, macOS o Cloud Shell

gcloud asset analyze-iam-policy --RESOURCE_TYPE=RESOURCE_ID \
    --identity=PRINCIPAL \
    --full-resource-name=FULL_RESOURCE_NAME \
    --permissions='PERMISSIONS' \
    --access-time=ACCESS_TIME

Windows (PowerShell)

gcloud asset analyze-iam-policy --RESOURCE_TYPE=RESOURCE_ID `
    --identity=PRINCIPAL `
    --full-resource-name=FULL_RESOURCE_NAME `
    --permissions='PERMISSIONS' `
    --access-time=ACCESS_TIME

Windows (cmd.exe)

gcloud asset analyze-iam-policy --RESOURCE_TYPE=RESOURCE_ID ^
    --identity=PRINCIPAL ^
    --full-resource-name=FULL_RESOURCE_NAME ^
    --permissions='PERMISSIONS' ^
    --access-time=ACCESS_TIME

Recibirás una respuesta en formato YAML con los resultados del análisis. En cada resultado del análisis se muestra un conjunto de accesos, identidades y recursos relevantes para tu consulta, seguido de la vinculación de roles de IAM relacionada. Si la vinculación de roles es condicional, el resultado del análisis también incluye el resultado de la evaluación de la condición. Si no se puede evaluar la condición, el resultado es CONDITIONAL.

Si incluye la hora de acceso en la solicitud, Analizador de políticas puede evaluar las condiciones de fecha y hora. Si la condición es falsa, ese rol no se incluye en la respuesta. Si la condición se evalúa como verdadera, el resultado de la evaluación de la condición se indica como TRUE.

...
---
ACLs:
- accesses:
  - permission: compute.instances.get
  - permission: compute.instances.start
  conditionEvaluationValue: 'TRUE'
  identities:
  - name: user:my-user@example.com
  resources:
  - fullResourceName: //cloudresourcemanager.googleapis.com/projects/my-project
policy:
  attachedResource: //cloudresourcemanager.googleapis.com/projects/my-project
  binding:
    condition:
      expression: request.time.getHours("America/Los_Angeles") >= 5
      title: No access before 5am PST
    members:
    - user: my-user@example.com
    role: roles/compute.admin
---
...

Si la solicitud se agota antes de que finalice la consulta, recibirás un error DEADLINE_EXCEEDED. Para obtener más resultados de estas consultas, escribe los resultados en BigQuery o Cloud Storage con la versión de larga duración de analyze-iam-policy. Para obtener instrucciones, consulta Escribir análisis de políticas en BigQuery o Escribir análisis de políticas en Cloud Storage.

REST

Para determinar qué principales tendrán determinados permisos en un recurso en un momento concreto, usa el método analyzeIamPolicy de la API Cloud Asset Inventory.

Antes de usar los datos de la solicitud, haz las siguientes sustituciones:

  • RESOURCE_TYPE: el tipo de recurso al que quieres acotar la búsqueda. Solo se analizarán las políticas de permiso de gestión de identidades y accesos asociadas a este recurso y a sus descendientes. Usa el valor projects, folders o organizations.
  • RESOURCE_ID: el ID delGoogle Cloud proyecto, la carpeta o la organización en los que quieres acotar la búsqueda. Solo se analizarán las políticas de permiso de gestión de identidades y accesos asociadas a este recurso y a sus descendientes. Los IDs de proyecto son cadenas alfanuméricas, como my-project. Los IDs de carpetas y organizaciones son numéricos, como 123456789012.
  • PERMISSION_1, PERMISSION_2... PERMISSION_N: opcional. Los permisos que quieres comprobar (por ejemplo, compute.instances.get). Si incluye varios permisos, Analizador de políticas comprobará si se ha concedido alguno de ellos.
  • FULL_RESOURCE_NAME: opcional. Nombre de recurso completo del recurso del que quieres analizar el acceso. Para ver una lista de los formatos de nombre de recurso completo, consulta Formato de nombre de recurso.
  • PERMISSION_1, PERMISSION_2... PERMISSION_N: opcional. Los permisos que quieres comprobar (por ejemplo, compute.instances.get). Si incluye varios permisos, Analizador de políticas comprobará si se ha concedido alguno de ellos.
  • ACCESS_TIME: la hora que quieras consultar. Esta hora debe ser posterior a la actual. Usa una marca de tiempo en formato RFC 3339. Por ejemplo, 2099-02-01T00:00:00Z.

Método HTTP y URL:

POST https://cloudasset.googleapis.com/v1/RESOURCE_TYPE/RESOURCE_ID:analyzeIamPolicy

Cuerpo JSON de la solicitud:

{
  "analysisQuery": {
    "identitySelector": {
      "identity": "PRINCIPAL"
    },
    "resourceSelector": {
      "fullResourceName": "FULL_RESOURCE_NAME"
    },
    "accessSelector": {
      "permissions": [
        "PERMISSION_1",
        "PERMISSION_2",
        "PERMISSION_N"
      ]
    },
    "conditionContext": {
      "accessTime": "ACCESS_TIME"
    }
  }
}

Para enviar tu solicitud, despliega una de estas opciones:

Recibirás una respuesta JSON con los resultados del análisis. Cada resultado del análisis describe una vinculación de rol de gestión de identidades y accesos pertinente y, a continuación, enumera el recurso, los accesos y las entidades principales de esa vinculación. Si la vinculación de roles es condicional, el resultado del análisis también incluye el resultado de la evaluación de la condición. Si no se ha podido evaluar la condición, el resultado se indica como CONDITIONAL.

Si incluye la hora de acceso en la solicitud, Analizador de políticas puede evaluar las condiciones de fecha y hora. Si la condición es falsa, ese rol no se incluye en la respuesta. Si la condición se evalúa como verdadera, el valor de evaluación de la condición en la respuesta del análisis es TRUE.

...
{
  "attachedResourceFullName": "//cloudresourcemanager.googleapis.com/projects/my-project",
  "iamBinding": {
    "role": "roles/compute.admin",
    "members": [
      "user:my-user@example.com"
    ],
    "condition": {
      "expression": "request.time.getHours(\"America/Los_Angeles\") \u003e= 5",
      "title": "No access before 5am PST"
    }
  },
  "accessControlLists": [
    {
      "resources": [
        {
          "fullResourceName": "//cloudresourcemanager.googleapis.com/projects/my-project"
        }
      ],
      "accesses": [
        {
          "permission": "compute.instances.get"
        },
        {
          "permission": "compute.instances.start"
        }
      ],
      "conditionEvaluation": {
        "evaluationValue": "TRUE"
      }
    }
  ],
  "identityList": {
    "identities": [
      {
        "name": "user:my-user@example.com"
      }
    ]
  },
  "fullyExplored": true
},
...

Si la solicitud se agota antes de que finalice la consulta, recibirás un error DEADLINE_EXCEEDED. Para obtener más resultados de estas consultas, escribe los resultados en BigQuery o Cloud Storage con la versión de larga duración de analyzeIamPolicy. Para obtener instrucciones, consulta Escribir análisis de políticas en BigQuery o Escribir análisis de políticas en Cloud Storage.

Habilitar opciones

Puedes habilitar las siguientes opciones para recibir resultados de consulta más detallados.

Consola

Opción Descripción
Mostrar los recursos de los recursos que coincidan con tu consulta Si habilitas esta opción, la lista de resultados de la consulta incluirá hasta 1000 recursos descendientes relevantes de los recursos superiores (proyectos, carpetas y organizaciones) que se hayan devuelto en la consulta.
Mostrar los usuarios concretos de los grupos

Si habilitas esta opción, todos los grupos de los resultados de la consulta se desglosarán en miembros individuales. Si tienes permisos de grupo suficientes, también se desplegarán los grupos anidados. Esta expansión está limitada a 1000 miembros por grupo.

Esta opción solo está disponible si no especificas un principal en tu consulta.

Mostrar los permisos de los roles

Si habilitas esta opción, en la lista de resultados de la consulta se mostrarán todos los permisos de cada rol, además del propio rol.

Esta opción solo está disponible si no especifica ningún permiso ni rol en su consulta.

gcloud

En esta sección se describen varias marcas comunes que puedes añadir al usar la CLI de gcloud para analizar las políticas de permiso. Para ver una lista completa de opciones, consulta Flags opcionales.

Bandera Descripción
--analyze-service-account-impersonation

Si esta opción está habilitada, el Analizador de políticas ejecuta consultas de análisis adicionales para determinar quién puede suplantar la identidad de las cuentas de servicio que tienen el acceso especificado a los recursos especificados. Analizador de políticas ejecuta una consulta por cada cuenta de servicio en los resultados de la consulta. Estas consultas analizan quién tiene alguno de los siguientes permisos en la cuenta de servicio:

  • iam.serviceAccounts.actAs
  • iam.serviceAccounts.getAccessToken
  • iam.serviceAccounts.getOpenIdToken
  • iam.serviceAccounts.implicitDelegation
  • iam.serviceAccounts.signBlob
  • iam.serviceAccounts.signJwt

Se trata de una operación muy costosa, ya que ejecuta automáticamente muchas consultas. Te recomendamos que exportes a BigQuery o exportes a Cloud Storage con analyze-iam-policy-longrunning en lugar de analyze-iam-policy.

--expand-groups

Si habilitas esta opción, todos los grupos de los resultados de la consulta se desglosarán en miembros individuales. Si tienes permisos de grupo suficientes, también se desplegarán los grupos anidados. Esta expansión está limitada a 1000 miembros por grupo.

Esta opción solo es eficaz si no especificas un principal en tu consulta.

--expand-resources Si habilitas esta opción, la lista de resultados de la consulta incluirá hasta 1000 recursos descendientes relevantes de los recursos superiores (proyectos, carpetas y organizaciones) que se hayan devuelto en la consulta.
--expand-roles

Si habilitas esta opción, en la lista de resultados de la consulta se mostrarán todos los permisos de cada rol, además del propio rol.

Esta opción solo está disponible si no especifica ningún permiso ni rol en su consulta.

--output-group-edges Si habilitas esta opción, los resultados de la consulta mostrarán las relaciones de pertenencia pertinentes entre los grupos.
--output-resource-edges Si habilita esta opción, los resultados de la consulta mostrarán las relaciones superiores/secundarias pertinentes entre los recursos.

REST

Para habilitar cualquier opción, primero añade un campo options a tu consulta de análisis. Por ejemplo:

{
  "analysisQuery": {
    "resourceSelector": {
      "fullResourceName": "//cloudresourcemanager.googleapis.com/projects/my-project"
    },
    "accessSelector": {
      "permissions": [
        "iam.roles.get",
        "iam.roles.list"
      ]
   },
   "options": {
     OPTIONS
   }
  }
}

Sustituye OPTIONS por las opciones que quieras habilitar con el formato "OPTION": true. En la siguiente tabla se describen las opciones disponibles:

Opción Descripción
analyzeServiceAccountImpersonation

Si esta opción está habilitada, el Analizador de políticas ejecuta consultas de análisis adicionales para determinar quién puede suplantar la identidad de las cuentas de servicio que tienen el acceso especificado a los recursos especificados. Analizador de políticas ejecuta una consulta por cada cuenta de servicio en los resultados de la consulta. Estas consultas analizan quién tiene alguno de los siguientes permisos en la cuenta de servicio:

  • iam.serviceAccounts.actAs
  • iam.serviceAccounts.getAccessToken
  • iam.serviceAccounts.getOpenIdToken
  • iam.serviceAccounts.implicitDelegation
  • iam.serviceAccounts.signBlob
  • iam.serviceAccounts.signJwt

Se trata de una operación muy costosa, ya que ejecuta automáticamente muchas consultas. Te recomendamos que exportes a BigQuery o exportes a Cloud Storage con AnalyzeIamPolicyLongrunning en lugar de AnalyzeIamPolicy.

expandGroups

Si habilitas esta opción, todos los grupos de los resultados de la consulta se desglosarán en miembros individuales. Si tienes permisos de grupo suficientes, también se desplegarán los grupos anidados. Esta expansión está limitada a 1000 miembros por grupo.

Esta opción solo es eficaz si no especificas un principal en tu consulta.

expandResources Si habilitas esta opción, la lista de resultados de la consulta incluirá hasta 1000 recursos descendientes relevantes de los recursos superiores (proyectos, carpetas y organizaciones) que se hayan devuelto en la consulta.
expandRoles

Si habilitas esta opción, en la lista de resultados de la consulta se mostrarán todos los permisos de cada rol, además del propio rol.

Esta opción solo está disponible si no especifica ningún permiso ni rol en su consulta.

outputGroupEdges Si habilitas esta opción, los resultados de la consulta mostrarán las relaciones de pertenencia pertinentes entre los grupos.
outputResourceEdges Si habilita esta opción, los resultados de la consulta mostrarán las relaciones superiores/secundarias pertinentes entre los recursos.

Siguientes pasos