Mostrar recursos

En esta página, se muestra cómo usar el servicio de lista de activos de Cloud Asset Inventory. Puedes usar la API de Cloud Asset Inventory para ver una lista paginada de los elementos en una marca de tiempo determinada.

Antes de comenzar

  1. Habilita la API de Cloud Asset antes de poder usar Google Cloud CLI para acceder a Cloud Asset Inventory. Ten en cuenta que la API solo debe estar habilitada en el proyecto en el que ejecutas los comandos de la API de Cloud Asset.

    Habilitar la API de Cloud Asset Inventory

  2. Instala Google Cloud CLI en tu cliente local.

  3. Asegúrate de que tu cuenta tenga uno de los siguientes roles en tu organización o proyecto, de los cuales obtendrás una lista de elementos.

    • roles/cloudasset.viewer

    • roles/cloudasset.owner

Configura una cuenta

Para llamar a la API de Cloud Asset, tu cuenta debe tener el permiso correspondiente en el recurso raíz (superior), que es una organización o un proyecto que contiene los recursos que deseas enumerar. A continuación, se muestra el permiso necesario para cada ContentType en la solicitud:

Tipo de contenido Permiso
nombre de gcloud Nombre de REST
access-policy ACCESS_POLICY cloudasset.assets.listAccessPolicy
content-type-unspecified CONTENT_TYPE_UNSPECIFIED cloudasset.assets.listResource
iam-policy IAM_POLICY cloudasset.assets.listIamPolicy
org-policy ORG_POLICY cloudasset.assets.listOrgPolicy
os-inventory OS_INVENTORY cloudasset.assets.listOSInventories
relationship RELATIONSHIP cloudasset.assets.listResource
resource RESOURCE cloudasset.assets.listResource

Si a tu cuenta se le otorgó la función de visualizador de recursos de Cloud (roles/cloudasset.viewer), la función de propietario de Cloud Asset (roles/cloudasset.owner) o el rol básico de propietario (roles/owner) en recurso raíz, ya cuenta con los permisos necesarios para llamar a la API de Cloud Asset. De lo contrario, sigue los pasos que se indican en la página Cómo configurar permisos.

Enumerar recursos

Para enumerar los elementos y sus relaciones en un proyecto, una carpeta o una organización en un momento determinado con la API de Cloud Asset, realiza una de las siguientes solicitudes.

Enumerar los elementos de un proyecto, una carpeta o una organización, incluidos todos los metadatos de los recursos

gcloud

Proyectos

gcloud asset list \
    --project=PROJECT_ID \
    --asset-types=ASSET_TYPE_1,ASSET_TYPE_2,... \
    --content-type=resource \
    --snapshot-time="SNAPSHOT_TIME"

Ingresa los siguientes valores:

  • PROJECT_ID: El ID del proyecto cuyos recursos deseas enumerar.

  • ASSET_TYPE: Opcional Una lista separada por comas de los tipos de elementos que se pueden buscar. Se admiten las expresiones regulares compatibles con RE2. Si la expresión regular no coincide con ningún tipo de elemento compatible, se mostrará un error INVALID_ARGUMENT.

  • SNAPSHOT_TIME: Opcional El momento en el que quieres tomar una instantánea de tus elementos. El valor debe ser la hora actual o una hora de no más de 35 días de antigüedad. Cuando no se proporciona, se toma una instantánea en la hora actual. Para obtener información sobre los formatos de hora, consulta gcloud topic datetimes.

Quita la marca --content-type para excluir los metadatos de recursos.

Carpetas

Enumera los recursos de una carpeta, incluidos todos los metadatos del recurso:

gcloud asset list \
    --folder=FOLDER_ID \
    --asset-types=ASSET_TYPE_1,ASSET_TYPE_2,... \
    --content-type=resource \
    --snapshot-time="SNAPSHOT_TIME"

