Analiza las políticas de IAM

En esta página, se muestra cómo usar el Analizador de políticas para saber qué principales (usuarios, cuentas de servicio, grupos y dominios) tienen qué tipo de acceso a cuáles recursos de Google Cloud.

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

Antes de comenzar

  • Habilita Cloud Asset API.

    Habilita la API

    Debes habilitar la API en el proyecto o la organización que usarás para enviar la consulta. Este no tiene que ser el mismo recurso al que determinas el alcance de tu consulta.

  • Opcional: Comprende cómo funciona el Analizador de políticas.

Roles y permisos requeridos

Se requieren los siguientes roles y permisos para analizar las políticas de permisos.

Roles de IAM obligatorios

Si quieres obtener los permisos que necesitas para analizar una política de permisos, pídele a tu administrador que te otorgue los siguientes roles de IAM en el proyecto, la carpeta o la organización en la que definirás los permisos de tu consulta:

Si quieres obtener más información para otorgar funciones, consulta Administra el acceso.

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

Permisos necesarios

Se requieren los siguientes permisos para analizar una política de permisos:

  • cloudasset.assets.analyzeIamPolicy
  • cloudasset.assets.searchAllResources
  • cloudasset.assets.searchAllIamPolicies
  • Para analizar las políticas con roles de IAM personalizados, haz lo siguiente: iam.roles.get
  • Si quieres usar Google Cloud CLI para analizar políticas, haz lo siguiente: serviceusage.services.use

Es posible que también puedas obtener estos permisos con funciones personalizadas o con otras funciones predefinidas.

Permisos necesarios de Google Workspace

Si deseas expandir grupos en los resultados de la consulta para ver si una principal tiene ciertos roles o permisos como resultado de su membresía en un grupo de Google Workspace, necesitas el permiso groups.read de Google Workspace. Este permiso está incluido en el rol Administrador de lector de grupos y en roles más potentes, como los roles Administrador de grupos o Administrador avanzado. Si quieres obtener información para otorgar estos roles, consulta Asigna roles de administrador específicos.

Determina qué principales pueden acceder a un recurso

Puedes usar el Analizador de políticas para verificar qué principales tienen ciertas funciones o permisos en un recurso específico de tu proyecto, organización o carpeta. Para obtener esta información, crea una consulta que incluya el recurso cuyo acceso deseas analizar y una o más funciones o permisos que desees comprobar.

Console

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

    Ir a la página de Analizador de políticas

  2. En la sección Analizar políticas, busca el panel etiquetado Consulta personalizada y haz clic en Crear consulta personalizada.

  3. En el campo Seleccionar el alcance de la consulta, selecciona el proyecto, la carpeta o la organización a los que deseas limitar el alcance de la consulta. El Analizador de políticas analizará el acceso a ese proyecto, carpeta u organización, así como cualquier recurso dentro de ese proyecto, organización o carpeta.

  4. Elige el recurso que deseas verificar y la función o el permiso que deseas verificar:

    1. En el campo Parámetro 1, selecciona Recurso en el menú desplegable.
    2. En el campo Recurso, ingresa el nombre completo del recurso del que deseas analizar el acceso. Si no conoces el nombre completo del recurso, comienza a escribir su nombre visible y, luego, selecciónalo en la lista de recursos proporcionados.
    3. Haz clic en Agregar selector.
    4. En el campo Parámetro 2, selecciona Función o Permiso.
    5. En el campo Selecciona una función o Selecciona un permiso, selecciona la función o el permiso que deseas verificar.
    6. Opcional: Para comprobar las funciones y los permisos adicionales, continúa agregando selectores de Función y Permiso hasta que aparezcan todas las funciones y los permisos que deseas verificar.
  5. Opcional: Haz clic en Continuar y, luego, selecciona las opciones avanzadas que deseas habilitar para esta consulta.

  6. En el panel Consulta personalizada, haz clic en Analizar > Ejecutar consulta. En la página del informe, se muestran los parámetros de búsqueda que ingresaste y una tabla de resultados de todas las principales con las funciones o los permisos especificados en el recurso especificado.

    Las consultas de análisis de políticas en la consola de Google Cloud se ejecutan durante un máximo de un minuto. Después de un minuto, la consola de Google Cloud detiene la consulta y muestra todos los resultados disponibles. Si la consulta no finalizó en ese tiempo, la consola de Google Cloud mostrará un banner que indicará que los resultados están incompletos. Para obtener los resultados completos de estas consultas, exporta los resultados a BigQuery.

gcloud

