Busca políticas de permisos de IAM

La API de Cloud Asset te permite usar un lenguaje de consulta personalizado para buscar políticas de permisos de Identity and Access Management (IAM) en un proyecto, una carpeta o una organización.

Antes de comenzar

Busca políticas de permiso

Console

Para buscar todas las políticas de permisos de IAM, completa los siguientes pasos.

  1. Ve a la página Asset Inventory en la consola de Google Cloud.

    Ir al Inventario de recursos

  2. Para establecer el permiso de tu búsqueda, abre el cuadro de lista Proyectos en la barra de menú y, luego, selecciona la organización, la carpeta o el proyecto que deseas consultar.

  3. Selecciona la pestaña Política de IAM.

  4. Para buscar políticas de permisos, puedes usar una consulta predeterminada o crear una propia.

    • Para usar una consulta predeterminada, selecciona las opciones de Ajustes predeterminados de consulta en el panel Filtrar resultados. Para filtrar los resultados, selecciona las opciones de Filtros.

    • Para compilar tu propia consulta, ingresa el texto de la consulta en la barra Filtros. Selecciona el cuadro de texto y, luego, una lista de campos de búsqueda que se puede mostrar. La búsqueda de políticas admite varios campos. Obtén más información sobre la sintaxis de consulta.

Las políticas de permisos que coinciden con la consulta se enumeran en la tabla Resultado.

Para ver la consulta como un comando de Google Cloud CLI, selecciona Ver consulta.

Para exportar los resultados, selecciona Descargar CSV.

gcloud

Puedes llamar a SearchAllIamPolicies con el comando gcloud asset search-all-iam-policies. Debes ejecutar la versión 302.0.0 de Google Cloud CLI o una más reciente. Puedes verificar la versión con el comando gcloud version:

gcloud asset search-all-iam-policies \
    --scope=SCOPE \
    --query="QUERY" \
    --asset-types=ASSET_TYPE_1,ASSET_TYPE_2,... \
    --order-by=ORDER_BY