Ingresa los siguientes valores:

  • FOLDER_ID: El ID de la carpeta cuyos recursos deseas enumerar.

    Cómo encontrar un ID de carpeta de Google Cloud

    Consola

    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 una opción y, luego, selecciona tu organización.
    4. Busca el nombre de la 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 completa o parcial de strings. 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

  • ASSET_TYPE: Opcional Una lista separada por comas de 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.

  • SNAPSHOT_TIME: Opcional El momento en el que quieres tomar una instantánea de tus elementos. El valor debe ser la hora actual o una hora de no más de 35 días de antigüedad. Cuando no se proporciona, se toma una instantánea en la hora actual. Para obtener información sobre los formatos de hora, consulta gcloud topic datetimes.

Quita la marca --content-type para excluir los metadatos de recursos.

Organizaciones

Enumera los recursos de una organización, incluidos todos los metadatos del recurso:

gcloud asset list \
    --organization=ORGANIZATION_ID \
    --asset-types=ASSET_TYPE_1,ASSET_TYPE_2,... \
    --content-type=resource \
    --snapshot-time="SNAPSHOT_TIME"

Ingresa los siguientes valores:

  • ORGANIZATION_ID: Es el ID de la organización cuyos recursos deseas enumerar.

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

    Consola

    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 una opción y, luego, selecciona tu organización.
    4. Haga 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 el ID de una organización de Google Cloud con el siguiente comando:

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

  • ASSET_TYPE: Opcional Una lista separada por comas de 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.

  • SNAPSHOT_TIME: Opcional El momento en el que quieres tomar una instantánea de tus elementos. El valor debe ser la hora actual o una hora de no más de 35 días de antigüedad. Cuando no se proporciona, se toma una instantánea en la hora actual. Para obtener información sobre los formatos de hora, consulta gcloud topic datetimes.

Quita la marca --content-type para excluir los metadatos de recursos.

REST

curl -X POST \
     -H "X-HTTP-Method-Override: GET" \
     -H "Authorization: Bearer $(gcloud auth print-access-token)" \
     -H "Content-Type: application/json" \
     -d '{
          "contentType": "RESOURCE",
          "assetTypes": [
            "ASSET_TYPE_1",
            "ASSET_TYPE_2",
            "..."
          ],
          "readTime": "SNAPSHOT_TIME",
          "pageToken": "PAGE_TOKEN"
         }' \
     https://cloudasset.googleapis.com/v1/SCOPE/assets

Ingresa los siguientes valores:

  • ASSET_TYPE: Opcional Corresponde a un array de tipos de recursos 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.

  • SNAPSHOT_TIME: Opcional La hora a la que quieres tomar una instantánea de tus elementos, en formato RFC 3339. El valor debe ser la hora actual o una hora de no más de 35 días en el pasado. Si no se proporciona, se toma una instantánea en el momento actual.

  • PAGE_TOKEN: Opcional Las respuestas a solicitudes largas se separan en varias páginas. Este par clave-valor no es necesario para la primera página. Sin embargo, se puede llamar a las páginas posteriores con nextPageToken de la respuesta anterior aquí.

  • SCOPE: El alcance puede ser un proyecto, una carpeta o una organización.

    Los valores permitidos son los siguientes:

    • projects/PROJECT_ID

    • projects/PROJECT_NUMBER

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

      Consola

      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 una opción y, luego, busca el nombre del proyecto.
      4. Haz clic en el nombre del proyecto para cambiarlo. El número de 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

      Consola

      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 una opción y, luego, selecciona tu organización.
      4. Busca el nombre de la 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 completa o parcial de strings. 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

      Consola

      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 una opción y, luego, selecciona tu organización.
      4. Haga 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 el ID de una organización de Google Cloud con el siguiente comando:

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

Quita el par clave-valor contentType para excluir los metadatos del recurso.

Enumerar relaciones específicas de un proyecto, una carpeta o una organización

gcloud

Proyectos

gcloud asset list \
    --project=PROJECT_ID \
    --content-type=relationship \
    --relationship-types=INSTANCE_TO_INSTANCEGROUP \
    --snapshot-time="SNAPSHOT_TIME"

