Analiza las políticas de IAM

En esta página, se muestra cómo usar el Analizador de políticas para descubrir qué principales (usuarios, cuentas de servicio, grupos y dominios) tienen qué acceso a qué 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 de inmediato los resultados. Si deseas exportar los resultados para un análisis más detallado, puedes usar AnalyzeIamPolicyLongrunning para escribir los resultados de las consultas en BigQuery o Cloud Storage.

Antes de comenzar

Roles y permisos requeridos

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

Roles de IAM obligatorios

Si deseas 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 a los que aplicarás el permiso de tu consulta:

Si quieres obtener más información para otorgar roles, 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 permiso:

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

También puedes obtener estos permisos con roles personalizados o, también, otros roles predefinidos.

Permisos necesarios de Google Workspace

Si quieres 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á contenido en la función de administrador de lectores de grupos y en funciones más potentes, como las de administrador de grupos o administrador avanzado. Para aprender a 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 en ese panel.

  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 desees 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 consulta 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 más resultados 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 la búsqueda. Solo se analizarán las políticas de permiso de IAM vinculadas a este recurso y a sus elementos subordinados. Usa el valor project, folder o organization.
  • RESOURCE_ID: Es el ID del proyecto, la carpeta o la organización de Google Cloud al que deseas definir el alcance de la búsqueda. Solo se analizarán las políticas de permiso de IAM vinculadas a este recurso y a sus elementos 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: El nombre completo del recurso para el que deseas analizar el acceso. Para obtener una lista de los formatos de nombres de recursos 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 que se enumeran.

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 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 función de IAM relacionada. Si la vinculación de la función 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 cualquiera 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 de 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 más resultados 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 determinados permisos sobre 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 la búsqueda. Solo se analizarán las políticas de permiso de IAM vinculadas a este recurso y a sus elementos subordinados. Usa el valor projects, folders o organizations.
  • RESOURCE_ID: Es el ID del proyecto, la carpeta o la organización de Google Cloud al que deseas definir el alcance de la búsqueda. Solo se analizarán las políticas de permiso de IAM vinculadas a este recurso y a sus elementos 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: El nombre completo del recurso para el que deseas analizar el acceso. Para obtener una lista de los formatos de nombres de recursos completos, consulta Formato de nombre de recurso.
  • PERMISSION_1, PERMISSION_2... PERMISSION_N: Son los permisos que deseas verificar, por ejemplo, compute.instances.get. Si enumeras varios permisos, el Analizador de políticas verificará cualquiera de los que se enumeran.

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, 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 de esa vinculación. Si la vinculación de la función 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 se muestra como CONDITIONAL.

Las principales que tienen cualquiera 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 de 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 más resultados 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 en ese panel.

  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 desees 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 consulta 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 más resultados 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 la búsqueda. Solo se analizarán las políticas de permiso de IAM vinculadas a este recurso y a sus elementos subordinados. Usa el valor project, folder o organization.
  • RESOURCE_ID: Es el ID del proyecto, la carpeta o la organización de Google Cloud al que deseas definir el alcance de la búsqueda. Solo se analizarán las políticas de permiso de IAM vinculadas a este recurso y a sus elementos 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 enumeras varios roles, el Analizador de políticas verificará cualquiera de los que se enumeran.
  • 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 que se enumeran.

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'

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 de esa vinculación. Si la vinculación de la función 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 se muestra como CONDITIONAL.

Las principales que tienen cualquiera de los roles o permisos especificados se enumeran en los campos identities de la respuesta. En el siguiente ejemplo, se muestra un solo resultado de 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 más resultados 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 determinados roles 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 la búsqueda. Solo se analizarán las políticas de permiso de IAM vinculadas a este recurso y a sus elementos subordinados. Usa el valor projects, folders o organizations.
  • RESOURCE_ID: Es el ID del proyecto, la carpeta o la organización de Google Cloud al que deseas definir el alcance de la búsqueda. Solo se analizarán las políticas de permiso de IAM vinculadas a este recurso y a sus elementos 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: Son 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: Son los permisos que deseas verificar, por ejemplo, compute.instances.get. Si enumeras varios permisos, el Analizador de políticas verificará cualquiera de los que se enumeran.

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, 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 de esa vinculación. Si la vinculación de la función 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 se muestra como CONDITIONAL.

Las principales que tienen cualquiera de los roles o permisos especificados se enumeran en los campos identities de la respuesta. En el siguiente ejemplo, se muestra un solo resultado de 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 más resultados 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 en ese panel.

  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 desees 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 consulta que ingresaste y una tabla de resultados con todas las funciones que la principal especificada tiene 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 más resultados 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 la búsqueda. Solo se analizarán las políticas de permiso de IAM vinculadas a este recurso y a sus elementos subordinados. Usa el valor project, folder o organization.
  • RESOURCE_ID: Es el ID del proyecto, la carpeta o la organización de Google Cloud al que deseas definir el alcance de la búsqueda. Solo se analizarán las políticas de permiso de IAM vinculadas a este recurso y a sus elementos 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: El nombre completo del recurso para el que deseas analizar el acceso. Para obtener una lista de los formatos de nombres de recursos completos, consulta Formato de nombre de recurso.
  • PRINCIPAL: Es 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 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 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 función de IAM relacionada. Si la vinculación de la función 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 de 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 más resultados 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 la búsqueda. Solo se analizarán las políticas de permiso de IAM vinculadas a este recurso y a sus elementos subordinados. Usa el valor projects, folders o organizations.
  • RESOURCE_ID: Es el ID del proyecto, la carpeta o la organización de Google Cloud al que deseas definir el alcance de la búsqueda. Solo se analizarán las políticas de permiso de IAM vinculadas a este recurso y a sus elementos 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: El nombre completo del recurso para el que deseas analizar el acceso. Para obtener una lista de los formatos de nombres de recursos completos, consulta Formato de nombre de recurso.
  • PRINCIPAL: Es 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 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, 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 de esa vinculación. Si la vinculación de la función 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 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 de 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 más resultados 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.