Ingresa los siguientes valores:

  • SCOPE: Obligatorio. Un permiso puede ser un proyecto, una carpeta o una organización. La búsqueda se limita a las políticas de permisos de IAM en este alcance. El llamador debe tener una función que contenga el permiso cloudasset.assets.searchAllIamPolicies en el alcance seleccionado. Si no se especifica, se usa la propiedad del proyecto configurada.

    Los valores permitidos son los siguientes:

    • projects/PROJECT_ID

    • projects/PROJECT_NUMBER

      Cómo encontrar un número de proyecto de Google Cloud

      Console

      Para encontrar un número de proyecto de Google Cloud, completa los siguientes pasos:

      1. Ve a la página Panel en la consola de Google Cloud.

        Ir al panel

      2. Haz clic en el cuadro de cambio en la barra de menú.
      3. Elige tu organización en el cuadro Seleccionar desde y, luego, busca el nombre del proyecto.
      4. Haz clic en el nombre del proyecto para cambiar a ese proyecto. El número del proyecto se muestra en la tarjeta Información del proyecto.

      gcloud CLI

      Puedes recuperar el número de proyecto de Google Cloud con el siguiente comando:

      gcloud projects describe PROJECT_ID --format="value(projectNumber)"

    • folders/FOLDER_ID

      Cómo encontrar un ID de carpeta de Google Cloud

      Console

      Para encontrar un ID de carpeta de Google Cloud, completa los siguientes pasos:

      1. Ve a la consola de Google Cloud.

        Ir a la consola de Google Cloud

      2. Haz clic en el cuadro de cambio en la barra de menú.
      3. Haz clic en el cuadro Seleccionar de y, luego, selecciona tu organización.
      4. Busca el nombre de tu carpeta. El ID de la carpeta se muestra junto al nombre de la carpeta.

      gcloud CLI

      Puedes recuperar un ID de carpeta de Google Cloud que se encuentra a nivel de la organización con el siguiente comando:

      gcloud resource-manager folders list \
          --organization=$(gcloud organizations describe ORGANIZATION_NAME \
            --format="value(name.segment(1))") \
          --filter='"DISPLAY_NAME":"TOP_LEVEL_FOLDER_NAME"' \
          --format="value(ID)"

      En el ejemplo anterior, TOP_LEVEL_FOLDER_NAME puede ser una coincidencia de cadenas completa o parcial. Quita la opción --format para ver más información sobre las carpetas encontradas.

      Para obtener el ID de una carpeta dentro de otra, enumera las subcarpetas:

      gcloud resource-manager folders list --folder=FOLDER_ID

    • organizations/ORGANIZATION_ID

      Cómo encontrar un ID de organización de Google Cloud

      Console

      Para encontrar un ID de organización de Google Cloud, completa los siguientes pasos:

      1. Ve a la consola de Google Cloud.

        Ir a la consola de Google Cloud

      2. Haz clic en el cuadro de cambio en la barra de menú.
      3. Haz clic en el cuadro Seleccionar de y, luego, selecciona tu organización.
      4. Haz clic en la pestaña Todos. El ID de la organización se muestra junto al nombre de la organización.

      gcloud CLI

      Puedes recuperar un ID de organización de Google Cloud con el siguiente comando:

      gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"

  • QUERY: Opcional La instrucción de la consulta. Para obtener más información, revisa la sintaxis de consulta. Si no se especifica o está vacío, busca en todas las políticas de permisos de IAM en la scope especificada. Ten en cuenta que la cadena de consulta se compara con cada vinculación de política de permiso, incluidas las principales, las funciones y las condiciones de IAM. Las políticas de permisos que se muestran solo contienen las vinculaciones que coinciden con tu consulta. Para obtener más información sobre la estructura de la política de permisos, consulta Información sobre las políticas.

    Ejemplos:

    • policy:amy@gmail.com para encontrar vinculaciones de políticas de permiso que especifiquen el usuario “amy@gmail.com”.

    • policy:roles/compute.admin para encontrar vinculaciones de políticas de permiso que especifiquen la función de administrador de Compute

    • policy:comp* para encontrar vinculaciones de políticas permitidas que contengan “comp” como un prefijo de cualquier palabra de la vinculación

    • policy.role.permissions:storage.buckets.update para encontrar vinculaciones de políticas de permiso que especifiquen una función que contenga el permiso “storage.buckets.update”. Ten en cuenta que, si al llamador no se le otorgó una función que contenga el permiso iam.roles.get en la función deseada, las vinculaciones de políticas que especifican esta función se descartan de los resultados de la búsqueda.

    • policy.role.permissions:upd* para encontrar vinculaciones de políticas de permisos que especifiquen una función que contenga “upd” como prefijo de cualquier palabra en la vinculación Ten en cuenta que si al llamador no se le otorgó una función que contenga el permiso iam.roles.get en la función deseada, las vinculaciones de políticas de permiso que especifican esta función se descartan de los resultados de la búsqueda.

    • resource:organizations/123456 para encontrar vinculaciones de políticas de permisos establecidas en “organizations/123456”.

    • resource=//cloudresourcemanager.googleapis.com/projects/myproject para encontrar vinculaciones de políticas de permisos que se configuran en el proyecto llamado “myproject”.

    • Important para encontrar vinculaciones de políticas de permisos que contengan la palabra “Importante” como palabra en cualquiera de los campos de búsqueda (excepto los permisos incluidos)

    • resource:(instance1 OR instance2) policy:amy para encontrar las vinculaciones de políticas permitidas que se configuran en los recursos “instance1” o “instance2” y que también especifican el usuario “amy”.

    • roles:roles/compute.admin para encontrar vinculaciones de políticas de permiso que especifiquen la función de administrador de Compute

    • memberTypes:user para encontrar vinculaciones de políticas de permiso que contengan el tipo principal “usuario”.

  • ASSET_TYPE: Opcional Una lista de los tipos de elementos a los que se adjuntan las políticas de Identity and Access Management. Si está vacío, busca en Identity and Access Management que permitan las políticas que se adjuntan a todos los tipos de elementos que se pueden buscar. Se admiten las expresiones regulares. Si la expresión regular no coincide con ningún tipo de recurso compatible, se mostrará un error INVALID_ARGUMENT.

  • ORDER_BY: Opcional Una lista de campos separados por comas que especifica el orden de clasificación de los resultados. El orden predeterminado es ascendente. Agrega DESC después del nombre del campo para indicar el orden descendente. Se ignoran los caracteres de espacio redundantes. Ejemplo: "assetType DESC, resource". Solo se pueden ordenar los campos primitivos singulares en la respuesta:

    • resource

    • assetType

    • project

    No se admiten todos los demás campos, como los campos repetidos (por ejemplo, folders) y los campos no primitivos (por ejemplo, policy).

