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 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.
Instala Google Cloud CLI en tu cliente local.
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 errorINVALID_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:
-
Ve a la consola de Google Cloud.
- Haz clic en el cuadro de cambio en la barra de menú.
- Haz clic en el cuadro Seleccionar una opción y, luego, selecciona tu organización.
- 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 errorINVALID_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:
-
Ve a la consola de Google Cloud.
- Haz clic en el cuadro de cambio en la barra de menú.
- Haz clic en el cuadro Seleccionar una opción y, luego, selecciona tu organización.
- 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 errorINVALID_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 errorINVALID_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 connextPageToken
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:
-
Ve a la página Panel en la consola de Google Cloud.
- Haz clic en el cuadro de cambio en la barra de menú.
- Elige tu organización en el cuadro Seleccionar una opción y, luego, busca el nombre del proyecto.
- 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:
-
Ve a la consola de Google Cloud.
- Haz clic en el cuadro de cambio en la barra de menú.
- Haz clic en el cuadro Seleccionar una opción y, luego, selecciona tu organización.
- 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:
-
Ve a la consola de Google Cloud.
- Haz clic en el cuadro de cambio en la barra de menú.
- Haz clic en el cuadro Seleccionar una opción y, luego, selecciona tu organización.
- 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:
-
Ve a la consola de Google Cloud.
- Haz clic en el cuadro de cambio en la barra de menú.
- Haz clic en el cuadro Seleccionar una opción y, luego, selecciona tu organización.
- 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:
-
Ve a la consola de Google Cloud.
- Haz clic en el cuadro de cambio en la barra de menú.
- Haz clic en el cuadro Seleccionar una opción y, luego, selecciona tu organización.
- 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 connextPageToken
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:
-
Ve a la página Panel en la consola de Google Cloud.
- Haz clic en el cuadro de cambio en la barra de menú.
- Elige tu organización en el cuadro Seleccionar una opción y, luego, busca el nombre del proyecto.
- 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:
-
Ve a la consola de Google Cloud.
- Haz clic en el cuadro de cambio en la barra de menú.
- Haz clic en el cuadro Seleccionar una opción y, luego, selecciona tu organización.
- 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:
-
Ve a la consola de Google Cloud.
- Haz clic en el cuadro de cambio en la barra de menú.
- Haz clic en el cuadro Seleccionar una opción y, luego, selecciona tu organización.
- 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.