Antes de usar cualquiera de los datos de comando a continuación, haz los siguientes reemplazos:

  • RESOURCE_TYPE: Es el tipo de recurso al que deseas definir el alcance de tu búsqueda. Solo se analizarán las políticas de permisos de IAM vinculadas a este recurso y a sus subordinados. Usa el valor project, folder o organization.
  • RESOURCE_ID: Es el ID del proyecto, la carpeta o la organización de Google Cloud en el que deseas definir el alcance de la búsqueda. Solo se analizarán las políticas de permisos de IAM vinculadas a este recurso y a sus subordinados. Los ID de proyecto son strings alfanuméricas, como my-project. Los ID de carpeta y organización son numéricos, como 123456789012.
  • FULL_RESOURCE_NAME: Es el nombre completo del recurso del que deseas analizar el acceso. Para obtener una lista de los formatos de nombre de recurso completos, consulta Formato de nombre de recurso.
  • PERMISSIONS: Es una lista separada por comas de los permisos que deseas verificar, por ejemplo, compute.instances.get,compute.instances.start. Si enumeras varios permisos, el Analizador de políticas verificará cualquiera de los permisos enumerados.

Ejecuta el comando gcloud asset analyze-iam-policy de la siguiente manera:

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 YAML con los resultados del análisis. Cada resultado del análisis enumera un conjunto de accesos, identidades y recursos relevantes para tu consulta, seguido de la vinculación de rol de IAM relacionada. Si la vinculación de funciones es condicional, el resultado del análisis también incluye el resultado de la evaluación de la condición. Si no se pudo evaluar la condición, el resultado es CONDITIONAL.

Las principales que tienen alguno de los permisos especificados en el recurso especificado se enumeran en los campos identities de la respuesta. En el siguiente ejemplo, se muestra un solo resultado del análisis con el campo identities destacado.

...
---
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 se agota el tiempo de espera de la solicitud antes de que finalice la consulta, se mostrará un error DEADLINE_EXCEEDED. Para obtener resultados completos de estas consultas, escribe los resultados en BigQuery o Cloud Storage mediante la versión de larga duración de analyze-iam-policy. Para obtener instrucciones, consulta Escribe un análisis de políticas en BigQuery o Escribe un análisis de políticas en Cloud Storage.

REST

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

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • RESOURCE_TYPE: Es el tipo de recurso al que deseas definir el alcance de tu búsqueda. Solo se analizarán las políticas de permisos de IAM vinculadas a este recurso y a sus subordinados. Usa el valor projects, folders o organizations.
  • RESOURCE_ID: Es el ID del proyecto, la carpeta o la organización de Google Cloud en el que deseas definir el alcance de la búsqueda. Solo se analizarán las políticas de permisos de IAM vinculadas a este recurso y a sus subordinados. Los ID de proyecto son strings alfanuméricas, como my-project. Los ID de carpeta y organización son numéricos, como 123456789012.
  • FULL_RESOURCE_NAME: Es el nombre completo del recurso del que deseas analizar el acceso. Para obtener una lista de los formatos de nombre de recurso completos, consulta Formato de nombre de recurso.
  • PERMISSION_1, PERMISSION_2... PERMISSION_N: Los permisos que deseas verificar, por ejemplo, compute.instances.get. Si enumeras varios permisos, el Analizador de políticas verificará cualquiera de los permisos enumerados.

HTTP method and 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, expande una de estas opciones:

Recibes una respuesta JSON con los resultados del análisis. Cada resultado del análisis describe una vinculación de rol de IAM relevante y, luego, enumera el recurso, los accesos y las principales en esa vinculación. Si la vinculación de funciones es condicional, el resultado del análisis también incluye el resultado de la evaluación de la condición. Si no se pudo evaluar la condición, el resultado se muestra como CONDITIONAL.

Las principales que tienen alguno de los permisos especificados en el recurso especificado se enumeran en los campos identities de la respuesta. En el siguiente ejemplo, se muestra un solo resultado del análisis con el campo identities destacado.

