Puedes buscar recursos en un proyecto, una carpeta o una organización, y filtrar los resultados devueltos mediante una consulta.
Antes de empezar
Habilita la API Cloud Asset Inventory en el proyecto desde el que ejecutas los comandos de Cloud Asset Inventory.
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.
Crear una consulta
Antes de crear una consulta, puede ser útil empezar con una solicitud de búsqueda que no especifique ninguna consulta. Usa los campos y los valores de la respuesta completa para crear una consulta con la sintaxis de consulta de búsqueda y perfeccionarla hasta que se devuelvan los resultados que quieras.
Los campos que se pueden usar en una consulta se detallan en la documentación de referencia de searchAllResources.
No se pueden buscar todos los recursos. Consulta los tipos de recursos para ver los nombres de los recursos y comprobar si están disponibles en las APIs de búsqueda.
Buscar tus recursos
Consola
Para buscar metadatos de recursos, siga estos pasos.
-
Ve a la página Inventario de recursos de la consola de Google Cloud .
- Cambia al proyecto, la carpeta o la organización que quieras buscar.
- Haz clic en la pestaña Recurso.
-
Para buscar recursos, introduce una consulta en el campo Filtrar. Consulta Sintaxis de las consultas de búsqueda para saber cómo escribir una consulta de búsqueda.
Para facilitar la creación de consultas, puedes hacer clic en el campo Filtro para mostrar y añadir los campos de búsqueda disponibles a tu consulta.
Después de realizar una búsqueda, los recursos que coincidan con la consulta se mostrarán en la tabla Resultados. Haga doble clic en la consulta para editarla o use el panel Filtrar resultados para restringir los resultados de búsqueda según criterios específicos.
Para ver la consulta como un comando de Google Cloud CLI, haz clic en Ver consulta.
Para exportar los resultados, haga clic en Descargar CSV.
gcloud
gcloud asset search-all-resources \ --scope=SCOPE_PATH \ --query="QUERY" \ --asset-types=ASSET_TYPE_1,ASSET_TYPE_2,... \ --order-by="ORDER_BY" \ --read-mask="READ_MASK"
Proporciona los siguientes valores:
-
SCOPE_PATH
: usa uno de los siguientes valores:Los valores permitidos son:
-
projects/PROJECT_ID
, dondePROJECT_ID
es el ID del proyecto que contiene los recursos que quieres buscar. -
projects/PROJECT_NUMBER
, dondePROJECT_NUMBER
es el número del proyecto que tiene los recursos que quieres buscar.Cómo encontrar el Google Cloud número de proyecto
Google Cloud consola
Para encontrar un número de proyecto de Google Cloud , sigue estos pasos:
-
Ve a la página Bienvenida de la Google Cloud consola.
- En la barra de menús, haz clic en el cuadro de lista del selector.
-
Selecciona tu organización en el cuadro de lista y, a continuación, busca el nombre de tu proyecto. El nombre, el número y el ID del proyecto se muestran cerca del encabezado Bienvenido.
Se muestran hasta 4000 recursos. Si no ves el proyecto que buscas, ve a la página Gestionar recursos y filtra la lista por el nombre de ese proyecto.
CLI de gcloud
Puedes obtener un Google Cloud número de proyecto con el siguiente comando:
gcloud projects describe PROJECT_ID --format="value(projectNumber)"
-
-
folders/FOLDER_ID
, dondeFOLDER_ID
es el ID de la carpeta que contiene los recursos que quieres buscar.Cómo encontrar el ID de una Google Cloud carpeta
Google Cloud consola
Para encontrar el ID de una carpeta de Google Cloud , sigue estos pasos:
-
Ve a la Google Cloud consola.
- En la barra de menús, haz clic en el cuadro de lista del selector.
- Selecciona tu organización en el cuadro de lista.
- 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
-
-
organizations/ORGANIZATION_ID
, dondeORGANIZATION_ID
es el ID de la organización que tiene los recursos que quieres buscar.Cómo encontrar el ID de una Google Cloud organización
Google Cloud consola
Para encontrar el ID de una organización de Google Cloud , sigue estos pasos:
-
Ve a la Google Cloud consola.
- En la barra de menús, haz clic en el cuadro de lista del selector.
- Selecciona tu organización en el cuadro de lista.
- Haz clic en la pestaña Todas. El ID de la organización se muestra junto al nombre de la organización.
CLI de gcloud
Puedes obtener el ID de una Google Cloud organización con el siguiente comando:
gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"
-
-
-
QUERY
: opcional. La expresión de consulta. Si no se especifica o está vacío, se buscarán todos los recursos en el ámbito especificado. Para saber cómo escribir una consulta de búsqueda, consulta Sintaxis de las consultas de búsqueda. ASSET_TYPE_#
: opcional. Lista separada por comas de tipos de recursos que se pueden buscar. Se admiten expresiones regulares compatibles con RE2. Si la expresión regular no coincide con ningún tipo de recurso admitido, se devuelve un errorINVALID_ARGUMENT
. Si no se especifica--asset-types
, se devuelven todos los tipos de recursos.-
ORDER_BY
: opcional. Lista de campos separados por comas que especifica el orden de clasificación de los resultados. El orden predeterminado es ascendente. AñadeDESC
después del nombre del campo para indicar el orden descendente. Consulta la documentación de referencia para saber qué campos se pueden ordenar. READ_MASK
: opcional. Lista de campos separados por comas que especifica qué campos se deben devolver en los resultados. Consulta los campos que se devuelven de forma predeterminada y otras condiciones que debes tener en cuenta al especificar una máscara de lectura.
Puedes usar las marcas --format
y --flatten
para dar formato al resultado de la CLI de gcloud.
Consulta la referencia de la CLI de gcloud para ver todas las opciones.
Ejemplo
Ejecuta el siguiente comando para obtener una lista de todas las instancias de Compute Engine del proyecto my-project
que tengan la palabra instance
seguida de un 1
en su nombre de recurso completo. Los resultados se muestran en orden descendente por nombre y, debido a la máscara de lectura, solo se devuelven los campos name
y location
.
gcloud asset search-all-resources \ --scope=projects/my-project \ --query="name:instance 1" \ --asset-types=compute.googleapis.com/Instance \ --order-by="name DESC" \ --read-mask="name,location"
Respuesta de ejemplo
--- location: us-central1-a name: //compute.googleapis.com/projects/my-project/zones/us-central1-a/instances/instance-2-1 --- location: us-central1-a name: //compute.googleapis.com/projects/my-project/zones/us-central1-a/instances/instance-1
REST
Método HTTP y URL:
POST https://cloudasset.googleapis.com/v1/SCOPE_PATH:searchAllResources
Cuerpo JSON de la solicitud:
{ "query": "QUERY", "assetTypes": [ "ASSET_TYPE_1", "ASSET_TYPE_2", "..." ], "orderBy": "ORDER_BY", "pageSize": "PAGE_SIZE", "pageToken": "PAGE_TOKEN", "readMask": "READ_MASK" }
Proporciona los siguientes valores:
-
SCOPE_PATH
: usa uno de los siguientes valores:Los valores permitidos son:
-
projects/PROJECT_ID
, dondePROJECT_ID
es el ID del proyecto que contiene los recursos que quieres buscar. -
projects/PROJECT_NUMBER
, dondePROJECT_NUMBER
es el número del proyecto que tiene los recursos que quieres buscar.Cómo encontrar el Google Cloud número de proyecto
Google Cloud consola
Para encontrar un número de proyecto de Google Cloud , sigue estos pasos:
-
Ve a la página Bienvenida de la Google Cloud consola.
- En la barra de menús, haz clic en el cuadro de lista del selector.
-
Selecciona tu organización en el cuadro de lista y, a continuación, busca el nombre de tu proyecto. El nombre, el número y el ID del proyecto se muestran cerca del encabezado Bienvenido.
Se muestran hasta 4000 recursos. Si no ves el proyecto que buscas, ve a la página Gestionar recursos y filtra la lista por el nombre de ese proyecto.
CLI de gcloud
Puedes obtener un Google Cloud número de proyecto con el siguiente comando:
gcloud projects describe PROJECT_ID --format="value(projectNumber)"
-
-
folders/FOLDER_ID
, dondeFOLDER_ID
es el ID de la carpeta que contiene los recursos que quieres buscar.Cómo encontrar el ID de una Google Cloud carpeta
Google Cloud consola
Para encontrar el ID de una carpeta de Google Cloud , sigue estos pasos:
-
Ve a la Google Cloud consola.
- En la barra de menús, haz clic en el cuadro de lista del selector.
- Selecciona tu organización en el cuadro de lista.
- 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
-
-
organizations/ORGANIZATION_ID
, dondeORGANIZATION_ID
es el ID de la organización que tiene los recursos que quieres buscar.Cómo encontrar el ID de una Google Cloud organización
Google Cloud consola
Para encontrar el ID de una organización de Google Cloud , sigue estos pasos:
-
Ve a la Google Cloud consola.
- En la barra de menús, haz clic en el cuadro de lista del selector.
- Selecciona tu organización en el cuadro de lista.
- Haz clic en la pestaña Todas. El ID de la organización se muestra junto al nombre de la organización.
CLI de gcloud
Puedes obtener el ID de una Google Cloud organización con el siguiente comando:
gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"
-
-
-
QUERY
: opcional. La expresión de consulta. Si no se especifica o está vacío, se buscarán todos los recursos en el ámbito especificado. Para saber cómo escribir una consulta de búsqueda, consulta Sintaxis de las consultas de búsqueda. ASSET_TYPE_#
: opcional. Una matriz de tipos de recursos que se pueden buscar. Se admiten expresiones regulares compatibles con RE2. Si la expresión regular no coincide con ningún tipo de recurso admitido, se devuelve un errorINVALID_ARGUMENT
. Si no se especificaassetTypes
, se devuelven todos los tipos de recursos.-
ORDER_BY
: opcional. Lista de campos separados por comas que especifica el orden de clasificación de los resultados. El orden predeterminado es ascendente. AñadeDESC
después del nombre del campo para indicar el orden descendente. Consulta la documentación de referencia para saber qué campos se pueden ordenar. -
PAGE_SIZE
: opcional. Número de resultados que se devolverán por página. El máximo es 500. Si el valor es0
o un valor negativo, se selecciona un valor predeterminado adecuado. Se devuelve unnextPageToken
para obtener los resultados posteriores. -
PAGE_TOKEN
: opcional. Las respuestas a solicitudes largas se separan en varias páginas. Si no se especificapageToken
, se devuelve la primera página. Se pueden llamar páginas posteriores usando elnextPageToken
de la respuesta anterior como valor depageToken
. READ_MASK
: opcional. Lista de campos separados por comas que especifica qué campos se deben devolver en los resultados. Consulta los campos que se devuelven de forma predeterminada y otras condiciones que debes tener en cuenta al especificar una máscara de lectura.
Consulta la referencia de REST para ver todas las opciones.
Ejemplos de comandos
Ejecuta uno de los siguientes comandos para obtener una lista de todas las instancias de Compute Engine del proyecto my-project
que contengan la palabra instance
seguida de un 1
en su nombre de recurso completo. Los resultados se muestran en orden
descendente por nombre y solo se devuelven los campos name
y location
.
curl (Linux, macOS o Cloud Shell)
curl -X POST \ -H "X-HTTP-Method-Override: GET" \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d '{ "query": "name:instance 1", "assetTypes": ["compute.googleapis.com/Instance"], "orderBy": "name DESC", "readMask": "name,location" }' \ https://cloudasset.googleapis.com/v1/projects/my-project:searchAllResources
PowerShell (Windows)
$cred = gcloud auth print-access-token $headers = @{ "X-HTTP-Method-Override" = "GET"; "Authorization" = "Bearer $cred" } $body = @" { "query": "name:instance 1", "assetTypes": ["compute.googleapis.com/Instance"], "orderBy": "name DESC", "readMask": "name,location" } "@ Invoke-WebRequest ` -Method POST ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -Body $body ` -Uri "https://cloudasset.googleapis.com/v1/projects/my-project:searchAllResources" | Select-Object -Expand Content
Respuesta de ejemplo
{ "results": [ { "name": "//compute.googleapis.com/projects/my-project/zones/us-central1-a/instances/instance-2-1", "location": "us-central1-a" }, { "name": "//compute.googleapis.com/projects/my-project/zones/us-central1-a/instances/instance-1", "location": "us-central1-a" } ] }
C#
Para saber cómo instalar y usar la biblioteca de cliente de Inventario de Recursos de Cloud, consulta Bibliotecas de cliente de Inventario de Recursos de Cloud.
Para autenticarte en Inventario de Recursos de Cloud, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
Go
Para saber cómo instalar y usar la biblioteca de cliente de Inventario de Recursos de Cloud, consulta Bibliotecas de cliente de Inventario de Recursos de Cloud.
Para autenticarte en Inventario de Recursos de Cloud, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
Java
Para saber cómo instalar y usar la biblioteca de cliente de Inventario de Recursos de Cloud, consulta Bibliotecas de cliente de Inventario de Recursos de Cloud.
Para autenticarte en Inventario de Recursos de Cloud, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
Node.js
Para saber cómo instalar y usar la biblioteca de cliente de Inventario de Recursos de Cloud, consulta Bibliotecas de cliente de Inventario de Recursos de Cloud.
Para autenticarte en Inventario de Recursos de Cloud, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
PHP
Para saber cómo instalar y usar la biblioteca de cliente de Inventario de Recursos de Cloud, consulta Bibliotecas de cliente de Inventario de Recursos de Cloud.
Para autenticarte en Inventario de Recursos de Cloud, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
Python
Para saber cómo instalar y usar la biblioteca de cliente de Inventario de Recursos de Cloud, consulta Bibliotecas de cliente de Inventario de Recursos de Cloud.
Para autenticarte en Inventario de Recursos de Cloud, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
Ruby
Para saber cómo instalar y usar la biblioteca de cliente de Inventario de Recursos de Cloud, consulta Bibliotecas de cliente de Inventario de Recursos de Cloud.
Para autenticarte en Inventario de Recursos de Cloud, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
Ejemplos de búsquedas adicionales
Los siguientes ejemplos de código muestran consultas de búsqueda específicas para gcloud y REST que te ayudarán a crear tus propias búsquedas.
Todos los recursos de un proyecto
En el siguiente ejemplo se muestra cómo buscar todos los recursos del proyecto my-project
.
gcloud
gcloud asset search-all-resources \ --scope=projects/my-project \ --format="table(assetType.basename(), name.basename(), name.scope(projects).segment(0):label=PROJECT_ID, labels)"
REST
Método HTTP y URL:
GET https://cloudasset.googleapis.com/v1/projects/my-project:searchAllResources
Ejemplos de comandos
curl (Linux, macOS o Cloud Shell)
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ https://cloudasset.googleapis.com/v1/projects/my-project:searchAllResources
PowerShell (Windows)
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://cloudasset.googleapis.com/v1/projects/my-project:searchAllResources" | Select-Object -Expand Content
Instancias de Compute Engine por descripción
En el siguiente ejemplo se muestra cómo buscar instancias de Compute Engine en el proyecto my-project
con el nombre exacto instance-prod
.
gcloud
gcloud asset search-all-resources \ --scope=projects/my-project \ --query="description=instance-prod" \ --asset-types=compute.googleapis.com/Instance \ --format="table(name, assetType, location)"
REST
Método HTTP y URL:
POST https://cloudasset.googleapis.com/v1/projects/my-project:searchAllResources
Cuerpo JSON de la solicitud:
{ "assetTypes": "compute.googleapis.com/Instance", "pageSize": 1, "query": "description=instance-prod", "readMask": "name,assetType,location" }
Ejemplos de comandos
curl (Linux, macOS o Cloud Shell)
curl -X POST \ -H "X-HTTP-Method-Override: GET" \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d '{ "assetTypes": "compute.googleapis.com/Instance", "pageSize": 1, "query": "description=instance-prod", "readMask": "name,assetType,location" }' \ https://cloudasset.googleapis.com/v1/projects/my-project:searchAllResources
PowerShell (Windows)
$cred = gcloud auth print-access-token $headers = @{ "X-HTTP-Method-Override" = "GET"; "Authorization" = "Bearer $cred" } $body = @" { "assetTypes": "compute.googleapis.com/Instance", "pageSize": 1, "query": "description=instance-prod", "readMask": "name,assetType,location" } "@ Invoke-WebRequest ` -Method POST ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -Body $body ` -Uri "https://cloudasset.googleapis.com/v1/projects/my-project:searchAllResources" | Select-Object -Expand Content
Para buscar instancias que tengan instance-prod
en su nombre (como instance-prod-1
y instance-prod-2
) en lugar de una coincidencia exacta, sustituye =instance-prod
por :instance-prod
.
Instancias de Compute Engine por etiqueta
En el siguiente ejemplo se muestra cómo buscar instancias de Compute Engine en el proyecto my-project
con una etiqueta llamada env
.
gcloud
gcloud asset search-all-resources \ --scope=projects/my-project \ --query="labels.env:*" \ --asset-types=compute.googleapis.com/Instance \ --format="table(name, assetType, labels)"
REST
Método HTTP y URL:
POST https://cloudasset.googleapis.com/v1/projects/my-project:searchAllResources
Cuerpo JSON de la solicitud:
{ "assetTypes": "compute.googleapis.com/Instance", "pageSize": 1, "query": "labels.env:*", "readMask": "name,assetType,labels" }
Ejemplos de comandos
curl (Linux, macOS o Cloud Shell)
curl -X POST \ -H "X-HTTP-Method-Override: GET" \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d '{ "assetTypes": "compute.googleapis.com/Instance", "pageSize": 1, "query": "labels.env:*", "readMask": "name,assetType,labels" }' \ https://cloudasset.googleapis.com/v1/projects/my-project:searchAllResources
PowerShell (Windows)
$cred = gcloud auth print-access-token $headers = @{ "X-HTTP-Method-Override" = "GET"; "Authorization" = "Bearer $cred" } $body = @" { "assetTypes": "compute.googleapis.com/Instance", "pageSize": 1, "query": "labels.env:*", "readMask": "name,assetType,labels" } "@ Invoke-WebRequest ` -Method POST ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -Body $body ` -Uri "https://cloudasset.googleapis.com/v1/projects/my-project:searchAllResources" | Select-Object -Expand Content
Instancias de Compute Engine por TagKey
En el siguiente ejemplo se muestra cómo buscar instancias de Compute Engine en el proyecto my-project
que tengan etiquetas adjuntas directamente con un TagKey
.namespacedName
que contenga env
.
Para buscar por TagKeys efectivos, sustituye tagKeys
por effectiveTagKeys
.
gcloud
gcloud asset search-all-resources \ --scope=projects/my-project \ --query="tagKeys:env" \ --asset-types=compute.googleapis.com/Instance \ --format="table(name, assetType, tags)"
REST
Método HTTP y URL:
POST https://cloudasset.googleapis.com/v1/projects/my-project:searchAllResources
Cuerpo JSON de la solicitud:
{ "assetTypes": "compute.googleapis.com/Instance", "pageSize": 1, "query": "tagKeys:env", "readMask": "name,assetType,tags" }
Ejemplos de comandos
curl (Linux, macOS o Cloud Shell)
curl -X POST \ -H "X-HTTP-Method-Override: GET" \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d '{ "assetTypes": "compute.googleapis.com/Instance", "pageSize": 1, "query": "tagKeys:env", "readMask": "name,assetType,tags" }' \ https://cloudasset.googleapis.com/v1/projects/my-project:searchAllResources
PowerShell (Windows)
$cred = gcloud auth print-access-token $headers = @{ "X-HTTP-Method-Override" = "GET"; "Authorization" = "Bearer $cred" } $body = @" { "assetTypes": "compute.googleapis.com/Instance", "pageSize": 1, "query": "tagKeys:env", "readMask": "name,assetType,tags" } "@ Invoke-WebRequest ` -Method POST ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -Body $body ` -Uri "https://cloudasset.googleapis.com/v1/projects/my-project:searchAllResources" | Select-Object -Expand Content
Instancias de Compute Engine por TagValue
En el siguiente ejemplo se muestra cómo buscar instancias de Compute Engine en el proyecto my-project
que tengan etiquetas adjuntas directamente en las que TagValue
.namespacedName
contiene prod
o sea
, y el nombre de la instancia no contiene instance1
.
Para buscar por TagValues efectivos, sustituye tagValues
por
effectiveTagValues
gcloud
gcloud asset search-all-resources \ --scope=projects/my-project \ --query="tagValues:(prod OR sea) (NOT name:instance1)" \ --asset-types=compute.googleapis.com/Instance \ --format="table(name, assetType, tags)"
REST
Método HTTP y URL:
POST https://cloudasset.googleapis.com/v1/projects/my-project:searchAllResources
Cuerpo JSON de la solicitud:
{ "assetTypes": "compute.googleapis.com/Instance", "pageSize": 1, "query": "tagValues:(prod OR sea) (NOT name:instance1)", "readMask": "name,assetType,tags" }
Ejemplos de comandos
curl (Linux, macOS o Cloud Shell)
curl -X POST \ -H "X-HTTP-Method-Override: GET" \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d '{ "assetTypes": "compute.googleapis.com/Instance", "pageSize": 1, "query": "tagValues:(prod OR sea) (NOT name:instance1)", "readMask": "name,assetType,tags" }' \ https://cloudasset.googleapis.com/v1/projects/my-project:searchAllResources
PowerShell (Windows)
$cred = gcloud auth print-access-token $headers = @{ "X-HTTP-Method-Override" = "GET"; "Authorization" = "Bearer $cred" } $body = @" { "assetTypes": "compute.googleapis.com/Instance", "pageSize": 1, "query": "tagValues:(prod OR sea) (NOT name:instance1)", "readMask": "name,assetType,tags" } "@ Invoke-WebRequest ` -Method POST ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -Body $body ` -Uri "https://cloudasset.googleapis.com/v1/projects/my-project:searchAllResources" | Select-Object -Expand Content
Instancias de Compute Engine creadas después de una hora específica
En el siguiente ejemplo se muestra cómo buscar instancias de Compute Engine en el proyecto my-project
que se crearon después del 31 de diciembre del 2023.
Para obtener más información sobre las comparaciones de fechas y horas, consulta Comparación numérica y de marcas de tiempo.
gcloud
gcloud asset search-all-resources \ --scope=projects/my-project \ --query="createTime>2023-31-12" \ --asset-types=compute.googleapis.com/Instance \ --format="table(name, assetType, location)"
REST
Método HTTP y URL:
POST https://cloudasset.googleapis.com/v1/projects/my-project:searchAllResources
Cuerpo JSON de la solicitud:
{ "assetTypes": "compute.googleapis.com/Instance", "pageSize": 1, "query": "createTime>2023-31-12", "readMask": "name,assetType,location" }
Ejemplos de comandos
curl (Linux, macOS o Cloud Shell)
curl -X POST \ -H "X-HTTP-Method-Override: GET" \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d '{ "assetTypes": "compute.googleapis.com/Instance", "pageSize": 1, "query": "createTime>2023-31-12", "readMask": "name,assetType,location" }' \ https://cloudasset.googleapis.com/v1/projects/my-project:searchAllResources
PowerShell (Windows)
$cred = gcloud auth print-access-token $headers = @{ "X-HTTP-Method-Override" = "GET"; "Authorization" = "Bearer $cred" } $body = @" { "assetTypes": "compute.googleapis.com/Instance", "pageSize": 1, "query": "createTime>2023-31-12", "readMask": "name,assetType,location" } "@ Invoke-WebRequest ` -Method POST ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -Body $body ` -Uri "https://cloudasset.googleapis.com/v1/projects/my-project:searchAllResources" | Select-Object -Expand Content
Instancias de Compute Engine ubicadas en EE. UU.
En el siguiente ejemplo se muestra cómo buscar instancias de Compute Engine en el proyecto my-project
que se encuentran en EE. UU.
gcloud
gcloud asset search-all-resources \ --scope=projects/my-project \ --query="location:us-*" \ --asset-types=compute.googleapis.com/Instance \ --format="table(name, assetType, location)"
REST
Método HTTP y URL:
POST https://cloudasset.googleapis.com/v1/projects/my-project:searchAllResources
Cuerpo JSON de la solicitud:
{ "assetTypes": "compute.googleapis.com/Instance", "pageSize": 1, "query": "location:us-*", "readMask": "name,assetType,location" }
Ejemplos de comandos
curl (Linux, macOS o Cloud Shell)
curl -X POST \ -H "X-HTTP-Method-Override: GET" \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d '{ "assetTypes": "compute.googleapis.com/Instance", "pageSize": 1, "query": "location:us-*", "readMask": "name,assetType,location" }' \ https://cloudasset.googleapis.com/v1/projects/my-project:searchAllResources
PowerShell (Windows)
$cred = gcloud auth print-access-token $headers = @{ "X-HTTP-Method-Override" = "GET"; "Authorization" = "Bearer $cred" } $body = @" { "assetTypes": "compute.googleapis.com/Instance", "pageSize": 1, "query": "location:us-*", "readMask": "name,assetType,location" } "@ Invoke-WebRequest ` -Method POST ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -Body $body ` -Uri "https://cloudasset.googleapis.com/v1/projects/my-project:searchAllResources" | Select-Object -Expand Content
Instancias de Compute Engine en ejecución
En el siguiente ejemplo se muestra cómo buscar instancias de Compute Engine que se estén ejecutando en el proyecto my-project
.
gcloud
gcloud asset search-all-resources \ --scope=projects/my-project \ --query="state=RUNNING" \ --asset-types=compute.googleapis.com/Instance \ --read-mask="name,assetType,location,versionedResources" \ --format="table(name, assetType, location, versionedResources)"
REST
Método HTTP y URL:
POST https://cloudasset.googleapis.com/v1/projects/my-project:searchAllResources
Cuerpo JSON de la solicitud:
{ "assetTypes": "compute.googleapis.com/Instance", "pageSize": 1, "query": "state=RUNNING", "readMask": "name,assetType,location,versionedResources" }
Ejemplos de comandos
curl (Linux, macOS o Cloud Shell)
curl -X POST \ -H "X-HTTP-Method-Override: GET" \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d '{ "assetTypes": "compute.googleapis.com/Instance", "pageSize": 1, "query": "state=RUNNING", "readMask": "name,assetType,location,versionedResources" }' \ https://cloudasset.googleapis.com/v1/projects/my-project:searchAllResources
PowerShell (Windows)
$cred = gcloud auth print-access-token $headers = @{ "X-HTTP-Method-Override" = "GET"; "Authorization" = "Bearer $cred" } $body = @" { "assetTypes": "compute.googleapis.com/Instance", "pageSize": 1, "query": "state=RUNNING", "readMask": "name,assetType,location,versionedResources" } "@ Invoke-WebRequest ` -Method POST ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -Body $body ` -Uri "https://cloudasset.googleapis.com/v1/projects/my-project:searchAllResources" | Select-Object -Expand Content
Políticas de gestión de identidades y accesos de denegación
En el siguiente ejemplo se muestra cómo buscar políticas de denegación de gestión de identidades y accesos en el proyecto my-project
.
gcloud
gcloud asset search-all-resources \ --scope=projects/my-project \ --asset-types=iam.googleapis.com/PolicyV2 \ --query="name:denypolicies"
REST
Método HTTP y URL:
POST https://cloudasset.googleapis.com/v1/projects/my-project:searchAllResources
Cuerpo JSON de la solicitud:
{ "assetTypes": "iam.googleapis.com/PolicyV2", "pageSize": 1, "query": "name:denypolicies" }
Ejemplos de comandos
curl (Linux, macOS o Cloud Shell)
curl -X POST \ -H "X-HTTP-Method-Override: GET" \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d '{ "assetTypes": "iam.googleapis.com/PolicyV2", "pageSize": 1, "query": "name:denypolicies" }' \ https://cloudasset.googleapis.com/v1/projects/my-project:searchAllResources
PowerShell (Windows)
$cred = gcloud auth print-access-token $headers = @{ "X-HTTP-Method-Override" = "GET"; "Authorization" = "Bearer $cred" } $body = @" { "assetTypes": "iam.googleapis.com/PolicyV2", "pageSize": 1, "query": "name:denypolicies" } "@ Invoke-WebRequest ` -Method POST ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -Body $body ` -Uri "https://cloudasset.googleapis.com/v1/projects/my-project:searchAllResources" | Select-Object -Expand Content
Para buscar instancias de Compute Engine que no se estén ejecutando, sustituye state=RUNNING
por NOT state:running
.
Recursos Google Cloud relacionados
Las consultas de relaciones requieren acceso al nivel Premium o Enterprise de Security Command Center o a Gemini Cloud Assist.
En el siguiente ejemplo se muestra cómo buscar recursos relacionados en el proyecto my-project
para los tipos de relación admitidos. Por ejemplo, busca todas las instancias de Compute Engine que formen parte de grupos de instancias que tengan instance-group
en sus nombres de recursos completos.
gcloud
gcloud asset search-all-resources \ --scope=projects/my-project \ --query="relationships:instance-group" \ --format="table(name, assetType, relationships)"
REST
Método HTTP y URL:
POST https://cloudasset.googleapis.com/v1/projects/my-project:searchAllResources
Cuerpo JSON de la solicitud:
{ "pageSize": 1, "query": "relationships:instance-group", "readMask": "name,assetType,relationships" }
Ejemplos de comandos
curl (Linux, macOS o Cloud Shell)
curl -X POST \ -H "X-HTTP-Method-Override: GET" \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d '{ "pageSize": 1, "query": "relationships:instance-group", "readMask": "name,assetType,relationships" }' \ https://cloudasset.googleapis.com/v1/projects/my-project:searchAllResources
PowerShell (Windows)
$cred = gcloud auth print-access-token $headers = @{ "X-HTTP-Method-Override" = "GET"; "Authorization" = "Bearer $cred" } $body = @" { "pageSize": 1, "query": "relationships:instance-group", "readMask": "name,assetType,relationships" } "@ Invoke-WebRequest ` -Method POST ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -Body $body ` -Uri "https://cloudasset.googleapis.com/v1/projects/my-project:searchAllResources" | Select-Object -Expand Content
También puedes especificar el tipo de relación que quieras buscar. Por ejemplo, para buscar el tipo de relación INSTANCE_TO_INSTANCEGROUP
, usa la consulta relationships.INSTANCE_TO_INSTANCEGROUP
. Para buscar ese tipo de relación con un nombre de recurso completo que contenga instance-group
, usa la consulta relationships.INSTANCE_TO_INSTANCEGROUP:instance-group
.