Los siguientes son comandos de gcloud de ejemplo:

  • Busca todas las vinculaciones de políticas de permisos de IAM en tu organizations/123456 que contengan el dominio mycompany.com:

    gcloud asset search-all-iam-policies \
        --scope=organizations/123456 \
        --query="policy:\"domain:mycompany.com\""
    
  • Busca todas las vinculaciones de políticas de permisos de IAM en tu organizations/123456 en las que se le otorgó a myuser@mycompany.com el rol básico de propietario (roles/owner):

    gcloud asset search-all-iam-policies \
        --scope=organizations/123456 \
        --query="policy:(roles/owner myuser@mycompany.com)"
    
  • Busca todas las vinculaciones de políticas de permisos de IAM en tu organizations/123456 que están configuradas en projects/12345678:

    gcloud asset search-all-iam-policies \
        --scope=organizations/123456 \
        --query="resource:projects/12345678"
    

REST

Puedes llamar a SearchAllIamPolicies con un token de OAuth válido para un proyecto. Para llamar al método SearchAllIamPolicies desde Cloud Shell o cualquier consola en la que esté disponible el comando gcloud:

  1. Si no configuraste la pantalla de consentimiento de OAuth de tu proyecto, debes hacerlo. Para ello, se requiere una dirección de correo electrónico y un nombre del producto.

    1. Ve a la pantalla de consentimiento de OAuth de tu proyecto.

      Configura la pantalla de consentimiento

    2. Ingresa el Nombre de la aplicación que deseas mostrar.

    3. En Correo electrónico de asistencia, selecciona la dirección de correo electrónico que deseas mostrar como contacto público. Debe ser tu dirección de correo electrónico o un Grupo de Google de tu propiedad.

    4. Agrega otro tipo de información opcional que desees mostrar.

    5. Haz clic en Guardar.

  2. Crea un token de OAuth para tu proyecto. Consulta Cómo configurar OAuth 2.0 para obtener más información.

    1. Ve a la página Crear ID de cliente de OAuth.

      Crear cliente de OAuth

    2. Selecciona App de escritorio como el Tipo de aplicación.

    3. Haz clic en Crear.

  3. Descarga el archivo client_secret.json.

    1. Ve a la página Credenciales.

    2. A la derecha de tu ID de cliente nuevo, haz clic en Descargar JSON.

    3. Almacena el archivo de forma segura en una ubicación a la que solo pueda acceder tu app.

  4. Accede mediante el archivo JSON son el siguiente comando.

    gcloud auth application-default login --client-id-file=YOUR_JSON_FILE
    

    Este comando te solicita que abras un vínculo. Asegúrate de que la página muestre el Nombre de la aplicación que estableciste en la pantalla de consentimiento de OAuth.

  5. Ahora puedes consultar las políticas de permisos de IAM con los comandos de curl.

    curl -X POST \
         -H "X-HTTP-Method-Override: GET" \
         -H "Authorization: Bearer $(gcloud auth print-access-token)" \
         -H "Content-Type: application/json" \
         -d '{
              "assetTypes": [
                "ASSET_TYPE_1",
                "ASSET_TYPE_2",
                "..."
              ],
              "orderBy": "ORDER_BY",
              "pageSize": PAGE_SIZE,
              "query": "QUERY"
             }' \
         https://cloudasset.googleapis.com/v1/SCOPE:searchAllIamPolicies
    

    Proporciona los siguientes detalles:

    • ASSET_TYPE: Opcional Una lista de los tipos de elementos a los que se adjuntan las políticas de Identity and Access Management. Si está vacío, busca las políticas de Identity and Access Management que se adjuntan a todos los tipos de elementos que se pueden buscar. Se admiten las expresiones regulares. Si la expresión regular no coincide con ningún tipo de elemento compatible, se mostrará un error INVALID_ARGUMENT.

    • ORDER_BY: Opcional Una lista de campos separados por comas que especifica el orden de clasificación de los resultados. El orden predeterminado es ascendente. Agrega DESC después del nombre del campo para indicar el orden descendente. Se ignoran los caracteres de espacio redundantes. Ejemplo: "assetType DESC, resource". Solo se pueden ordenar los campos primitivos singulares en la respuesta:

      • resource

      • assetType

      • project

      No se admiten todos los demás campos, como los campos repetidos (por ejemplo, folders) y los campos no primitivos (por ejemplo, policy).

    • PAGE_SIZE: Opcional Es la cantidad de resultados que se muestran por página. La cantidad máxima es 2000. Si el valor se establece como 0 o un valor negativo, se selecciona un valor predeterminado apropiado. Se muestra un nextPageToken para recuperar los resultados posteriores.

    • QUERY: Opcional La instrucción de la consulta. Para obtener más información, revisa la sintaxis de consulta. Si no se especifica o está vacío, busca en todas las políticas de permisos de IAM en la scope especificada. Ten en cuenta que la cadena de consulta se compara con cada vinculación de política de permiso, incluidas las principales, las funciones y las condiciones de IAM. Las políticas de permisos que se muestran solo contienen las vinculaciones que coinciden con tu consulta. Para obtener más información sobre la estructura de la política de permisos, consulta Comprende las políticas de permisos.

      Ejemplos:

      • policy:amy@gmail.com para encontrar vinculaciones de políticas de permiso que especifiquen el usuario “amy@gmail.com”.

      • policy:roles/compute.admin para encontrar vinculaciones de políticas de permisos que especifiquen la función de administrador de Compute

      • policy:comp* para encontrar vinculaciones de políticas permitidas que contengan "comp" como un prefijo de cualquier palabra de la vinculación.

      • policy.role.permissions:storage.buckets.update para encontrar vinculaciones de políticas de permiso que especifiquen una función que contenga el permiso “storage.buckets.update”. Ten en cuenta que si al llamador no se le otorgó una función que contenga el permiso iam.roles.get en la función deseada, las vinculaciones de políticas que especifican esta función se descartan de los resultados de la búsqueda.

      • policy.role.permissions:upd* para encontrar vinculaciones de políticas de permisos que especifiquen una función que contenga “upd” como prefijo de cualquier palabra en el permiso de función Ten en cuenta que, si al llamador no se le otorgó una función que contenga el permiso iam.roles.get en la función deseada, las vinculaciones de políticas que especifican esta función se descartan de los resultados de la búsqueda.

      • resource:organizations/123456 para encontrar vinculaciones de políticas de permisos establecidas en “organizations/123456”.

      • resource=//cloudresourcemanager.googleapis.com/projects/myproject para encontrar vinculaciones de políticas de permisos que se configuran en el proyecto llamado “myproject”.

      • Important para encontrar vinculaciones de políticas de permisos que contengan la palabra “Importante” como palabra en cualquiera de los campos de búsqueda (excepto los permisos incluidos)

      • resource:(instance1 OR instance2) policy:amy para encontrar vinculaciones de políticas de permiso que se configuran en los recursos “instance1” o “instance2” y que también especifican el usuario “amy”.

      • roles:roles/compute.admin para encontrar vinculaciones de políticas de permisos que especifiquen la función de administrador de Compute

      • memberTypes:user para encontrar vinculaciones de políticas de permiso que contengan el tipo principal “usuario”.

    • SCOPE: Un permiso puede ser un proyecto, una carpeta o una organización. La búsqueda se limita a las políticas de permisos de IAM en este alcance. El llamador debe tener una función que contenga el permiso cloudasset.assets.searchAllIamPolicies en el alcance seleccionado. Si no se especifica, se usa la propiedad del proyecto configurada.

      Los valores permitidos son los siguientes:

      • projects/PROJECT_ID

      • projects/PROJECT_NUMBER

        Cómo encontrar un número de proyecto de Google Cloud

        Console

        Para encontrar un número de proyecto de Google Cloud, completa los siguientes pasos:

        1. Ve a la página Panel en la consola de Google Cloud.

          Ir al panel

        2. Haz clic en el cuadro de cambio en la barra de menú.
        3. Elige tu organización en el cuadro Seleccionar desde y, luego, busca el nombre del proyecto.
        4. Haz clic en el nombre del proyecto para cambiar a ese proyecto. El número del proyecto se muestra en la tarjeta Información del proyecto.

        gcloud CLI

        Puedes recuperar el número de proyecto de Google Cloud con el siguiente comando:

        gcloud projects describe PROJECT_ID --format="value(projectNumber)"

      • folders/FOLDER_ID

        Cómo encontrar un ID de carpeta de Google Cloud

        Console

        Para encontrar un ID de carpeta de Google Cloud, completa los siguientes pasos:

        1. Ve a la consola de Google Cloud.

          Ir a la consola de Google Cloud

        2. Haz clic en el cuadro de cambio en la barra de menú.
        3. Haz clic en el cuadro Seleccionar de y, luego, selecciona tu organización.
        4. Busca el nombre de tu carpeta. El ID de la carpeta se muestra junto al nombre de la carpeta.

        gcloud CLI

        Puedes recuperar un ID de carpeta de Google Cloud que se encuentra a nivel de la organización con el siguiente comando:

        gcloud resource-manager folders list \
            --organization=$(gcloud organizations describe ORGANIZATION_NAME \
              --format="value(name.segment(1))") \
            --filter='"DISPLAY_NAME":"TOP_LEVEL_FOLDER_NAME"' \
            --format="value(ID)"

        En el ejemplo anterior, TOP_LEVEL_FOLDER_NAME puede ser una coincidencia de cadenas completa o parcial. Quita la opción --format para ver más información sobre las carpetas encontradas.

        Para obtener el ID de una carpeta dentro de otra, enumera las subcarpetas:

        gcloud resource-manager folders list --folder=FOLDER_ID

      • organizations/ORGANIZATION_ID

        Cómo encontrar un ID de organización de Google Cloud

        Console

        Para encontrar un ID de organización de Google Cloud, completa los siguientes pasos:

        1. Ve a la consola de Google Cloud.

          Ir a la consola de Google Cloud

        2. Haz clic en el cuadro de cambio en la barra de menú.
        3. Haz clic en el cuadro Seleccionar de y, luego, selecciona tu organización.
        4. Haz clic en la pestaña Todos. El ID de la organización se muestra junto al nombre de la organización.

        gcloud CLI

        Puedes recuperar un ID de organización de Google Cloud con el siguiente comando:

        gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"

