La API de Cloud Asset te permite usar un lenguaje de consulta personalizado para consultar los metadatos de los recursos de un proyecto, organización o carpeta.
Antes de comenzar
Habilita la API de Cloud DLP para el proyecto.
Otorga el permiso
cloudasset.assets.searchAllResources
a la cuenta de usuario o de servicio que realiza la solicitud. Este permiso se incluye en las funciones básicas y las funciones predefinidas que se enumeran enRoles
.
Buscar recursos
Console
Para buscar en todos los recursos, completa los siguientes pasos.
Ve a la página Asset Inventory en la consola de Google Cloud.
Para establecer el permiso de tu búsqueda, abre el cuadro de lista Proyectos en la barra de menú y, luego, selecciona la organización, la carpeta o el proyecto que deseas consultar.
Selecciona la pestaña Recurso.
Para buscar recursos, ingresa el texto de la consulta en la barra de filtros. Selecciona el cuadro de texto y, luego, aparecerá una lista de campos de búsqueda. La búsqueda de recursos admite varios campos. Obtén más información sobre la sintaxis de las consultas.
Los resultados de la búsqueda también se pueden filtrar por los filtros predefinidos Tipo de recurso, Proyecto y Lugar en el panelFiltrar resultados.
Los recursos que coinciden con la consulta se enumeran en la tabla Resultado.
Para ver la consulta como un comando de Google Cloud CLI, selecciona Ver consulta.
Para exportar los resultados, selecciona Descargar CSV.
gcloud
Puedes llamar a SearchAllResources
con el comando gcloud asset search-all-resources
. Debes ejecutar la versión 302.0.0 de Google Cloud CLI o una más reciente. Puedes
verificar tu versión con el comando gcloud version
.
gcloud asset search-all-resources \
--scope=SCOPE \
--query=QUERY \
--asset-types=ASSET_TYPE_1,ASSET_TYPE_2,... \
--order-by=ORDER_BY \
--read-mask=READ_MASK
Ingresa los siguientes valores:
SCOPE
: Obligatorio. Un permiso puede ser un proyecto, una carpeta o una organización. La búsqueda se limita a los recursos de Google Cloud en este alcance. El llamador debe tener el permisocloudasset.assets.searchAllResources
en el alcance seleccionado. Si no se especifica, se usa la propiedad del proyecto configurada.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 cambio en la barra de menú.
- Elige tu organización en el cuadro Seleccionar desde y, luego, busca el nombre del proyecto.
- Haz clic en el nombre del proyecto para cambiar a ese proyecto. El número del 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
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 cambio en la barra de menú.
- Haz clic en el cuadro Seleccionar de 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)"
En el ejemplo anterior, TOP_LEVEL_FOLDER_NAME puede ser una coincidencia de cadenas completa o parcial. 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
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 cambio en la barra de menú.
- Haz clic en el cuadro Seleccionar de 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))"
-
QUERY
: Opcional La instrucción de la consulta. Para obtener más información, revisa la sintaxis de consulta. Si no se especifica o está vacío, busca en todos los recursos de lascope
especificada.Ejemplos:
name:Important
para encontrar recursos de Google Cloud cuyo nombre contenga la palabraImportant
.name=Important
para encontrar el recurso de Google Cloud cuyo nombre es exactamenteImportant
.displayName:Impor*
para encontrar recursos de Google Cloud cuyo nombre visible contengaImpor
como prefijo de cualquier palabralocation:us-west*
para encontrar recursos de Google Cloud cuya ubicación tenga dos palabras conus
ywest
como prefijos.labels:prod
para encontrar recursos de Google Cloud que tienen una etiqueta en la que la clave o el valor contienen la palabraprod
.labels.env:prod
para encontrar recursos de Google Cloud que tengan una etiqueta en la que la clave seaenv
y el valor contenga la palabraprod
labels.env:*
para encontrar recursos de Google Cloud que tengan una etiqueta en la que la clave seaenv
.tagKeys:env
para encontrar recursos de Google Cloud que están directamente conectados a etiquetas en las queTagKey.namespacedName
contieneenv
.tagKeyIds=tagKeys/123
para encontrar recursos de Google Cloud que están directamente conectados a las etiquetas en las queTagKey.name
es exactamentetagKeys/123
.tagValues:prod*
para encontrar recursos de Google Cloud que están directamente vinculados a las etiquetas en los queTagValue.namespacedName
contiene una palabra con el prefijoprod
tagValueIds=tagValues/123
para encontrar recursos de Google Cloud que están directamente conectados a las etiquetas en las queTagValue.name
es exactamentetagValues/123
.effectiveTagKeys:env
para encontrar recursos de Google Cloud que se adjuntan directamente o heredan las etiquetas en las queTagKey.namespacedName
contieneenv
.effectiveTagKeyIds=tagKeys/123
para encontrar recursos de Google Cloud que se adjuntan directamente o heredan las etiquetas en las queTagKey.name
es exactamentetagKeys/123
.effectiveTagValues:prod*
para encontrar recursos de Google Cloud que se adjuntan directamente o heredan las etiquetas en las queTagValue.namespacedName
contiene una palabra con el prefijoprod
.effectiveTagValueIds=tagValues/123
para encontrar recursos de Google Cloud que se adjuntan directamente o heredan las etiquetas en las queTagValue.name
es exactamentetagValues/123
.kmsKeys:key
para encontrar recursos de Google Cloud encriptados con claves de encriptación administradas por el cliente cuyo nombre contenga la palabrakey
relationships:instance-group-1
para encontrar recursos de Google Cloud que tengan relación coninstance-group-1
en el nombre del recurso relacionado.relationships:INSTANCE_TO_INSTANCEGROUP
para encontrar instancias de Compute Engine que tengan relaciones de tipoINSTANCE_TO_INSTANCEGROUP
.relationships.INSTANCE_TO_INSTANCEGROUP:instance-group-1
a fin de encontrar instancias de Compute Engine que estén relacionadas coninstance-group-1
en el nombre del recurso del grupo de instancias de Compute Engine para el tipo de relaciónINSTANCE_TO_INSTANCEGROUP
.state:ACTIVE
para encontrar recursos de Google Cloud cuyo estado contengaACTIVE
como una palabra.NOT state:ACTIVE
para encontrar recursos de Google Cloud cuyo estado no contengaACTIVE
como una palabra.createTime<1609459200
,createTime<2021-01-01
ocreateTime<"2021-01-01T00:00:00"
para encontrar los recursos de Google Cloud que se crearon antes del2021-01-01 00:00:00 UTC
.1609459200
es la marca de tiempo de la época en segundos de2021-01-01 00:00:00 UTC
.updateTime>1609459200
,updateTime>2021-01-01
oupdateTime>"2021-01-01T00:00:00"
para encontrar recursos de Google Cloud que se actualizaron después del2021-01-01 00:00:00 UTC
.1609459200
es la marca de tiempo de la época en segundos de2021-01-01 00:00:00 UTC
.project:12345
para encontrar recursos de Google Cloud que pertenecen a un proyecto de Google Cloud con el número12345
.folders:(123 or 456)
para encontrar recursos de Google Cloud que pertenecen a una carpeta de Google Cloud con números123
o456
.organization:123
para encontrar recursos de Google Cloud que pertenezcan a una organización de Google Cloud con el número123
parentFullResourceName:ImportantName
para encontrar recursos de Google Cloud cuyo nombre superior contengaImportantName
.parentAssetType:Project
para encontrar recursos de Google Cloud cuyo tipo de recurso superior contengaProject
.Important
para encontrar recursos de Google Cloud que contengan la palabraImportant
en cualquiera de los campos de búsquedaImpor*
para encontrar recursos de Google Cloud que contenganImpor
como prefijo de cualquier palabra en cualquiera de los campos de búsqueda.Important location:(us-west1 OR global)
para encontrar recursos de Google Cloud que contengan la palabraImportant
en cualquiera de los campos de búsqueda y que también se encuentren en la regiónus-west1
oglobal
ASSET_TYPE
: Opcional Una lista de los tipos de elementos que busca esta solicitud. Si está vacío, se buscará en todos los tipos de recursos que se pueden buscar. Se admiten las expresiones regulares compatibles con RE2. Si la expresión regular no coincide con ningún tipo de recurso compatible, se mostrará un errorINVALID_ARGUMENT
.ORDER_BY
: Opcional Una lista de campos separados por comas que especifica el orden de clasificación de los resultados. El orden predeterminado es ascendente. AgregaDESC
después del nombre del campo para indicar el orden descendente. Se ignoran los caracteres de espacio redundantes. Ejemplo:"location DESC, name"
. Solo se pueden ordenar los campos primitivos singulares de la respuesta:name
assetType
project
displayName
description
location
createTime
updateTime
state
parentFullResourceName
parentAssetType
No se admiten todos los demás campos, como los campos repetidos (por ejemplo,
networkTags
ykmsKeys
), los campos de asignación (por ejemplo,labels
) y los campos de struct (por ejemplo,additionalAttributes
).READ_MASK
: Opcional Una lista de campos separados por comas que especifica qué campos se mostrarán en los resultados. Si no se especifica, se muestran todos los campos, exceptoversionedResources
. Si solo se especifica"*"
, se muestran todos los campos. Ejemplos:"name,location"
,"name,versionedResources"
y"*"
.Los siguientes campos se muestran de forma predeterminada si no se especifica
--read-mask
:name
assetType
project
folders
organization
displayName
description
location
labels
tags
networkTags
kmsKeys
createTime
updateTime
state
additionalAttributes
parentFullResourceName
parentAssetType
Algunos campos de gran tamaño, como
versionedResources
,attachedResources
yeffectiveTags
, no se muestran de forma predeterminada, pero puedes especificarlos en el parámetro--read-mask
si deseas incluirlos. Si se especifica"*"
, se muestran todos los campos disponibles. Ejemplos:"name,location,effectiveTags"
,"name,versionedResources"
y"*"
.
Los siguientes son comandos de gcloud
de ejemplo:
Busca todos los recursos en
organizations/123456
cuyoname
contenga la palabramycompany
:gcloud asset search-all-resources \ --scope=organizations/123456 \ --query="name:mycompany"
Busca todos los recursos en
organizations/123456
cuyoname
contenga la palabramycompany
, incluidos los metadatos completos:gcloud asset search-all-resources \ --scope=organizations/123456 \ --query="name:mycompany" \ --read-mask="name,versionedResources"
REST
Puedes llamar a SearchAllResources
con un token de OAuth válido para un proyecto. Para llamar al método SearchAllResources
desde Cloud Shell o cualquier consola en la que esté disponible el comando gcloud
:
Si no configuraste la pantalla de consentimiento de OAuth de tu proyecto, debes hacerlo. Para ello, se requiere una dirección de correo electrónico y un nombre del producto.
Ve a la página de la pantalla de consentimiento de OAuth de tu proyecto.
Ingresa el Nombre de la aplicación que deseas mostrar.
En Correo electrónico de asistencia, selecciona la dirección de correo electrónico que deseas mostrar como contacto público. Debe ser tu dirección de correo electrónico o un Grupo de Google de tu propiedad.
Agrega otro tipo de información opcional que desees mostrar.
Haz clic en Guardar.
Crea un token de OAuth para tu proyecto. Consulta Cómo configurar OAuth 2.0 para obtener más información.
Ve a la página Crear ID de cliente de OAuth.
Selecciona App de escritorio como el Tipo de aplicación.
Haz clic en Crear.
Descarga el archivo
client_secret.json
.Ve a la página Credenciales.
A la derecha de tu ID de cliente nuevo, haz clic en
Descargar JSON.Almacena el archivo de forma segura en una ubicación a la que solo pueda acceder tu app.
Accede mediante el archivo JSON son el siguiente comando.
gcloud auth application-default login --client-id-file=YOUR_JSON_FILE
Este comando te solicita que abras un vínculo. Asegúrate de que la página muestre el Nombre de la aplicación que estableciste en la pantalla de consentimiento de OAuth.
Ahora puedes consultar recursos con los comandos
curl
.curl -X POST \ -H "X-HTTP-Method-Override: GET" \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -d '{ "assetTypes": [ "ASSET_TYPE_1", "ASSET_TYPE_2", "..." ], "orderBy": "ORDER_BY", "pageSize": PAGE_SIZE, "query": "QUERY", "readMask": "READ_MASK" }' \ https://cloudasset.googleapis.com/v1/SCOPE:searchAllIamPolicies
Ingresa los siguientes valores:
ASSET_TYPE
: Opcional Una lista de los tipos de elementos que busca esta solicitud. Si está vacío, se buscará en todos los 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
.ORDER_BY
: Opcional Una lista de campos separados por comas que especifica el orden de clasificación de los resultados. El orden predeterminado es ascendente. Agrega" DESC"
después del nombre del campo para indicar el orden descendente. Se ignoran los caracteres de espacio redundantes. Ejemplo:"location DESC, name"
. Solo se pueden ordenar los campos primitivos singulares en la respuesta:name
assetType
project
displayName
description
location
createTime
updateTime
state
parentFullResourceName
parentAssetType
No se admiten todos los demás campos, como los campos repetidos (por ejemplo,
networkTags
ykmsKeys
), los campos de asignación (por ejemplo,labels
) y los campos de struct (por ejemplo,additionalAttributes
).PAGE_SIZE
: Opcional Es la cantidad de resultados que se muestran por página. La cantidad máxima es 500. Si el valor se establece como0
o un valor negativo, se selecciona un valor predeterminado apropiado. Se muestra unnextPageToken
para recuperar los resultados posteriores.QUERY
: Opcional La instrucción de la consulta. Para obtener más información, revisa la sintaxis de consulta. Si no se especifica o está vacío, busca en todos los recursos de lascope
especificada.Ejemplos:
name:Important
para encontrar los recursos de Google Cloud cuyo nombre contenga la palabra "Important".name=Important
para encontrar el recurso de Google Cloud cuyo nombre es exactamente “Important”.displayName:Impor*
para encontrar los recursos de Google Cloud cuyo nombre visible contiene "Impor" como prefijo de cualquier palabra.location:us-west*
para encontrar recursos de Google Cloud cuya ubicación contenga “us” y “west” como prefijos.labels:prod
para encontrar recursos de Google Cloud que tengan una etiqueta en la que la clave o el valor contengan la palabra “prod”.labels.env:prod
para encontrar los recursos de Google Cloud que tengan una etiqueta en la que la clave es “env” y el valor contiene la palabra “prod”.labels.env:*
para encontrar los recursos de Google Cloud que tengan una etiqueta en la que la clave sea “env”.tagKeys:env
para encontrar recursos de Google Cloud que están directamente vinculados a etiquetas en las queTagKey.namespacedName
contiene “env”.tagKeyIds=tagKeys/123
para encontrar recursos de Google Cloud que están directamente conectados a etiquetas en las queTagKey.name
es exactamente “tagKeys/123”.tagValues:prod*
para encontrar recursos de Google Cloud que están directamente vinculados a las etiquetas en las queTagValue.namespacedName
contiene una palabra con el prefijo “prod”.tagValueIds=tagValues/123
para encontrar recursos de Google Cloud que se adjuntan directamente a etiquetas en las queTagValue.name
es exactamente “tagValues/123”.effectiveTagKeys:env
para encontrar recursos de Google Cloud que se adjuntan directamente o heredan las etiquetas en las queTagKey.namespacedName
contieneenv
.effectiveTagKeyIds=tagKeys/123
para encontrar recursos de Google Cloud que se adjuntan directamente o heredan las etiquetas en las queTagKey.name
es exactamentetagKeys/123
.effectiveTagValues:prod*
para encontrar recursos de Google Cloud que se adjuntan directamente o heredan las etiquetas en las queTagValue.namespacedName
contiene una palabra con el prefijoprod
.effectiveTagValueIds=tagValues/123
para encontrar recursos de Google Cloud que se adjuntan directamente o heredan las etiquetas en las queTagValue.name
es exactamentetagValues/123
.kmsKey:key
para encontrar recursos de Google Cloud encriptados con una clave de encriptación administrada por el cliente cuyo nombre contengakey
como una palabra Este campo ya no está disponible. Usa el campokmsKeys
para recuperar la información de la clave de Cloud KMS.kmsKeys:key
para encontrar recursos de Google Cloud encriptados con claves de encriptación administradas por el cliente cuyo nombre contenga la palabra “clave”.relationships:instance-group-1
para encontrar recursos de Google Cloud que tengan relación coninstance-group-1
en el nombre del recurso relacionado.relationships:INSTANCE_TO_INSTANCEGROUP
para encontrar instancias de Compute Engine que tengan relaciones de tipoINSTANCE_TO_INSTANCEGROUP
relationships.INSTANCE_TO_INSTANCEGROUP:instance-group-1
a fin de encontrar instancias de Compute Engine que estén relacionadas coninstance-group-1
en el nombre del recurso del grupo de instancias de Compute Engine para el tipo de relaciónINSTANCE_TO_INSTANCEGROUP
.state:ACTIVE
para encontrar los recursos de Google Cloud cuyo estado contenga "ACTIVE" como palabra.NOT state:ACTIVE
para encontrar recursos de Google Cloud cuyo estado no contenga la palabra “ACTIVE”createTime<1609459200
,createTime<2021-01-01
ocreateTime<"2021-01-01T00:00:00"
para encontrar recursos de Google Cloud que se crearon antes del2021-01-01 00:00:00 UTC
.1609459200
es la marca de tiempo de época en segundos de2021-01-01 00:00:00 UTC
.updateTime>1609459200
,updateTime>2021-01-01
oupdateTime>"2021-01-01T00:00:00"
para encontrar recursos de Google Cloud que se actualizaron después del2021-01-01 00:00:00 UTC
.1609459200
es la marca de tiempo de época en segundos de2021-01-01 00:00:00 UTC
.project:12345
para encontrar recursos de Google Cloud que pertenezcan a un proyecto de Google Cloud con el número 12345.folders:(123 or 456)
para encontrar recursos de Google Cloud que pertenezcan a una carpeta de Google Cloud con números 123 o 456.organization:123
para encontrar recursos de Google Cloud que pertenezcan a una organización de Google Cloud con el número 123.parentFullResourceName:ImportantName
para encontrar recursos de Google Cloud cuyo nombre superior contengaImportantName
.parentAssetType:Project
para encontrar recursos de Google Cloud cuyo tipo de recurso superior contengaProject
.Important
para encontrar recursos de Google Cloud que contengan la palabra “Important” en cualquiera de los campos de búsqueda.Impor*
para encontrar los recursos de Google Cloud que contengan "Impor" como prefijo de cualquier palabra en cualquiera de los campos de búsqueda.Important location:(us-west1 OR global)
para encontrar recursos de Google Cloud que contengan la palabraImportant
en cualquiera de los campos que se pueden buscar y que también se encuentren en la regiónus-west1
oglobal
.
READ_MASK
: Opcional Una lista de campos separados por comas que especifica qué campos se mostrarán en los resultados. Si no se especifica, se muestran todos los campos, exceptoversionedResources
. Si solo se especifica"*"
, se muestran todos los campos. Ejemplos:"name,location"
,"name,versionedResources"
y"*"
.Los siguientes campos se muestran de forma predeterminada si no se especifica
read_mask
:name
assetType
project
folders
organization
displayName
description
location
labels
tags
networkTags
kmsKeys
createTime
updateTime
state
additionalAttributes
parentFullResourceName
parentAssetType
Algunos campos de gran tamaño, como
versionedResources
,attachedResources
yeffectiveTags
, no se muestran de forma predeterminada, pero puedes especificarlos en el parámetroread_mask
si deseas incluirlos. Si se especifica"*"
, se muestran todos los campos disponibles. Ejemplos:"name,location,effectiveTags"
,"name,versionedResources"
y"*"
.SCOPE
: Un permiso puede ser un proyecto, una carpeta o una organización. La búsqueda se limita a los recursos de Google Cloud en este alcance. El llamador debe tener el permisocloudasset.assets.searchAllResources
en el alcance seleccionado. Si no se especifica, se usa la propiedad del proyecto configurada.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 cambio en la barra de menú.
- Elige tu organización en el cuadro Seleccionar desde y, luego, busca el nombre del proyecto.
- Haz clic en el nombre del proyecto para cambiar a ese proyecto. El número del 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
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 cambio en la barra de menú.
- Haz clic en el cuadro Seleccionar de 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)"
En el ejemplo anterior, TOP_LEVEL_FOLDER_NAME puede ser una coincidencia de cadenas completa o parcial. 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
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 cambio en la barra de menú.
- Haz clic en el cuadro Seleccionar de 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))"
-
Referencia de la API y biblioteca cliente
SearchAllResources
Construye una consulta
Consulta la sintaxis de consulta para obtener más información sobre el lenguaje de consulta.
Consulta Busca una muestra de recursos para obtener más información sobre las consultas de muestra para varios casos de uso reales.
Consulta recursos de Google Cloud por campos de metadatos de recursos
Para buscar metadatos de recursos, la expresión de consulta tiene los siguientes formatos:
Concordancia exacta del texto:
FIELD=QUERY
Concordancia parcial del texto:
FIELD:QUERY
Concordancia numérica: operadores de comparación (
=
,>
,>=
,<
,<=
)FIELDcomparison operatorQUERY
Los FIELD
de metadatos de recursos que se pueden buscar pueden ser los siguientes:
name: Es el nombre completo del recurso del recurso. Nota: No todos los tipos de recursos se pueden buscar. Consulta la lista de tipos que se pueden buscar.
displayName: El nombre visible en la IU
description: La descripción de texto del recurso en uno o más párrafos.
location: La ubicación del recurso. La ubicación puede ser
global
, regional (por ejemplo,us-east1
) o zonal (por ejemplo,us-west1-b
).labels: Las etiquetas asociadas con este recurso. Las etiquetas pueden coincidir con claves de etiqueta, valores de etiqueta o ambos. Consulta Etiqueta y agrupa recursos de Google Cloud Platform.
labels.[key]: Es el valor de la etiqueta que identifica la clave de etiqueta asociada con este recurso. Por ejemplo:
labels.env:prod
. Solo se permiten guiones (-
), guiones bajos (_
), minúsculas y números en las claves de etiqueta. Las claves deben comenzar con una letra minúscula. Se permite el uso de caracteres internacionales. Consulta los Requisitos para las etiquetas.tagKeys:
TagKey.namespacedName
de las etiquetas adjuntas directamente a este recurso.tagKeyIds:
TagKey.name
de las etiquetas adjuntas directamente a este recurso.tagValues:
TagValue.namespacedName
de las etiquetas adjuntas directamente a este recurso.tagValueIds:
TagValue.name
de las etiquetas adjuntas directamente a este recurso.effectiveTagKeys:
TagKey.namespacedName
de las etiquetas heredadas o adjuntas directamente a este recurso.effectiveTagKeyIds:
TagKey.name
de las etiquetas que se adjuntan o heredan de forma directa a este recurso.effectiveTagValues:
TagValue.namespacedName
de las etiquetas que se adjuntan o heredaron directamente a este recurso.effectiveTagValueIds:
TagValue.name
de las etiquetas adjuntas o heredadas a este recurso de forma directa.
networkTags: etiquetas de red asociadas con este recurso. Consulta Etiqueta y agrupa recursos de Google Cloud Platform.
kmsKey: La clave de encriptación administrada por el cliente que se usa para encriptar este recurso. Este campo ya no está disponible. Usa el campo
kmsKeys
para recuperar la información de la clave de Cloud KMS. Consulta CryptoKey y CryptoKeyVersion.kmsKeys: Las claves de encriptación administradas por el cliente que se usan para encriptar este recurso. Consulta CryptoKey y CryptoKeyVersion.
Relationships: Las relaciones asociadas con este recurso. Las relaciones pueden coincidir con el tipo de relación, el nombre de recurso relacionado o ambos. Consulta los tipos de relación admitidos.
relationships.[relationship_type]: Es el nombre del recurso relacionado para un tipo de recurso específico asociado a este recurso. Por ejemplo:
relationships.INSTANCE_TO_INSTANCEGROUP:instance-group-1
Consulta los tipos de relación admitidos.sccSecurityMarks: Es el contenido real de las marcas de seguridad de Security Command Center asociadas con el recurso. Por ejemplo:
sccSecurityMarks.foo:bar
. Consulta Tipos de recursos admitidos en Security Command Center.state: El valor de texto del estado de este recurso. Los diferentes tipos de recursos tienen definiciones de estado diferentes que se asignan a partir de varios campos de distintos tipos de recursos. Ejemplo: Si el recurso es una instancia que proporciona Compute Engine, su estado incluye
PROVISIONING
,STAGING
,RUNNING
,STOPPING
,SUSPENDING
,SUSPENDED
,REPAIRING
yTERMINATED
. Consulta la definición destatus
en la Referencia de la API. Si el recurso es un proyecto proporcionado por Cloud Resource Manager, su estado incluyeLIFECYCLE_STATE_UNSPECIFIED
,ACTIVE
,DELETE_REQUESTED
yDELETE_IN_PROGRESS
. Consulta la definición delifecycleState
en la Referencia de la API.createTime: la marca de tiempo de creación de este recurso, en la que este se creó. El nivel de detalle está en segundos.
updateTime: La marca de tiempo de la última actualización de este recurso, en la que el recurso se modificó o borró por última vez. El nivel de detalle está en segundos.
project:Es el número del proyecto al que pertenece este recurso.
folders: Los números de las carpetas a las que pertenece este recurso.
organization: Es el número de la organización a la que pertenece este recurso.
parentFullResourceName: Es el nombre del elemento superior del recurso.
parentAssetType: Es el tipo del elemento superior del recurso.
Ejemplos: Consulta por campo específico
Busca todos los recursos en tu
scope
cuyoname
contenga la palabraImportant
:name:Important
Busca todos los recursos en tu
scope
cuyodisplayName
contenga una palabra con el prefijoprod
:displayName:prod*
Busca todos los recursos en tu
scope
cuyolocation
contenga la palabraus
:location:us
Busca todos los recursos en tu
scope
cuyolocation
sea igual aus
:location=us
Busca todos los recursos en tu
scope
que hayan adjuntado directamente etiquetas cuyoTagKey.namespacedName
contenga la palabraenv
:tagKeys:env
Busca todos los recursos en tu
scope
que tengan etiquetas adjuntas directamente conTagKey.name
exactamente igual atagKeys/123
:tagKeyIds=tagKeys/123
Busca todos los recursos en tu
scope
que hayan adjuntado directamente etiquetas conTagValue.namespacedName
que contengan una palabra con el prefijoprod
:tagValues:prod*
Busca todos los recursos en tu
scope
que tengan etiquetas adjuntas directamente conTagValue.name
exactamente igual atagValues/123
:tagValueIds=tagValues/123
Busca todos los recursos en tu
scope
que tengan etiquetas adjuntas directamente conTagValue.namespacedName
.tagValues:*
Busca todos los recursos en tu
scope
que hayan heredado o adjuntado etiquetas de forma directa conTagKey.namespacedName
que contenga la palabraenv
:effectiveTagKeys:env
Busca todos los recursos en tu
scope
que tengan etiquetas heredadas o adjuntas de forma directa, conTagKey.name
exactamente igual atagKeys/123
:effectiveTagKeyIds=tagKeys/123
Busca todos los recursos en tu
scope
que hayan heredado o adjuntado de forma directa etiquetasTagValue.namespacedName
que contengan una palabra con el prefijoprod
:effectiveTagValues:prod*
Busca todos los recursos en tu
scope
que tengan etiquetas heredadas o adjuntas de forma directa, conTagValue.name
exactamente igual atagValues/123
:effectiveTagValueIds=tagValues/123
Busca todos los recursos en tu
scope
que tengan etiquetas heredadas o adjuntas de forma directa conTagValue.namespacedName
.effectivetagValues:*
Busca todos los recursos de tu
scope
que tengan unalabel
en la que la clave o el valor contengan la palabraprod
:labels:prod
Encuentra todos los recursos en tu
scope
que tengan unlabel
en el que la clave esenv
y el valor contiene la palabraprod
:labels.env:prod
Busca todos los recursos en tu
scope
que tengan unlabel
en el que la clave esenv
y el valor es exactamente igual aprod
:labels.env=prod
Busca todos los recursos en tu
scope
que tengan unlabel
en el que la clave seaenv
:labels.env:*
Busca todos los recursos en tu
scope
en los que uno de cuyosnetworkTags
contenga la palabrainternal
:networkTags:internal
Busca todos los recursos en tu
scope
en el cual una de susnetworkTags
sea igual ainternal
:networkTags=internal
Busca todos los recursos de tu
scope
que tengan relación coninstance-group-1
en el nombre del recurso relacionado:relationships:instance-group-1
Busca instancias de procesamiento en tu
scope
que tengan relaciones de tipoINSTANCE_TO_INSTANCEGROUP
:relationships:INSTANCE_TO_INSTANCEGROUP
Busca instancias de procesamiento en tu
scope
que tengan relaciones coninstance-group-1
en el nombre del recurso del grupo de instancias de procesamiento para el tipo de relaciónINSTANCE_TO_INSTANCEGROUP
:relationships.INSTANCE_TO_INSTANCEGROUP:instance-group-1
Busca todos los recursos en tu
scope
cuyokmsKeys
contenga la palabrakey
:kmsKeys:key
Busca todos los recursos en tu
scope
cuyokmsKeys
sea igual akey
:kmsKeys=key
Busca todos los recursos en tu
scope
cuyosccSecurityMarks
contenga el par clave-valor exacto(key, value)
:sccSecurityMarks.key=value
Busca todos los recursos en tu
scope
cuyosccSecurityMarks
contenga el par clave-valor en el que la clave eskey
:sccSecurityMarks.key:*
Busca todos los recursos en tu
scope
cuyostate
contenga la palabraACTIVE
:state:ACTIVE
Busca todos los recursos en tu
scope
en el cualstate
no contenga la palabraACTIVE
:NOT state:ACTIVE
Busca todos los recursos de tu
scope
que se crearon antes de2021-01-01 00:00:00 UTC
(1609459200
es la marca de tiempo de la época en segundos de2021-01-01 00:00:00 UTC
):createTime<1609459200 createTime<2021-01-01 createTime<"2021-01-01T00:00:00"
Busca todos los recursos de tu
scope
que se actualizaron después de2021-01-01 00:00:00 UTC
(1609459200
es la marca de tiempo de la época en segundos de2021-01-01 00:00:00 UTC
):updateTime>1609459200 updateTime>2021-01-01 updateTime>"2021-01-01T00:00:00"
Busca todos los recursos en tu
scope
cuyoproject
tenga el número123
:project:123
Busca todos los recursos en tu
scope
que se encuentran enfolder
con el número123
:folders:123
Busca todos los recursos en tu
scope
cuyoorganization
tenga el número123
:organization:123
Busca todos los recursos en tu
scope
cuyoparentFullResourceName
contengaImportantName
:parentFullResourceName:ImportantName
Busca todos los recursos en tu
scope
cuyoparentAssetType
contengaProject
:parentAssetType:Project
Busca todos los recursos de tu
scope
cuyoname
contenga la palabraImportant
ydescription
una palabra con el prefijoimport
:name:Important description:import*
Busca todos los recursos en tu
scope
cuyoname
contenga la palabraImportant
odescription
con una palabra con el prefijoimport
:name:Important OR description:import*
Consulta recursos de Google Cloud por texto libre
También puedes simplemente usar una consulta de texto libre sin especificar un campo. Luego, muestra los recursos, siempre que haya un campo en los metadatos del recurso que coincida con la consulta.
Ejemplos: Consulta por texto libre
Busca todos los recursos en tu
scope
cuyos campos de metadatos (por ejemplo,name
,displayName
,description
) contengan la palabraImportant
:Important
Busca todos los recursos en tu
scope
cuyos campos de metadatos (por ejemplo,name
,displayName
,description
) contengan una palabra con el prefijoimport
:import*
Encuentra todos los recursos en tu
scope
cuyos campos de metadatos (por ejemplo,name
,displayName
,description
) contengan la palabraImportant
y una palabra con el prefijoprod
:Important prod*