...
{
  "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 se agota el tiempo de espera de la solicitud antes de que finalice la consulta, se mostrará un error DEADLINE_EXCEEDED. Para obtener resultados completos de estas consultas, escribe los resultados en BigQuery o Cloud Storage mediante la versión de larga duración de analyzeIamPolicy. Para obtener instrucciones, consulta Escribe un análisis de políticas en BigQuery o Escribe un análisis de políticas en Cloud Storage.

Determina qué principales tienen determinados roles o permisos

Puedes usar el Analizador de políticas para verificar qué principales tienen funciones o permisos específicos en cualquier recurso de Google Cloud de tu organización. Para obtener esta información, crea una consulta que incluya una o más funciones o permisos que se deben verificar, pero que no especifique un recurso.

Console

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

    Ir a la página de Analizador de políticas

  2. En la sección Analizar políticas, busca el panel etiquetado Consulta personalizada y haz clic en Crear consulta personalizada.

  3. En el campo Seleccionar el alcance de la consulta, selecciona el proyecto, la carpeta o la organización a los que deseas limitar el alcance de la consulta. El Analizador de políticas analizará el acceso a ese proyecto, carpeta u organización, así como cualquier recurso dentro de ese proyecto, organización o carpeta.

  4. En el campo Parámetro 1, selecciona Función o Permiso.

  5. En el campo Selecciona una función o Selecciona un permiso, selecciona la función o el permiso que deseas verificar.

  6. Opcional: Para verificar las funciones y los permisos adicionales, haz lo siguiente:

    1. Haz clic en Agregar selector.
    2. En el campo Parámetro 2, selecciona Función o Permiso.
    3. En el campo Selecciona una función o Selecciona un permiso, selecciona la función o el permiso que deseas verificar.
    4. Sigue agregando selectores de Función y Permiso hasta que se muestren todas las funciones y los permisos que deseas verificar.
  7. Opcional: Haz clic en Continuar y, luego, selecciona las opciones avanzadas que deseas habilitar para esta consulta.

  8. En el panel Consulta personalizada, haz clic en Analizar > Ejecutar consulta. En la página del informe, se muestran los parámetros de búsqueda que ingresaste y una tabla de resultados de todas las principales con las funciones o los permisos especificados en cualquier recurso dentro del alcance.

    Las consultas de análisis de políticas en la consola de Google Cloud se ejecutan durante un máximo de un minuto. Después de un minuto, la consola de Google Cloud detiene la consulta y muestra todos los resultados disponibles. Si la consulta no finalizó en ese tiempo, la consola de Google Cloud mostrará un banner que indicará que los resultados están incompletos. Para obtener los resultados completos de estas consultas, exporta los resultados a BigQuery.

gcloud

Antes de usar cualquiera de los datos de comando a continuación, haz los siguientes reemplazos:

  • RESOURCE_TYPE: Es el tipo de recurso al que deseas definir el alcance de tu búsqueda. Solo se analizarán las políticas de permisos de IAM vinculadas a este recurso y a sus subordinados. Usa el valor project, folder o organization.
  • RESOURCE_ID: Es el ID del proyecto, la carpeta o la organización de Google Cloud en el que deseas definir el alcance de la búsqueda. Solo se analizarán las políticas de permisos de IAM vinculadas a este recurso y a sus subordinados. Los ID de proyecto son strings alfanuméricas, como my-project. Los ID de carpeta y organización son numéricos, como 123456789012.
  • ROLES: Es una lista separada por comas de las funciones que deseas verificar, por ejemplo, roles/compute.admin,roles/compute.imageUser. Si incluyes varios roles, el Analizador de políticas verificará si cualquiera de los roles
  • PERMISSIONS: Es una lista separada por comas de los permisos que deseas verificar, por ejemplo, compute.instances.get,compute.instances.start. Si enumeras varios permisos, el Analizador de políticas verificará cualquiera de los permisos enumerados.

Ejecuta el comando gcloud asset analyze-iam-policy de la siguiente manera:

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'

Recibes una respuesta JSON con los resultados del análisis. Cada resultado del análisis describe una vinculación de rol de IAM relevante y, luego, enumera el recurso, los accesos y las principales en esa vinculación. Si la vinculación de funciones es condicional, el resultado del análisis también incluye el resultado de la evaluación de la condición. Si no se pudo evaluar la condición, el resultado se muestra como CONDITIONAL.

Las principales que tienen alguno de los roles o permisos especificados se enumeran en los campos identities de la respuesta. En el siguiente ejemplo, se muestra un solo resultado del análisis con el campo identities destacado.

...
---
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 se agota el tiempo de espera de la solicitud antes de que finalice la consulta, se mostrará un error DEADLINE_EXCEEDED. Para obtener resultados completos de estas consultas, escribe los resultados en BigQuery o Cloud Storage mediante la versión de larga duración de analyze-iam-policy. Para obtener instrucciones, consulta Escribe un análisis de políticas en BigQuery o Escribe un análisis de políticas en Cloud Storage.

REST

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

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • RESOURCE_TYPE: Es el tipo de recurso al que deseas definir el alcance de tu búsqueda. Solo se analizarán las políticas de permisos de IAM vinculadas a este recurso y a sus subordinados. Usa el valor projects, folders o organizations.
  • RESOURCE_ID: Es el ID del proyecto, la carpeta o la organización de Google Cloud en el que deseas definir el alcance de la búsqueda. Solo se analizarán las políticas de permisos de IAM vinculadas a este recurso y a sus subordinados. Los ID de proyecto son strings alfanuméricas, como my-project. Los ID de carpeta y organización son numéricos, como 123456789012.
  • ROLE_1, ROLE_2... ROLE_N: Las funciones que deseas verificar, por ejemplo, roles/compute.admin. Si enumeras varios roles, el Analizador de políticas verificará cualquiera de los roles enumerados.
  • PERMISSION_1, PERMISSION_2... PERMISSION_N: Los permisos que deseas verificar, por ejemplo, compute.instances.get. Si enumeras varios permisos, el Analizador de políticas verificará cualquiera de los permisos enumerados.

HTTP method and 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, expande una de estas opciones:

Recibes una respuesta JSON con los resultados del análisis. Cada resultado del análisis describe una vinculación de rol de IAM relevante y, luego, enumera el recurso, los accesos y las principales en esa vinculación. Si la vinculación de funciones es condicional, el resultado del análisis también incluye el resultado de la evaluación de la condición. Si no se pudo evaluar la condición, el resultado se muestra como CONDITIONAL.

Las principales que tienen alguno de los roles o permisos especificados se enumeran en los campos identities de la respuesta. En el siguiente ejemplo, se muestra un solo resultado del análisis con el campo identities destacado.

...
{
  "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 se agota el tiempo de espera de la solicitud antes de que finalice la consulta, se mostrará un error DEADLINE_EXCEEDED. Para obtener resultados completos de estas consultas, escribe los resultados en BigQuery o Cloud Storage mediante la versión de larga duración de analyzeIamPolicy. Para obtener instrucciones, consulta Escribe un análisis de políticas en BigQuery o Escribe un análisis de políticas en Cloud Storage.

Determina qué acceso tiene una principal a un recurso

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

Console

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

    Ir a la página de Analizador de políticas

  2. En la sección Analizar políticas, busca el panel etiquetado Consulta personalizada y haz clic en Crear consulta personalizada.

  3. En el campo Seleccionar el alcance de la consulta, selecciona el proyecto, la carpeta o la organización a los que deseas limitar el alcance de la consulta. El Analizador de políticas analizará el acceso a ese proyecto, carpeta u organización, así como cualquier recurso dentro de ese proyecto, organización o carpeta.

  4. Elige el recurso y la principal que deseas verificar:

    1. En el campo Parámetro 1, selecciona Recurso en el menú desplegable.
    2. En el campo Recurso, ingresa el nombre completo del recurso del que deseas analizar el acceso. Si no conoces el nombre completo del recurso, comienza a escribir su nombre visible y, luego, selecciónalo en la lista de recursos proporcionados.
    3. Haz clic en Agregar selector.
    4. En el campo Parámetro 2, selecciona Principal en el menú desplegable.
    5. En el campo Principal, comienza a escribir el nombre de un usuario, una cuenta de servicio o un grupo. Luego, en la lista de principales que se proporciona, selecciona el usuario, la cuenta de servicio o el grupo cuyo acceso deseas analizar.
  5. Opcional: Haz clic en Continuar y, luego, selecciona las opciones avanzadas que deseas habilitar para esta consulta.

  6. En el panel Consulta personalizada, haz clic en Analizar > Ejecutar consulta. En la página del informe, se muestran los parámetros de búsqueda que ingresaste y una tabla de resultados con todos los roles que tiene la principal especificada en el recurso especificado.

    Las consultas de análisis de políticas en la consola de Google Cloud se ejecutan durante un máximo de un minuto. Después de un minuto, la consola de Google Cloud detiene la consulta y muestra todos los resultados disponibles. Si la consulta no finalizó en ese tiempo, la consola de Google Cloud mostrará un banner que indicará que los resultados están incompletos. Para obtener los resultados completos de estas consultas, exporta los resultados a BigQuery.

gcloud

Antes de usar cualquiera de los datos de comando a continuación, haz los siguientes reemplazos:

  • RESOURCE_TYPE: Es el tipo de recurso al que deseas definir el alcance de tu búsqueda. Solo se analizarán las políticas de permisos de IAM vinculadas a este recurso y a sus subordinados. Usa el valor project, folder o organization.
  • RESOURCE_ID: Es el ID del proyecto, la carpeta o la organización de Google Cloud en el que deseas definir el alcance de la búsqueda. Solo se analizarán las políticas de permisos de IAM vinculadas a este recurso y a sus subordinados. Los ID de proyecto son strings alfanuméricas, como my-project. Los ID de carpeta y organización son numéricos, como 123456789012.
  • FULL_RESOURCE_NAME: Es el nombre completo del recurso del que deseas analizar el acceso. Para obtener una lista de los formatos de nombre de recurso completos, consulta Formato de nombre de recurso.
  • PRINCIPAL: La principal cuyo acceso deseas analizar, en el formato PRINCIPAL_TYPE:ID, por ejemplo, user:my-user@example.com. Para obtener una lista completa de los tipos principales, consulta Identificadores principales.

Ejecuta el comando gcloud asset analyze-iam-policy de la siguiente manera:

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 YAML con los resultados del análisis. Cada resultado del análisis enumera un conjunto de accesos, identidades y recursos relevantes para tu consulta, seguido de la vinculación de rol de IAM relacionada. Si la vinculación de funciones es condicional, el resultado del análisis también incluye el resultado de la evaluación de la condición. Si no se pudo evaluar la condición, el resultado es CONDITIONAL.

Los roles que tiene la principal en el recurso especificado se enumeran en los campos accesses de la respuesta. En el siguiente ejemplo, se muestra un solo resultado del análisis con el campo accesses destacado.

...
---
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 se agota el tiempo de espera de la solicitud antes de que finalice la consulta, se mostrará un error DEADLINE_EXCEEDED. Para obtener resultados completos de estas consultas, escribe los resultados en BigQuery o Cloud Storage mediante la versión de larga duración de analyze-iam-policy. Para obtener instrucciones, consulta Escribe un análisis de políticas en BigQuery o Escribe un análisis de políticas en Cloud Storage.

REST

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

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • RESOURCE_TYPE: Es el tipo de recurso al que deseas definir el alcance de tu búsqueda. Solo se analizarán las políticas de permisos de IAM vinculadas a este recurso y a sus subordinados. Usa el valor projects, folders o organizations.
  • RESOURCE_ID: Es el ID del proyecto, la carpeta o la organización de Google Cloud en el que deseas definir el alcance de la búsqueda. Solo se analizarán las políticas de permisos de IAM vinculadas a este recurso y a sus subordinados. Los ID de proyecto son strings alfanuméricas, como my-project. Los ID de carpeta y organización son numéricos, como 123456789012.
  • FULL_RESOURCE_NAME: Es el nombre completo del recurso del que deseas analizar el acceso. Para obtener una lista de los formatos de nombre de recurso completos, consulta Formato de nombre de recurso.
  • PRINCIPAL: La principal cuyo acceso deseas analizar, en el formato PRINCIPAL_TYPE:ID, por ejemplo, user:my-user@example.com. Para obtener una lista completa de los tipos principales, consulta Identificadores principales.

HTTP method and 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, expande una de estas opciones:

Recibes una respuesta JSON con los resultados del análisis. Cada resultado del análisis describe una vinculación de rol de IAM relevante y, luego, enumera el recurso, los accesos y las principales en esa vinculación. Si la vinculación de funciones es condicional, el resultado del análisis también incluye el resultado de la evaluación de la condición. Si no se pudo evaluar la condición, el resultado se muestra como CONDITIONAL.

Los roles que tiene la principal en el recurso especificado se enumeran en los campos accesses de la respuesta. En el siguiente ejemplo, se muestra un solo resultado del análisis con el campo accesses destacado.

...
{
  "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 se agota el tiempo de espera de la solicitud antes de que finalice la consulta, se mostrará un error DEADLINE_EXCEEDED. Para obtener resultados completos de estas consultas, escribe los resultados en BigQuery o Cloud Storage mediante la versión de larga duración de analyzeIamPolicy. Para obtener instrucciones, consulta Escribe un análisis de políticas en BigQuery o Escribe un análisis de políticas en Cloud Storage.

Determina a qué recursos puede acceder una principal

Puedes usar el Analizador de políticas para verificar qué recursos de la organización tiene funciones o permisos una principal. Para obtener esta información, crea una consulta que incluya la principal cuyo acceso deseas analizar y uno o más permisos o funciones que desees comprobar.

Console

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

    Ir a la página de Analizador de políticas

  2. En la sección Analizar políticas, busca el panel etiquetado Consulta personalizada y haz clic en Crear consulta personalizada.

  3. En el campo Seleccionar el alcance de la consulta, selecciona el proyecto, la carpeta o la organización a los que deseas limitar el alcance de la consulta. El Analizador de políticas analizará el acceso a ese proyecto, carpeta u organización, así como cualquier recurso dentro de ese proyecto, organización o carpeta.

  4. Elige la principal que deseas verificar y la función o el permiso que deseas comprobar:

    1. En el campo Parámetro 1, selecciona Principal en el menú desplegable.
    2. En el campo Principal, comienza a escribir el nombre de un usuario, una cuenta de servicio o un grupo. Luego, en la lista de principales que se proporciona, selecciona el usuario, la cuenta de servicio o el grupo cuyo acceso deseas analizar.
    3. Haz clic en Agregar selector.
    4. En el campo Parámetro 2, selecciona Función o Permiso.
    5. En el campo Selecciona una función o Selecciona un permiso, selecciona la función o el permiso que deseas verificar.
    6. Opcional: Para comprobar las funciones y los permisos adicionales, continúa agregando selectores de Función y Permiso hasta que aparezcan todas las funciones y los permisos que deseas verificar.
  5. Opcional: Haz clic en Continuar y, luego, selecciona las opciones avanzadas que deseas habilitar para esta consulta.

  6. En el panel Consulta personalizada, haz clic en Analizar > Ejecutar consulta. En la página del informe, se muestran los parámetros de búsqueda que ingresaste y una tabla de resultados con todos los recursos en los que la principal especificada tiene las funciones o los permisos especificados.

    Las consultas de análisis de políticas en la consola de Google Cloud se ejecutan durante un máximo de un minuto. Después de un minuto, la consola de Google Cloud detiene la consulta y muestra todos los resultados disponibles. Si la consulta no finalizó en ese tiempo, la consola de Google Cloud mostrará un banner que indicará que los resultados están incompletos. Para obtener los resultados completos de estas consultas, exporta los resultados a BigQuery.

gcloud

Antes de usar cualquiera de los datos de comando a continuación, haz los siguientes reemplazos:

  • RESOURCE_TYPE: Es el tipo de recurso al que deseas definir el alcance de tu búsqueda. Solo se analizarán las políticas de permisos de IAM vinculadas a este recurso y a sus subordinados. Usa el valor project, folder o organization.
  • RESOURCE_ID: Es el ID del proyecto, la carpeta o la organización de Google Cloud en el que deseas definir el alcance de la búsqueda. Solo se analizarán las políticas de permisos de IAM vinculadas a este recurso y a sus subordinados. Los ID de proyecto son strings alfanuméricas, como my-project. Los ID de carpeta y organización son numéricos, como 123456789012.
  • PRINCIPAL: La principal cuyo acceso deseas analizar, en el formato PRINCIPAL_TYPE:ID, por ejemplo, user:my-user@example.com. Para obtener una lista completa de los tipos principales, consulta Identificadores principales.
  • PERMISSIONS: Es una lista separada por comas de los permisos que deseas verificar, por ejemplo, compute.instances.get,compute.instances.start. Si enumeras varios permisos, el Analizador de políticas verificará cualquiera de los permisos enumerados.

Ejecuta el comando gcloud asset analyze-iam-policy de la siguiente manera:

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 YAML con los resultados del análisis. Cada resultado del análisis enumera un conjunto de accesos, identidades y recursos relevantes para tu consulta, seguido de la vinculación de rol de IAM relacionada. Si la vinculación de funciones es condicional, el resultado del análisis también incluye el resultado de la evaluación de la condición. Si no se pudo evaluar la condición, el resultado es CONDITIONAL.

Los recursos en los que la principal especificada tiene alguno de los permisos especificados se enumeran en los campos resources de la respuesta. En el siguiente ejemplo, se muestra un solo resultado del análisis con el campo resources destacado.

...
---
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 se agota el tiempo de espera de la solicitud antes de que finalice la consulta, se mostrará un error DEADLINE_EXCEEDED. Para obtener resultados completos de estas consultas, escribe los resultados en BigQuery o Cloud Storage mediante la versión de larga duración de analyze-iam-policy. Para obtener instrucciones, consulta Escribe un análisis de políticas en BigQuery o Escribe un análisis de políticas en Cloud Storage.

REST

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

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • RESOURCE_TYPE: Es el tipo de recurso al que deseas definir el alcance de tu búsqueda. Solo se analizarán las políticas de permisos de IAM vinculadas a este recurso y a sus subordinados. Usa el valor projects, folders o organizations.
  • RESOURCE_ID: Es el ID del proyecto, la carpeta o la organización de Google Cloud en el que deseas definir el alcance de la búsqueda. Solo se analizarán las políticas de permisos de IAM vinculadas a este recurso y a sus subordinados. Los ID de proyecto son strings alfanuméricas, como my-project. Los ID de carpeta y organización son numéricos, como 123456789012.
  • PRINCIPAL: La principal cuyo acceso deseas analizar, en el formato PRINCIPAL_TYPE:ID, por ejemplo, user:my-user@example.com. Para obtener una lista completa de los tipos principales, consulta Identificadores principales.
  • PERMISSION_1, PERMISSION_2... PERMISSION_N: Los permisos que deseas verificar, por ejemplo, compute.instances.get. Si enumeras varios permisos, el Analizador de políticas verificará cualquiera de los permisos enumerados.

HTTP method and 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, expande una de estas opciones:

Recibes una respuesta JSON con los resultados del análisis. Cada resultado del análisis describe una vinculación de rol de IAM relevante y, luego, enumera el recurso, los accesos y las principales en esa vinculación. Si la vinculación de funciones es condicional, el resultado del análisis también incluye el resultado de la evaluación de la condición. Si no se pudo evaluar la condición, el resultado se muestra como CONDITIONAL.

Los recursos en los que la principal especificada tiene alguno de los permisos especificados se enumeran en los campos resources de la respuesta. En el siguiente ejemplo, se muestra un solo resultado del análisis con el campo resources destacado.

...
{
  "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 se agota el tiempo de espera de la solicitud antes de que finalice la consulta, se mostrará un error DEADLINE_EXCEEDED. Para obtener resultados completos de estas consultas, escribe los resultados en BigQuery o Cloud Storage mediante la versión de larga duración de analyzeIamPolicy. Para obtener instrucciones, consulta Escribe un análisis de políticas en BigQuery o Escribe un análisis de políticas en Cloud Storage.

Determina el acceso en un momento específico

Si se proporciona suficiente contexto, el Analizador de políticas puede analizar las vinculaciones de funciones condicionales de IAM que solo otorgan 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 funciones con condiciones de fecha y hora, debes definir la hora de acceso en la solicitud.

El Analizador de políticas también puede analizar las condiciones de recursos sin entradas adicionales del usuario. Para obtener más información sobre cómo funciona el Analizador de políticas con las condiciones, consulta Acceso condicional.

gcloud

Antes de usar cualquiera de los datos de comando a continuación, haz los siguientes reemplazos:

  • RESOURCE_TYPE: Es el tipo de recurso al que deseas definir el alcance de tu búsqueda. Solo se analizarán las políticas de permisos de IAM vinculadas a este recurso y a sus subordinados. Usa el valor project, folder o organization.
  • RESOURCE_ID: Es el ID del proyecto, la carpeta o la organización de Google Cloud en el que deseas definir el alcance de la búsqueda. Solo se analizarán las políticas de permisos de IAM vinculadas a este recurso y a sus subordinados. Los ID de proyecto son strings alfanuméricas, como my-project. Los ID de carpeta y organización son numéricos, como 123456789012.
  • PERMISSIONS: Opcional. Una lista separada por comas de los permisos que deseas verificar, por ejemplo, compute.instances.get,compute.instances.start. Si enumeras varios permisos, el Analizador de políticas verificará cualquiera de los permisos enumerados.
  • FULL_RESOURCE_NAME: Opcional El nombre completo del recurso del que deseas analizar el acceso. Para obtener una lista de los formatos de nombre de recurso completos, consulta Formato de nombre de recurso.
  • PERMISSIONS: Opcional. Una lista separada por comas de los permisos que deseas verificar, por ejemplo, compute.instances.get,compute.instances.start. Si enumeras varios permisos, el Analizador de políticas verificará cualquiera de los permisos enumerados.
  • ACCESS_TIME: Es la hora que deseas verificar. Esta fecha debe ser futura. Usa una marca de tiempo en formato RFC 3339, por ejemplo, 2099-02-01T00:00:00Z.

Ejecuta el comando gcloud asset analyze-iam-policy de la siguiente manera:

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 YAML con los resultados del análisis. Cada resultado del análisis enumera un conjunto de accesos, identidades y recursos relevantes para tu consulta, seguido de la vinculación de rol de IAM relacionada. Si la vinculación de funciones es condicional, el resultado del análisis también incluye el resultado de la evaluación de la condición. Si no se pudo evaluar la condición, el resultado es CONDITIONAL.

Cuando incluyes la hora de acceso en la solicitud, el Analizador de políticas puede evaluar las condiciones de fecha y hora. Si la condición se evalúa como falsa, ese rol no se incluye en la respuesta. Si la condición se evalúa como verdadera, el resultado de su evaluación se muestra 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 se agota el tiempo de espera de la solicitud antes de que finalice la consulta, se mostrará un error DEADLINE_EXCEEDED. Para obtener resultados completos de estas consultas, escribe los resultados en BigQuery o Cloud Storage mediante la versión de larga duración de analyze-iam-policy. Para obtener instrucciones, consulta Escribe un análisis de políticas en BigQuery o Escribe un análisis de políticas en Cloud Storage.

REST

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

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • RESOURCE_TYPE: Es el tipo de recurso al que deseas definir el alcance de tu búsqueda. Solo se analizarán las políticas de permisos de IAM vinculadas a este recurso y a sus subordinados. Usa el valor projects, folders o organizations.
  • RESOURCE_ID: Es el ID del proyecto, la carpeta o la organización de Google Cloud en el que deseas definir el alcance de la búsqueda. Solo se analizarán las políticas de permisos de IAM vinculadas a este recurso y a sus subordinados. Los ID de proyecto son strings alfanuméricas, como my-project. Los ID de carpeta y organización son numéricos, como 123456789012.
  • PERMISSION_1, PERMISSION_2... PERMISSION_N: Opcional. Los permisos que deseas verificar, por ejemplo, compute.instances.get Si enumeras varios permisos, el Analizador de políticas verificará cualquiera de los permisos enumerados.
  • FULL_RESOURCE_NAME: Opcional El nombre completo del recurso del que deseas analizar el acceso. Para obtener una lista de los formatos de nombre de recurso completos, consulta Formato de nombre de recurso.
  • PERMISSION_1, PERMISSION_2... PERMISSION_N: Opcional. Los permisos que deseas verificar, por ejemplo, compute.instances.get Si enumeras varios permisos, el Analizador de políticas verificará cualquiera de los permisos enumerados.
  • ACCESS_TIME: Es la hora que deseas verificar. Esta fecha debe ser futura. Usa una marca de tiempo en formato RFC 3339, por ejemplo, 2099-02-01T00:00:00Z.

HTTP method and 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, expande una de estas opciones:

Recibes una respuesta JSON con los resultados del análisis. Cada resultado del análisis describe una vinculación de rol de IAM relevante y, luego, enumera el recurso, los accesos y las principales en esa vinculación. Si la vinculación de funciones es condicional, el resultado del análisis también incluye el resultado de la evaluación de la condición. Si no se pudo evaluar la condición, el resultado se muestra como CONDITIONAL.

Cuando incluyes la hora de acceso en la solicitud, el Analizador de políticas puede evaluar las condiciones de fecha y hora. Si la condición se evalúa como 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 se agota el tiempo de espera de la solicitud antes de que finalice la consulta, se mostrará un error DEADLINE_EXCEEDED. Para obtener resultados completos de estas consultas, escribe los resultados en BigQuery o Cloud Storage mediante la versión de larga duración de analyzeIamPolicy. Para obtener instrucciones, consulta Escribe un análisis de políticas en BigQuery o Escribe un análisis de políticas en Cloud Storage.

Habilitar opciones

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

Console

Opción Descripción
Enumerar los recursos dentro de los recursos que coinciden con tu consulta Si habilitas esta opción, los resultados de la consulta muestran hasta 1,000 recursos descendientes relevantes para cualquier recurso superior (proyectos, carpetas y organizaciones) en los resultados de la consulta.
Permite enumerar los usuarios individuales dentro de los grupos

Si habilitas esta opción, cualquier grupo en los resultados de la consulta se expande en miembros individuales. Si tienes suficientes permisos de grupo, los grupos anidados también se expandirán. Esta expansión tiene un límite de 1,000 miembros por grupo.

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

Permite enumerar los permisos dentro de las funciones

Si habilitas esta opción, los resultados de la consulta enumerarán todos los permisos dentro de cada función además de la función en sí.

Esta opción solo está disponible si no especificas ningún permiso ni función en tu consulta.

gcloud

En esta sección, se describen varias marcas comunes que puedes agregar cuando usas la gcloud CLI para analizar las políticas de permisos. Para obtener una lista completa de las opciones, consulta Marcas opcionales.

Marca 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 usar la identidad de las cuentas de servicio que tienen el acceso especificado a los recursos especificados. El 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

Esta es una operación muy costosa porque ejecuta automáticamente muchas consultas. Te recomendamos que exportes a BigQuery o exportes a Cloud Storage con analyze-iam-policy-longrunning en lugar de usar analyze-iam-policy.

--expand-groups

Si habilitas esta opción, cualquier grupo en los resultados de la consulta se expande en miembros individuales. Si tienes suficientes permisos de grupo, los grupos anidados también se expandirán. Esta expansión tiene un límite de 1,000 miembros por grupo.

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

--expand-resources Si habilitas esta opción, los resultados de la consulta muestran hasta 1,000 recursos descendientes relevantes para cualquier recurso superior (proyectos, carpetas y organizaciones) en los resultados de la consulta.
--expand-roles

Si habilitas esta opción, los resultados de la consulta enumerarán todos los permisos dentro de cada función además de la función en sí.

Esta opción solo está disponible si no especificas ningún permiso ni función en tu consulta.

--output-group-edges Si habilitas esta opción, los resultados de la consulta generan las relaciones de membresía relevantes entre grupos.
--output-resource-edges Si habilitas esta opción, los resultados de la consulta generan las relaciones superior/secundario relevantes entre los recursos.

REST

Para habilitar cualquier opción, primero agrega 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
   }
  }
}

Reemplaza OPTIONS por las opciones que deseas habilitar, en 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 usar la identidad de las cuentas de servicio que tienen el acceso especificado a los recursos especificados. El 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

Esta es una operación muy costosa porque ejecuta automáticamente muchas consultas. Te recomendamos que exportes a BigQuery o exportes a Cloud Storage con AnalyzeIamPolicyLongrunning en lugar de usar AnalyzeIamPolicy.

expandGroups

Si habilitas esta opción, cualquier grupo en los resultados de la consulta se expande en miembros individuales. Si tienes suficientes permisos de grupo, los grupos anidados también se expandirán. Esta expansión tiene un límite de 1,000 miembros por grupo.

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

expandResources Si habilitas esta opción, los resultados de la consulta muestran hasta 1,000 recursos descendientes relevantes para cualquier recurso superior (proyectos, carpetas y organizaciones) en los resultados de la consulta.
expandRoles

Si habilitas esta opción, los resultados de la consulta enumerarán todos los permisos dentro de cada función además de la función en sí.

Esta opción solo está disponible si no especificas ningún permiso ni función en tu consulta.

outputGroupEdges Si habilitas esta opción, los resultados de la consulta generan las relaciones de membresía relevantes entre grupos.
outputResourceEdges Si habilitas esta opción, los resultados de la consulta generan las relaciones superior/secundario relevantes entre los recursos.

¿Qué sigue?