Referencia de la API y biblioteca cliente

Construye una consulta

Para obtener más información sobre el lenguaje de consulta, revisa Sintaxis de consulta.

Consulta Busca muestras de políticas de permisos de IAM a fin de obtener más información sobre las consultas de muestra para varios casos de uso reales.

Consultar las políticas de permisos de IAM mediante la vinculación de información

Para buscar políticas de permisos de IAM, hay una expresión de consulta en el siguiente formato:

policy:QUERY
policy

También puedes buscar tipos o funciones principales de forma exclusiva con los siguientes formatos:

  • Concordancia exacta:

    • memberTypes=QUERY

    • roles=QUERY

  • Coincidencia parcial:

    • memberTypes:QUERY

    • roles:QUERY

Principal

Las vinculaciones de políticas de permisos de IAM admiten cinco tipos de principales:

  1. Cuentas de Google, como user:user@gmail.com

  2. Grupos de Google, como group:devs@googlegroups.com

  3. Dominios de Cloud Identity y G Suite, como domain:google.com

  4. Cuentas de servicio, como serviceAccount:my-other-app@appspot.gserviceaccount.com

  5. Identificadores especiales, como allUsers y allAuthenticatedUsers

Puedes limitar tu consulta para permitir políticas relacionadas con un usuario específico mediante la siguiente sintaxis:

