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
Habilita la API de Cloud Asset antes de usar Google Cloud CLI para acceder Cloud Asset Inventory. Ten en cuenta que solo es necesario habilitar la API en el proyecto en el que ejecutas los comandos de la API de Cloud Asset.
Instala Google Cloud CLI en tu cliente local.
Asegúrate de que tu cuenta tenga uno de los siguientes roles en tu proyecto o de la organización en la que vas a hacer una lista de los recursos.
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 incluyen los permisos necesarios 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 la función básica 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 de la página Configura permisos.
Enumerar recursos
Para enumerar los recursos y sus relaciones en un proyecto, una carpeta o una organización en en un momento determinado con la API de Cloud Asset, realiza una de las siguientes solicitudes.
Enumerar los recursos de un proyecto, una carpeta o una organización, incluidos todos los metadatos de 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
: Es el ID del proyecto en el los recursos que quieres enumerar.ASSET_TYPE
: Opcional Una lista separada por comas de tipos de recursos que se pueden buscar. Las expresiones regulares compatibles con RE2 son las siguientes: no es compatible. Si la expresión regular no coincide con ninguna tipo de recurso, se muestra un errorINVALID_ARGUMENT
.SNAPSHOT_TIME
: Opcional La hora a la que si quieres tomar una instantánea de tus recursos. El valor debe ser el hora actual o de no más de 35 días en el pasado. Cuando no se toma una instantánea en ese momento. Para obtener información sobre 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 cuyo los recursos que quieres enumerar.Cómo encontrar un ID de carpeta de Google Cloud
Console
Para encontrar un ID de carpeta de Google Cloud, completa los siguientes pasos:
-
Ve a la consola de Google Cloud.
- Haz clic en el cuadro del selector en la barra de menú.
- Haz clic en el cuadro Seleccionar una opción y, luego, selecciona tu organización.
- 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)"
Donde TOP_LEVEL_FOLDER_NAME puede ser una coincidencia de cadena completa o parcial. Quita el
--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 tipos de recursos que se pueden buscar. Las expresiones regulares son no es compatible. Si la expresión regular no coincide con ninguna tipo de recurso, se muestra un errorINVALID_ARGUMENT
.SNAPSHOT_TIME
: Opcional La hora a la que si quieres tomar una instantánea de tus recursos. El valor debe ser el hora actual o de no más de 35 días en el pasado. Si no se proporciona, se toma una instantánea a la hora actual. Para obtener información sobre 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
Console
Para encontrar un ID de organización de Google Cloud, completa los siguientes pasos:
-
Ve a la consola de Google Cloud.
- Haz clic en el cuadro de selector en la barra de menú.
- Haz clic en el cuadro Seleccionar una opción y, luego, selecciona tu organización.
- 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))"
-
ASSET_TYPE
: Opcional Una lista separada por comas de tipos de recursos que se pueden buscar. Las expresiones regulares son no es compatible. Si la expresión regular no coincide con ninguna tipo de recurso, se muestra un errorINVALID_ARGUMENT
.SNAPSHOT_TIME
: Opcional La hora a la que si quieres tomar una instantánea de tus recursos. El valor debe ser el hora actual o de no más de 35 días en el pasado. Cuando no se toma una instantánea en ese momento. 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 Un array de de recursos que se pueden buscar. Las expresiones regulares son no es compatible. Si la expresión regular no coincide con ningún recurso admitido , se muestra un errorINVALID_ARGUMENT
.SNAPSHOT_TIME
: Opcional La hora a la que si quieres tomar una instantánea de tus recursos en formato RFC 3339. El valor debe ser la hora actual o una hora no superior a 35 días en la en el pasado. Si no se proporciona, se toma una instantánea en el momento actual.PAGE_TOKEN
: Opcional Las respuestas a solicitudes largas son separadas 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 siguientes usando el parámetro esta esnextPageToken
.SCOPE
: Un permiso puede ser un proyecto, una carpeta o un 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
Console
Para encontrar un número de proyecto de Google Cloud, completa los siguientes pasos:
-
Ve a la página Panel en la consola de Google Cloud.
- Haz clic en el cuadro de selector en la barra de menú.
- Selecciona tu organización en el cuadro Seleccionar una opción y, luego, busca tu el nombre del proyecto.
- Haz clic en el nombre del proyecto para cambiar a ese proyecto. El número de proyecto se muestra Tarjeta Información del proyecto
gcloud CLI
Puedes recuperar un 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:
-
Ve a la consola de Google Cloud.
- Haz clic en el cuadro del selector en la barra de menú.
- Haz clic en el cuadro Seleccionar una opción y, luego, selecciona tu organización.
- 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)"
Donde TOP_LEVEL_FOLDER_NAME puede ser una coincidencia de cadena completa o parcial. Quita el
--format
para ver más información sobre las carpetas encontradas.Para obtener el ID de una carpeta dentro de otra carpeta, 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:
-
Ve a la consola de Google Cloud.
- Haz clic en el cuadro del selector en la barra de menú.
- Haz clic en el cuadro Seleccionar una opción y, luego, selecciona tu organización.
- 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))"
-
Quita el par clave-valor contentType
para excluir los metadatos de recursos.
Enumerar relaciones específicas en 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
: Es el ID del proyecto cuyos activos deseas enumerar.SNAPSHOT_TIME
: Opcional La hora a la que si quieres tomar una instantánea de tus recursos. El valor debe ser el hora actual o de no más de 35 días en el pasado. Cuando no se toma una instantánea en ese momento. Para obtener información sobre consulta gcloud topic datetimes.
Quita la marca --relationship-types
para ver todas las relaciones de una
en un proyecto final.
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 cuyo los recursos que quieres enumerar.Cómo encontrar un ID de carpeta de Google Cloud
Console
Para encontrar un ID de carpeta de Google Cloud, completa los siguientes pasos:
-
Ve a la consola de Google Cloud.
- Haz clic en el cuadro de selector en la barra de menú.
- Haz clic en el cuadro Seleccionar una opción y, luego, selecciona tu organización.
- 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)"
Donde TOP_LEVEL_FOLDER_NAME puede ser una coincidencia de cadena completa o parcial. Quita el
--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 La hora a la que si quieres tomar una instantánea de tus recursos. El valor debe ser la hora actual o una hora que no sea superior a 35 días. Cuando no se toma una instantánea en ese momento. Para obtener información sobre los formatos de hora, consulta gcloud topic datetimes.
Quita la marca --relationship-types
para ver todas las relaciones de 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
Console
Para encontrar un ID de organización de Google Cloud, completa los siguientes pasos:
-
Ve a la consola de Google Cloud.
- Haz clic en el cuadro de selector en la barra de menú.
- Haz clic en el cuadro Seleccionar una opción y, luego, selecciona tu organización.
- 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 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 La hora a la que si quieres tomar una instantánea de tus recursos. El valor debe ser el hora actual o de no más de 35 días en el pasado. Si no se proporciona, se toma una instantánea a la hora actual. Para obtener información sobre consulta gcloud topic datetimes.
Quita la marca --relationship-types
para ver todas las relaciones de 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 en la que quieres tomar una instantánea de tus activos, en formato RFC 3339. El valor debe ser la hora actual o una hora no superior a 35 días en la en el pasado. Si no se proporciona, se toma una instantánea en el momento actual.PAGE_TOKEN
: Opcional Las respuestas a solicitudes largas son separadas 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 siguientes usando el parámetro esta esnextPageToken
.SCOPE
: Un permiso puede ser un proyecto, una carpeta o un 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
Console
Para encontrar un número de proyecto de Google Cloud, completa los siguientes pasos:
-
Ve a la página Panel en la consola de Google Cloud.
- Haz clic en el cuadro de selector en la barra de menú.
- Selecciona tu organización en el cuadro Seleccionar una opción y, luego, busca tu el nombre del proyecto.
- Haz clic en el nombre del proyecto para cambiar a ese proyecto. El número de proyecto se muestra Tarjeta Información del proyecto
gcloud CLI
Puedes recuperar un 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:
-
Ve a la consola de Google Cloud.
- Haz clic en el cuadro de selector en la barra de menú.
- Haz clic en el cuadro Seleccionar una opción y, luego, selecciona tu organización.
- 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)"
Donde TOP_LEVEL_FOLDER_NAME puede ser una coincidencia de cadena completa o parcial. Quita el
--format
para ver más información sobre las carpetas encontradas.Para obtener el ID de una carpeta dentro de otra carpeta, 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:
-
Ve a la consola de Google Cloud.
- Haz clic en el cuadro de selector en la barra de menú.
- Haz clic en el cuadro Seleccionar una opción y, luego, selecciona tu organización.
- 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 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.