Consultar recursos con SQL

Puede consultar los recursos de su proyecto, carpeta u organización mediante un dialecto compatible con SQL de BigQuery.

Antes de empezar

  1. Habilita la API Cloud Asset Inventory en el proyecto desde el que ejecutas los comandos de Cloud Asset Inventory.

    Habilitar la API Cloud Asset Inventory

  2. Asegúrate de que tu cuenta tiene el rol correcto para llamar a la API Cloud Asset Inventory. Para ver los permisos individuales de cada tipo de llamada, consulta la sección Permisos.

Limitaciones

Tablas que puedes consultar

Puedes consultar las siguientes tablas:

  • En el caso de los tipos de contenido RESOURCE, los nombres de las tablas del conjunto de datos se corresponden con el nombre del tipo de recurso, siempre que este exista. Por ejemplo, la tabla compute_googleapis_com_Instance contiene metadatos de instancias de Compute Engine.

  • En el caso de los tipos de contenido que no son RESOURCE, los nombres de las tablas del conjunto de datos se corresponden con los nombres de los tipos de contenido de RPC/REST. Por ejemplo, ACCESS_POLICY.

  • Para consultar los metadatos estándar de los recursos de todos los tipos de recursos, usa el nombre de la tabla STANDARD_METADATA. Esto incluye todos los campos, excepto resource.DATA, que es específico de cada tipo de recurso.

Consultar metadatos de recursos

Consola

Para consultar los metadatos de los recursos de tu proyecto, carpeta u organización, sigue estos pasos:

  1. En la Google Cloud consola, ve a la pestaña Consulta de recursos de la página Inventario de recursos.

    Ir a Consulta de recursos

    Si no aparece la pestaña Consulta de recursos, debes tener acceso al nivel Premium o Enterprise de Security Command Center o a Gemini Cloud Assist.

  2. Cambia al proyecto, la carpeta o la organización que quieras consultar.
  3. Haz clic en la pestaña Consulta de recursos.
  4. Para consultar los metadatos de un recurso, puedes usar una consulta de ejemplo o crear la tuya propia:

    • Para usar una muestra, haz clic en una entrada de la pestaña Biblioteca de consultas para previsualizar la consulta. Haz clic en Aplicar para copiar esa muestra en el cuadro Editar consulta. A continuación, edita la consulta o haz clic en Ejecutar para llevarla a cabo.
    • Para crear tu propia consulta, introduce el texto directamente en el cuadro Editar consulta y, a continuación, haz clic en Ejecutar. Para ayudarte a escribir tu propia consulta, puedes hacer clic en una tabla del panel Seleccionar tabla para ver una vista previa de su esquema y contenido. Consulta la sección sobre sintaxis de las consultas para saber cómo redactar una consulta.

    Los metadatos del recurso que coinciden con la consulta se muestran en la pestaña Resultado de la consulta.

  5. Opcional: Para descargar los conjuntos de resultados de la consulta en formato CSV, haz clic en Exportar.

    El tamaño máximo del archivo CSV es de 2 MB. Si la descarga falla porque el tamaño del archivo supera este límite, aparecerá un mensaje con instrucciones para exportar todos los resultados.

gcloud

gcloud asset query \
    --SCOPE \
    --statement="SQL_SELECT_QUERY" \
    --timeout="TIMEOUTs"

Proporciona los siguientes valores:

  • SCOPE: usa uno de los siguientes valores:

    • project=PROJECT_ID, donde PROJECT_ID es el ID del proyecto que tiene los recursos que quieres consultar.
    • folder=FOLDER_ID, donde FOLDER_ID es el ID de la carpeta que contiene los recursos que quieres consultar.

      Cómo encontrar el ID de una Google Cloud carpeta

      Google Cloud console

      Para encontrar el ID de una carpeta de Google Cloud , sigue estos pasos:

      1. Ve a la Google Cloud consola.

        Ve a la Google Cloud consola

      2. En la barra de menús, haz clic en el cuadro de lista del selector.
      3. Selecciona tu organización en el cuadro de lista.
      4. Busca el nombre de la carpeta. El ID de la carpeta se muestra junto al nombre de la carpeta.

      CLI de gcloud

      Puedes obtener el ID de una Google Cloud carpeta que se encuentre a nivel de 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)"

      Donde TOP_LEVEL_FOLDER_NAME es una coincidencia parcial o completa de la cadena del nombre de la carpeta. Quita la marca --format para ver más información sobre las carpetas encontradas.

      El comando anterior no devuelve los IDs de las subcarpetas de las carpetas. Para ello, ejecuta el siguiente comando con el ID de una carpeta de nivel superior:

      gcloud resource-manager folders list --folder=FOLDER_ID
    • organization=ORGANIZATION_ID, donde ORGANIZATION_ID es el ID de la organización que tiene los recursos que quieres consultar.