policy:"user:amy@mycompany.com"

Ten en cuenta que user:amy@mycompany.com debe estar entre comillas dobles, ya que contiene el carácter especial :. Puedes omitir el prefijo user: o group: en una cadena de consulta, si el valor de la consulta es lo suficientemente único o si deseas buscar la dirección de correo electrónico sin importar el tipo de principal. Por ejemplo, es probable que la siguiente consulta solo coincida con un usuario:

policy:amy@mycompany.com

También puedes limitar tu consulta a las políticas relacionadas con un tipo principal específico mediante la siguiente sintaxis:

policy:user
memberTypes:user
memberTypes=user

Es posible que policy:user coincida con un tipo de principal diferente. Por ejemplo: group:test-user@mycompany.com. Usa memberTypes para limitar la búsqueda a tipos principales específicos.

Ejemplos: Consulta por principal
  • Busca todas las vinculaciones de políticas de permisos de IAM que especifican el usuario Amy:

    policy:amy
    
  • Busca todas las vinculaciones de políticas de permisos de IAM que especifican el dominio mydomain.com:

    policy:mydomain.com
    
  • Busca todas las vinculaciones de políticas de permisos de IAM que especifican el usuario Amy y John:

    policy:(amy john)
    
  • Busca todas las vinculaciones de políticas de permisos de IAM que especifican el usuario Amy o John:

    policy:(amy OR john)
    
  • Busca todas las vinculaciones de políticas de permisos de IAM que contengan amy@mycompany.com en tu organización:

    policy:amy@mycompany.com
    
  • Busca todas las vinculaciones de políticas de permisos de IAM en tu organización que contengan el dominio mycompany.com:

    policy:"domain:mycompany.com"
    
  • Busca todas las vinculaciones de políticas de permisos de IAM que asignan funciones a la cuenta de servicio mycompany.gserviceaccount.com:

    policy:"serviceAccount:mycompany.gserviceaccount.com"
    
  • Busca todas las vinculaciones de políticas de permisos de IAM que asignan funciones al grupo admins:

    policy:"group:admins"
    
  • Busca todas las vinculaciones de políticas de permisos de IAM que asignan roles a todos los usuarios:

    memberTypes:allUsers
    
  • Busca todas las vinculaciones de políticas de permisos de IAM que asignan funciones a todos los usuarios autenticados:

    memberTypes:allAuthenticatedUsers
    
  • Busca todas las vinculaciones de políticas de permisos de IAM que asignan funciones a amy@mycompany.com o al dominio mycompany.com:

    policy:(amy@mycompany.com OR "domain:mycompany.com")
    

