Exporta metadatos de los recursos con Cloud Asset Inventory
En esta guía de inicio rápido, aprenderás a exportar metadatos de activos en un momento dado mediante
Cloud Asset Inventory y los comandos gcloud asset
de Google Cloud CLI
Antes de comenzar
Antes de que puedas comenzar a trabajar con Cloud Asset Inventory, debes habilitar el la API de Cloud Asset Inventory, Google Cloud CLI y asignar permisos. Google Cloud CLI interactúa con Cloud Asset Inventory y otros servicios de Google Cloud. Aprendizaje más información sobre la gcloud CLI.
Habilita la API de Cloud Asset Inventory y Google Cloud CLI
- Accede a tu cuenta de Google Cloud. Si eres nuevo en Google Cloud, crea una cuenta para evaluar el rendimiento de nuestros productos en situaciones reales. Los clientes nuevos también obtienen $300 en créditos gratuitos para ejecutar, probar y, además, implementar cargas de trabajo.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Enable the required API.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Enable the required API.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
Configurar permisos
Para llamar a la API de Cloud Asset Inventory, primero debes configurar los permisos.
Buscar recursos
Para buscar metadatos de recursos, ejecuta el siguiente comando.
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
: Opcional Un permiso puede ser un proyecto, una carpeta en una organización. La búsqueda se limita a los recursos de Google Cloud incluidos en esta del proyecto. El emisor debe tener el permisocloudasset.assets.searchAllResources
en el permiso deseado. Si no se especifica, el propiedad de proyecto configurada y control sobre el uso de sus datos.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 él. 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 el ID de una 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 a su nombre.
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))"
-
QUERY
: Opcional La instrucción de la consulta. Consulta Sintaxis de consultas para obtener más información. Si no se especifica o está vacía, Cloud Asset Inventory busca todos los recursos en elscope
especificado.Ejemplos:
name:Important
para encontrar recursos de Google Cloud cuyo nombre contengaImportant
como una palabra.name=Important
para encontrar el recurso de Google Cloud cuyo nombre es exactamenteImportant
displayName:Impor*
para encontrar los recursos de Google Cloud cuyo nombre visible contieneImpor
como prefijo.location:us-west*
para encontrar los recursos de Google Cloud cuya ubicación contieneus
ywest
como prefijos.labels:prod
para encontrar recursos de Google Cloud cuyas etiquetas contenganprod
como clave o valor.labels.env:prod
para encontrar recursos de Google Cloud que tienen una etiquetaenv
y su valor es "prod".labels.env:*
para encontrar los recursos de Google Cloud que tienen una etiquetaenv
.kmsKeys:key
para encontrar recursos de Google Cloud encriptados con administración las claves de encriptación cuyo nombre contienekey
como palabra.sccSecurityMarks.key=value
para encontrar los recursos de Google Cloud que están conectados con un par de marcas de seguridad cuya clave eskey
y su valor esvalue
.sccSecurityMarks.key:*
para encontrar recursos de Google Cloud que estén adjuntos con un par de marcas de seguridad cuya clave seakey
.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 contienenACTIVE
como una palabra.createTime<1609459200
ocreateTime<2021-01-01
ocreateTime<"2021-01-01T00:00:00"
para encontrar los recursos de Google Cloud que se creada antes del 1-1-2021 a las 00:00:00 UTC. 1609459200 es la marca de tiempo de época del 2021-01-01 00:00:00 UTC en segundos.updateTime>1609459200
oupdateTime>2021-01-01
oupdateTime>"2021-01-01T00:00:00"
para encontrar los recursos de Google Cloud que se se actualiza después del 1-1-2021 a las 00:00:00 UTC. 1609459200 es la marca de tiempo de época del 2021-01-01 00:00:00 UTC en segundos.project:12345
para encontrar recursos de Google Cloud que pertenecen a una cuenta de Google Cloud con el número 12345. No se admite el ID del proyecto.folders:(123 or 456)
para encontrar recursos de Google Cloud que desciendan de la carpeta de Google Cloud con números 123 o 456.organization:123
para encontrar recursos de Google Cloud que descendienten de la organización de Google Cloud con el número 123.parentFullResourceName:ImportantName
para encontrar recursos de Google Cloud cuyo el nombre del elemento superior contieneImportantName
.parentAssetType:Project
para encontrar los recursos de Google Cloud cuyo el tipo de recurso contieneProject
.Important
para encontrar recursos de Google Cloud que contenganImportant
como una en cualquiera de los campos de búsqueda.Impor*
para encontrar recursos de Google Cloud que contenganImpor
como prefijo en cualquiera de los campos de búsqueda.Important location:(us-west1 OR global)
para encontrar recursos de Google Cloud que contengan la palabra "Importante" como una palabra en cualquiera de los campos de búsqueda también se encuentra en la regiónus-west1
o en la ubicaciónglobal
.
ASSET_TYPE
: Opcional Una lista separada por comas de 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 ningún tipo de recurso admitido, se muestra un errorINVALID_ARGUMENT
.ORDER_BY
: Opcional Una lista de campos separados por comas especificando el orden de clasificación de los resultados. El orden predeterminado es ascendente. Agrega" DESC"
después del nombre del campo para indicar un orden descendente. Redundante se ignoran los caracteres de espacio. Ejemplo:"location DESC, name"
. Solo singular los campos primitivos en la respuesta se pueden ordenar:name
assetType
project
displayName
description
location
createTime
updateTime
state
parentFullResourceName
parentAssetType
Todos los demás campos, como los campos repetidos (por ejemplo,
networkTags
,kmsKeys
), asigna campos (por ejemplo,labels
) y campos struct (por ejemplo, ejemplo,additionalAttributes
).READ_MASK
: Opcional Es una lista de campos separados por comas que especifican qué campos se deben mostrar en los resultados. Si no se especifica, todas excepto que se muestraversionedResources
. Si solo se especifica"*"
, se devuelven todos los campos. Ejemplos:"name,location"
,"name,versionedResources"
y"*"
.
Para obtener más información sobre cómo buscar recursos, consulta Busca recursos.
Buscar políticas de IAM
Para buscar políticas de Identity and Access Management (IAM), ejecuta el siguiente comando.
gcloud asset search-all-iam-policies \
--scope=SCOPE \
--query="QUERY" \
--asset-types=ASSET_TYPE_1,ASSET_TYPE_2,... \
--order-by="ORDER_BY"
Ingresa los siguientes valores:
SCOPE
: Opcional Un permiso puede ser un proyecto, una carpeta o una organización. La búsqueda se limita a los recursos de IAM en este alcance. El emisor debe tener el permisocloudasset.assets.searchAllIamPolicies
en el alcance deseado. Si no se especifica, el propiedad de proyecto configurada y control sobre el uso de sus datos.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 él. 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 el ID de una 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 a su nombre.
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))"
-
QUERY
: Opcional La instrucción de la consulta. Consulta Sintaxis de consultas para obtener más información. Si no se especifica o está vacío, Cloud Asset Inventory busca en todos los políticas en elscope
especificado. La cadena de consulta se compara con cada vinculación de política de IAM, incluidos sus principales, funciones y condiciones de IAM. Solo las políticas de IAM que se muestran contienen las vinculaciones que coinciden con tu consulta. Para obtener más información Estructura de la política de IAM, consulta Estructura de la política.Ejemplos:
policy:amy@gmail.com
para encontrar vinculaciones de políticas de IAM que especifica el usuarioamy@gmail.com
.policy:roles/compute.admin
para encontrar vinculaciones de políticas de IAM que especifica el rol Administrador de Compute.policy:comp*
para encontrar vinculaciones de políticas de IAM que contengancomp
como prefijo de cualquier palabra de la vinculaciónpolicy.role.permissions:storage.buckets.update
para encontrar la IAM vinculaciones de políticas que especifiquen un rol que contienestorage.buckets.update
permiso. Si los emisores no tienen accesoiam.roles.get
a los permisos incluidos en una función, las vinculaciones de políticas que especifiquen esta función se quitarán de los resultados de la búsqueda.policy.role.permissions:upd*
para encontrar vinculaciones de políticas de IAM que especifiquen un rol que contengaupd
como prefijo de cualquier palabra en el rol permiso. Ten en cuenta que si los emisores no tienen acceso deiam.roles.get
a un los permisos incluidos en el rol, se limitarán las vinculaciones de se eliminó de los resultados de búsqueda.resource:organizations/123456
para encontrar vinculaciones de políticas de IAM configurados en “organizations/123456”.resource=//cloudresourcemanager.googleapis.com/projects/myproject
para encontrar las vinculaciones de políticas de IAM que se establecenmyproject
Important
para encontrar vinculaciones de políticas de IAM que contenganImportant
como una palabra en cualquiera de los campos de búsqueda (excepto los permisos incluidos).resource:(instance1 OR instance2) policy:amy
para encontrar la IAM las vinculaciones de políticas que se establecen en los recursosinstance1
oinstance2
, y también especifica el usuarioamy
.roles:roles/compute.admin
para encontrar vinculaciones de políticas de IAM que especifica el rol Administrador de Compute.memberTypes:user
para encontrar vinculaciones de políticas de IAM que contengan el tipo de principaluser
.
ASSET_TYPE
: Opcional Es una lista separada por comas de los tipos de recursos que se pueden buscar a los que se adjuntan las políticas de IAM. Si está vacío, Cloud Asset Inventory busca las políticas de IAM que se adjuntan a todos tipos de recursos. Expresiones regulares compatibles. Si la expresión regular no coincide con ningún recurso admitido , se muestra un errorINVALID_ARGUMENT
.ORDER_BY
: Opcional Una lista de campos separados por comas especificando el orden de clasificación de los resultados. El orden predeterminado es ascendente. Agrega" DESC"
después del nombre del campo para indicar un orden descendente. Redundante se ignoran los caracteres de espacio. Ejemplo:"location DESC, name"
. Solo se pueden ordenar los campos primitivos singulares en la respuesta:resource
assetType
project
Todos los demás campos, como los campos repetidos (por ejemplo,
folders
) y los campos no primitivos (por ejemplo,policy
) no son compatibles.
Para obtener más información sobre cómo buscar políticas de IAM, consulta Busca políticas de IAM.
Exportar una instantánea de recursos a Cloud Storage
Para exportar todos los metadatos de activos de forma una marca de tiempo determinada a un archivo en un bucket de Cloud Storage, completa los siguientes pasos: pasos.
Crea un bucket nuevo si no tienes uno. que ya existe.
Para exportar metadatos de activos en tu proyecto, ejecuta el siguiente comando. Esta almacena la instantánea exportada en un archivo en
gs://BUCKET_NAME/FILENAME
Proyectos
gcloud asset export \ --project=PROJECT_ID \ --billing-project=BILLING_PROJECT_ID \ --content-type=CONTENT_TYPE \ --snapshot-time="SNAPSHOT_TIME" \ --output-path="gs://BUCKET_NAME/FILENAME"
Ingresa los siguientes valores:
PROJECT_ID
: Es el ID del proyecto cuyos metadatos deseas exportar.BILLING_PROJECT_ID
: Opcional El ID del proyecto que se encuentra el agente de servicio predeterminado de Cloud Asset Inventory que tiene permiso para escribir en tu bucket de Cloud Storage. No es necesario si realizaste ya has cambiado al proyecto de facturación congcloud config set project
Obtén más información sobre los proyectos de facturación.CONTENT_TYPE
: Opcional Es el tipo de contenido del activo que se exportará. Si no se especifica un tipo de contenido, solo se el nombre de usuario. Obtén más información sobre los tipos de contenido.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.BUCKET_NAME
: Es el nombre del El bucket de Cloud Storage en el que se escribirá.FILENAME
: Es el archivo de tu El bucket de Cloud Storage en el que se escribirá.
Carpetas
gcloud asset export \ --folder=FOLDER_ID \ --billing-project=BILLING_PROJECT_ID \ --content-type=CONTENT_TYPE \ --snapshot-time="SNAPSHOT_TIME" \ --output-path="gs://BUCKET_NAME/FILENAME"
Ingresa los siguientes valores:
FOLDER_ID
: El ID de la carpeta cuyo metadatos que quieres exportar.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
-
BILLING_PROJECT_ID
: Opcional El ID del proyecto que se encuentra el agente de servicio predeterminado de Cloud Asset Inventory que tiene permiso para escribir en tu bucket de Cloud Storage. No es necesario si realizaste ya has cambiado al proyecto de facturación congcloud config set project
Obtén más información sobre los proyectos de facturación.CONTENT_TYPE
: Opcional Es el tipo de contenido del activo que se exportará. Si no se especifica un tipo de contenido, solo se el nombre de usuario. Obtén más información sobre los tipos de contenido.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 consulta gcloud topic datetimes.BUCKET_NAME
: Es el nombre del El bucket de Cloud Storage en el que se escribirá.FILENAME
: Es el archivo de tu El bucket de Cloud Storage en el que se escribirá.
Organizaciones
gcloud asset export \ --organization=ORGANIZATION_ID \ --billing-project=BILLING_PROJECT_ID \ --content-type=CONTENT_TYPE \ --snapshot-time="SNAPSHOT_TIME" \ --output-path="gs://BUCKET_NAME/FILENAME"
Ingresa los siguientes valores:
ORGANIZATION_ID
: El ID de la organización cuyos metadatos deseas exportar.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 a su nombre.
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))"
-
BILLING_PROJECT_ID
: Opcional El ID del proyecto que se encuentra el agente de servicio predeterminado de Cloud Asset Inventory que tiene permiso para escribir en tu bucket de Cloud Storage. No es necesario si realizaste ya has cambiado al proyecto de facturación congcloud config set project
Obtén más información sobre los proyectos de facturación.CONTENT_TYPE
: Opcional El tipo de contenido de el recurso que se exportará. Si no se especifica un tipo de contenido, solo se el nombre de usuario. Obtén más información sobre los tipos de contenido.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.BUCKET_NAME
: Es el nombre del El bucket de Cloud Storage en el que se escribirá.FILENAME
: Es el archivo de tu El bucket de Cloud Storage en el que se escribirá.
Opcional: Para verificar el estado de la exportación, ejecuta el siguiente comando. Integra se muestra en gcloud CLI después de ejecutar el comando de exportación.
gcloud asset operations describe OPERATION_PATH
Visualiza el resumen de recursos
Sigue estos pasos para ver la instantánea del recurso después de exportarlo a Cloud Storage: completa los siguientes pasos.
Ve a la página Buckets de Cloud Storage en la consola de Google Cloud.
Abre el archivo en el que exportaste los metadatos.
El archivo de exportación enumera los recursos y sus nombres de recurso.
¿Qué sigue?
Obtén más información sobre Cloud Asset Inventory.
Obtén información sobre cómo obtener el historial de elementos.