Determinar 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 en ese panel.

  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 desees 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 consulta que ingresaste y una tabla de resultados de todos los recursos en los que la principal especificada tiene los roles o 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 más resultados 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 la búsqueda. Solo se analizarán las políticas de permiso de IAM vinculadas a este recurso y a sus elementos subordinados. Usa el valor project, folder o organization.
  • RESOURCE_ID: Es el ID del proyecto, la carpeta o la organización de Google Cloud al que deseas definir el alcance de la búsqueda. Solo se analizarán las políticas de permiso de IAM vinculadas a este recurso y a sus elementos 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: Es 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 de principales, consulta Identificadores de 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 que se enumeran.

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 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 función de IAM relacionada. Si la vinculación de la función 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 cualquiera de los permisos especificados se enumeran en los campos resources de la respuesta. En el siguiente ejemplo, se muestra un solo resultado de 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 más resultados 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 la búsqueda. Solo se analizarán las políticas de permiso de IAM vinculadas a este recurso y a sus elementos subordinados. Usa el valor projects, folders o organizations.
  • RESOURCE_ID: Es el ID del proyecto, la carpeta o la organización de Google Cloud al que deseas definir el alcance de la búsqueda. Solo se analizarán las políticas de permiso de IAM vinculadas a este recurso y a sus elementos 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: Es 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 de principales, consulta Identificadores de principales.
  • PERMISSION_1, PERMISSION_2... PERMISSION_N: Son los permisos que deseas verificar, por ejemplo, compute.instances.get. Si enumeras varios permisos, el Analizador de políticas verificará cualquiera de los que se enumeran.

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, 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 de esa vinculación. Si la vinculación de la función 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 se muestra como CONDITIONAL.

Los recursos en los que la principal especificada tiene cualquiera de los permisos especificados se enumeran en los campos resources de la respuesta. En el siguiente ejemplo, se muestra un solo resultado de 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 más resultados 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 contexto suficiente, 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 de forma precisa las vinculaciones de funciones con condiciones de fecha y hora, debes definir el tiempo de acceso en la solicitud.

El Analizador de políticas también puede analizar las condiciones de los 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 la búsqueda. Solo se analizarán las políticas de permiso de IAM vinculadas a este recurso y a sus elementos subordinados. Usa el valor project, folder o organization.
  • RESOURCE_ID: Es el ID del proyecto, la carpeta o la organización de Google Cloud al que deseas definir el alcance de la búsqueda. Solo se analizarán las políticas de permiso de IAM vinculadas a este recurso y a sus elementos 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 que se enumeran.
  • FULL_RESOURCE_NAME: Opcional El nombre completo del recurso para el que quieres 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 que se enumeran.
  • ACCESS_TIME: Es la hora que deseas comprobar. 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 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 función de IAM relacionada. Si la vinculación de la función 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 la evaluación de la condició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 más resultados 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 sobre 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 la búsqueda. Solo se analizarán las políticas de permiso de IAM vinculadas a este recurso y a sus elementos subordinados. Usa el valor projects, folders o organizations.
  • RESOURCE_ID: Es el ID del proyecto, la carpeta o la organización de Google Cloud al que deseas definir el alcance de la búsqueda. Solo se analizarán las políticas de permiso de IAM vinculadas a este recurso y a sus elementos 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 que se enumeran.
  • FULL_RESOURCE_NAME: Opcional El nombre completo del recurso para el que quieres 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 que se enumeran.
  • ACCESS_TIME: Es la hora que deseas verificar. 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, 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 de esa vinculación. Si la vinculación de la función 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 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 más resultados 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 consulta 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 enumeran hasta 1,000 recursos subordinados relevantes de 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 a miembros individuales. Si tienes suficientes permisos de grupo, también se expandirán los grupos anidados. 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 enumeran 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 o función en la consulta.

gcloud

En esta sección, se describen varias marcas comunes que puedes agregar cuando usas gcloud CLI para analizar las políticas de permisos. Para obtener una lista completa de 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 actuar en nombre 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. En estas consultas, se analiza 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, ya que ejecuta muchas consultas de forma automática. Te recomendamos que exportes a BigQuery o exportes a Cloud Storage mediante analyze-iam-policy-longrunning en lugar de analyze-iam-policy.

--expand-groups

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

Esta opción solo es efectiva si no especificas una principal en la consulta.

--expand-resources Si habilitas esta opción, los resultados de la consulta enumeran hasta 1,000 recursos subordinados relevantes de 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 enumeran 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 o función en la consulta.

--output-group-edges Si habilitas esta opción, los resultados de la consulta generan las relaciones de membresía relevantes entre los 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 cualquiera de las opciones, 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 actuar en nombre 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. En estas consultas, se analiza 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, ya que ejecuta muchas consultas de forma automática. Te recomendamos que exportes a BigQuery o exportes a Cloud Storage mediante AnalyzeIamPolicyLongrunning en lugar de AnalyzeIamPolicy.

expandGroups

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

Esta opción solo es efectiva si no especificas una principal en la consulta.

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

Si habilitas esta opción, los resultados de la consulta enumeran 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 o función en la consulta.

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

¿Qué sigue?