Rol

Las vinculaciones de políticas de permisos de IAM admiten diferentes tipos de roles. Todos los nombres de los roles de IAM comienzan con el prefijo roles/.

  1. Funciones básicas: Existen tres funciones que existían antes de la introducción de IAM: propietario (roles/owner), editor (roles/editor) y visualizador (roles/viewer).

  2. Funciones predefinidas: IAM proporciona funciones predefinidas adicionales que brindan acceso detallado a diferentes recursos. Consulta todas las funciones predefinidas.

  3. Funciones personalizadas: Funciones de IAM definidas por el usuario que contienen una lista seleccionada de permisos.

Puedes limitar tu consulta para permitir políticas relacionadas con una función específica mediante la siguiente sintaxis:

policy:roles/role-name
roles:roles/role-name
roles=roles/role-name

Ten en cuenta que puedes omitir el prefijo roles/ en una string de consulta si el valor de la consulta es lo suficientemente único. Por ejemplo, es probable que la siguiente consulta solo coincida con la función roles/cloudasset.owner:

policy:cloudasset.owner
roles:cloudasset.owner

Es posible que policy:cloudasset.owner coincida con una función diferente. Por ejemplo, cuando se otorga un rol a la principal user:cloudasset.owner@mycompany.com. Usa roles para limitar la búsqueda a las funciones.