Ingresa los siguientes valores:

  • PROJECT_ID: El ID del proyecto cuyos recursos deseas enumerar.

  • SNAPSHOT_TIME: Opcional El momento en el que quieres tomar una instantánea de tus elementos. El valor debe ser la hora actual o una hora de no más de 35 días de antigüedad. Cuando no se proporciona, se toma una instantánea en la hora actual. Para obtener información sobre los formatos de hora, consulta gcloud topic datetimes.

Quita la marca --relationship-types para enumerar todas las relaciones en un proyecto.

Carpetas

gcloud asset list \
    --folder=FOLDER_ID \
    --content-type=relationship \
    --relationship-types=INSTANCE_TO_INSTANCEGROUP \
    --snapshot-time="SNAPSHOT_TIME"

Ingresa los siguientes valores:

  • FOLDER_ID: El ID de la carpeta cuyos recursos deseas enumerar.

    Cómo encontrar un ID de carpeta de Google Cloud

    Consola

    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 una opción y, luego, selecciona tu organización.
    4. Busca el nombre de la 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 completa o parcial de strings. 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

  • SNAPSHOT_TIME: Opcional El momento en el que quieres tomar una instantánea de tus elementos. El valor debe ser la hora actual o una hora de no más de 35 días de antigüedad. Cuando no se proporciona, se toma una instantánea en la hora actual. Para obtener información sobre los formatos de hora, consulta gcloud topic datetimes.

Quita la marca --relationship-types para enumerar todas las relaciones en una carpeta.

Organizaciones

gcloud asset list \
    --organization=ORGANIZATION_ID \
    --content-type=relationship \
    --relationship-types=INSTANCE_TO_INSTANCEGROUP \
    --snapshot-time="SNAPSHOT_TIME"

Ingresa los siguientes valores:

  • ORGANIZATION_ID: Es el ID de la organización cuyos recursos deseas enumerar.

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

    Consola

    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 una opción y, luego, selecciona tu organización.
    4. Haga 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 el ID de una organización de Google Cloud con el siguiente comando:

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

  • SNAPSHOT_TIME: Opcional El momento en el que quieres tomar una instantánea de tus elementos. El valor debe ser la hora actual o una hora de no más de 35 días de antigüedad. Cuando no se proporciona, se toma una instantánea en la hora actual. Para obtener información sobre los formatos de hora, consulta gcloud topic datetimes.

Quita la marca --relationship-types para enumerar todas las relaciones en una organización.

REST

curl -X POST \
     -H "X-HTTP-Method-Override: GET" \
     -H "Authorization: Bearer $(gcloud auth print-access-token)" \
     -H "Content-Type: application/json" \
     -d '{
          "contentType": "RELATIONSHIP",
          "relationshipTypes": "INSTANCE_TO_INSTANCEGROUP",
          "readTime": "SNAPSHOT_TIME",
          "pageToken": "PAGE_TOKEN"
         }' \
     https://cloudasset.googleapis.com/v1/SCOPE/assets

Ingresa los siguientes valores:

  • SNAPSHOT_TIME: Opcional La hora a la que quieres tomar una instantánea de tus elementos, en formato RFC 3339. El valor debe ser la hora actual o una hora de no más de 35 días en el pasado. Si no se proporciona, se toma una instantánea en el momento actual.

  • PAGE_TOKEN: Opcional Las respuestas a solicitudes largas se separan en varias páginas. Este par clave-valor no es necesario para la primera página. Sin embargo, se puede llamar a las páginas posteriores con nextPageToken de la respuesta anterior aquí.

  • SCOPE: El alcance puede ser un proyecto, una carpeta o una organización.

    Los valores permitidos son los siguientes:

    • projects/PROJECT_ID

    • projects/PROJECT_NUMBER

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

      Consola

      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 una opción y, luego, busca el nombre del proyecto.
      4. Haz clic en el nombre del proyecto para cambiarlo. El número de 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

      Consola

      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 una opción y, luego, selecciona tu organización.
      4. Busca el nombre de la 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 completa o parcial de strings. 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

      Consola

      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 una opción y, luego, selecciona tu organización.
      4. Haga 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 el ID de una organización de Google Cloud con el siguiente comando:

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

Quita el par clave-valor relationshipTypes para enumerar todas las relaciones en un proyecto.