Ejemplos: Consulta por función
  • Encuentra todas las vinculaciones de políticas de permisos de IAM que especifican el rol owner.

    policy:roles/owner
    roles:roles/owner
    roles=roles/owner
    
  • Busca todas las vinculaciones de políticas de permisos de IAM que asignan a amy@mycompany.com la función de propietario:

    policy:(roles/owner amy@mycompany.com)
    
  • Busca todas las vinculaciones de políticas de permisos de IAM que asignan la función compute.admin a las principales cuya dirección de correo electrónico contiene la palabra john:

    policy:(roles/compute.admin john)
    
  • Encuentra todas las vinculaciones de políticas de permisos de IAM que otorgan la función viewer a los usuarios que tienen “swe” o “sde” como prefijo.

    policy:(roles/viewer (swe* OR sde*))
    

Condiciones de IAM

Las vinculaciones de políticas de permisos de IAM pueden contener un objeto condition, que te permite definir y aplicar el control de acceso condicional basado en atributos para los recursos de Google Cloud. Consulta la Descripción general de las condiciones de IAM para obtener más información.

Puedes limitar tu consulta para permitir políticas relacionadas con una condición específica mediante la siguiente sintaxis:

policy:condition_information
Ejemplos: Consulta por condición
  • Busca todas las vinculaciones de políticas de permisos de IAM que especifiquen una condición cuyo título o descripción contenga la palabra “myCondition”:

    policy:myCondition
    
  • Encuentra todas las vinculaciones de políticas de permisos de IAM que especifican una condición cuya expresión contiene el atributo “request.time”:

    policy:"request.time"
    

Consultar las políticas de permisos de IAM según los permisos incluidos

Los roles de una política de permisos pueden incluir una lista de permisos. Consulta la referencia de permisos de IAM para obtener más detalles. Puedes limitar tu consulta para permitir políticas que contengan un permiso específico. Una expresión de consulta tiene los siguientes formatos:

  • Concordancia exacta: policy.role.permissions=QUERY
  • Coincidencia parcial: policy.role.permissions:QUERY
Ejemplos: Consulta por permisos
  • Busca todas las vinculaciones de políticas de permisos de IAM que contengan el permiso compute.instances.create:

    policy.role.permissions:compute.instances.create
    policy.role.permissions=compute.instances.create
    
  • Busca todas las vinculaciones de políticas de permisos de IAM que contengan los permisos relacionados con compute.instances:

    policy.role.permissions:compute.instances
    
  • Busca todas las vinculaciones de políticas de permisos de IAM que contengan permisos cloudasset.assets.export... (por ejemplo, cloudasset.assets.exportAssets y cloudasset.assets.exportIamPolicyAnalysis):

    policy.role.permissions:cloudasset.assets.export*
    
  • Busca todas las vinculaciones de políticas de permisos de IAM que otorgan a alguien permisos para cambiar las políticas de permisos de IAM:

    policy.role.permissions:setIamPolicy
    
  • Busca todas las vinculaciones de políticas de permisos de IAM con una función que contenga los permisos compute.instances.create y compute.disks.create:

    policy.role.permissions:(compute.instances.create compute.disks.create)
    
  • Busca todas las vinculaciones de políticas de permisos de IAM que contengan el permiso compute.instances.create y especifica el usuario amy:

    policy.role.permissions:compute.instances.create policy:amy
    policy.role.permissions=compute.instances.create policy:amy
    

Consultar las políticas de permisos de IAM por recurso asociado

Cuando realizas una búsqueda, puedes especificar un nombre completo de recurso para buscar solo las políticas de permisos que se establecen directamente en el recurso. También puedes especificar un proyecto, una carpeta o una organización para buscar solo las políticas de permisos que se configuran en los recursos ubicados en el proyecto, la carpeta o la organización determinados. Una expresión de consulta tiene los siguientes formatos:

  • Concordancia exacta:

    • resource=QUERY

    • project=QUERY

    • folders=QUERY

    • organization=QUERY

  • Coincidencia parcial:

    • resource:QUERY

    • project:QUERY

    • folders:QUERY

    • organization:QUERY

Ejemplos: Consulta por recurso asociado

  • Busca todas las vinculaciones de políticas de permisos de IAM que se configuran directamente en un recurso cuyo nombre completo de recurso sea exactamente igual a //cloudresourcemanager.googleapis.com/projects/myproject:

    resource=//cloudresourcemanager.googleapis.com/projects/myproject
    
  • Busca todas las vinculaciones de políticas de permisos de IAM que se configuran directamente en los recursos cuyo nombre de recurso completo contiene la palabra myproject:

    resource:myproject
    
  • Busca todas las vinculaciones de políticas de permisos de IAM que se configuran directamente en los recursos cuyo nombre completo de recurso contiene una palabra con el prefijo myproj:

    resource:myproj*
    
  • Busca todas las vinculaciones de políticas de permisos de IAM que se configuran directamente en los recursos de un tipo de servicio determinado:

    resource:cloudresourcemanager
    
  • Busca todas las vinculaciones de políticas de permisos de IAM configuradas en myproject o myfolder:

    resource:(myproject OR myfolder)
    
  • Busca todas las vinculaciones de políticas de permisos de IAM que se configuran en los recursos cloudresourcemanager y asigna la función de propietario a los usuarios de gmail.com:

    resource:cloudresourcemanager policy:(roles/owner gmail.com)
    
  • Busca todas las vinculaciones de políticas de permisos de IAM que se configuran en los recursos cuyo project tiene el número 123:

    project:123
    
  • Busca todas las vinculaciones de políticas de permisos de IAM que se configuran en recursos contenidos en folder con el número 123:

    folders:123
    
  • Busca todas las vinculaciones de políticas de permisos de IAM que se configuran en los recursos cuyo organization tiene el número 123:

    organization:123
    

Consultar las políticas de permisos de IAM por texto libre

También puedes usar una consulta de texto libre sin especificar un campo. La respuesta muestra políticas de permiso, siempre y cuando haya un campo de búsqueda (por ejemplo, campos de vinculación de política o campos de recursos) que coincida con la consulta.

Ejemplos: Consulta por texto libre

  • Busca todas las vinculaciones de políticas de permisos de IAM en tu scope cuyos campos de metadatos (por ejemplo, vinculaciones de políticas de permisos o campos de recursos) contengan Important como una palabra:

    Important
    
  • Busca todas las vinculaciones de políticas de permisos de IAM en tu scope cuyos campos de metadatos (por ejemplo, vinculaciones de políticas o campos de recursos) contengan import como prefijo de cualquier palabra:

    import*