En esta página, se explica cómo crear y administrar feeds en un proyecto.
Descripción general
Para recibir notificaciones en tiempo real sobre cambios en recursos y políticas, puedes crear un feed y suscribirte a él. Cuando configuras el feed, puedes especificar que deseas supervisar los cambios de los tipos de recursos, las políticas de IAM, las políticas de acceso y las políticas de la organización admitidos en una organización, carpeta o proyecto. Además, puedes agregar condiciones a tu feed para que solo recibas notificaciones de ciertos tipos de cambios en un recurso. Después de configurar el feed, recibirás de inmediato notificaciones cada vez que se modifiquen los elementos especificados, que se envían a través de Pub/Sub (con el formato TemporalAsset). Las notificaciones en tiempo real se conectan a tus cargas de trabajo existentes. Con esta funcionalidad, puedes combinar acciones como crear una Cloud Function para revertir un cambio de recurso después de que se detectó.
Antes de comenzar
Antes de comenzar, completa los pasos que se indican a continuación.
Habilita la API de Cloud Asset Inventory en el proyecto en el que ejecutarás los comandos de la API.
Configura los permisos necesarios para llamar a la API de Cloud Asset Inventory mediante la CLI de gcloud o la API.
Completa los siguientes pasos para configurar el entorno.
gcloud CLI
Si quieres configurar tu entorno para usar gcloud CLI y llamar a la API de Cloud Asset Inventory, instala Google Cloud CLI en tu cliente local.
REST
Si deseas configurar tu entorno para llamar a la API de Cloud Asset Inventory con el comando
curl
, completa los siguientes pasos.Confirma que tienes acceso al comando
curl
.Asegúrate de otorgar a tu cuenta uno de los siguientes roles en tu proyecto, organización o carpeta.
Función de visualizador de Cloud Asset (
roles/cloudasset.viewer
)Función básica de propietario (
roles/owner
)
Otorga a tu usuario o cuenta de servicio permisos para llamar a la API de los feeds en tiempo real. Se necesitan los siguientes permisos para cada operación:
Permiso Descripción cloudasset.feeds.create
cloudasset.assets.exportResource
Crea feeds cloudasset.feeds.update
cloudasset.assets.exportResource
Actualiza feeds cloudasset.feeds.delete
Borra feeds cloudasset.feeds.get
Obtén feeds cloudasset.feeds.list
Enumera feeds La función de propietario de Cloud Asset (
roles/cloudasset.owner
) otorga todos los permisos relacionados con la API de Cloud Asset, incluidos los permisos enumerados en la tabla anterior. Para obtener más información sobre las funciones y los permisos, consulta Información sobre las funciones y Configura permisos.Si exportas metadatos de un proyecto a otro, asegúrate de que la cuenta de servicio predeterminada de Cloud Asset Inventory exista y tenga los permisos correctos del proyecto de exportación.
Crea un tema de Pub/Sub si no tienes un tema de Pub/Sub existente.
Limitaciones
La creación, actualización o eliminación de un feed puede tardar hasta 10 minutos en efectuarse.
El proyecto de consumidor donde se crea el feed debe sobrevivir porque el cuenta de servicio que se usa para publicar en el tema de Pub/Sub de destino se encuentra en el proyecto de consumidor. Si se borra el proyecto del consumidor, Cloud Asset Inventory no puede publicar en el destino. El feed ya no funciona y se borra en cuanto la eliminación del proyecto es permanente.
Creación de feeds
Puedes crear hasta 200 feeds en un elemento superior. Este límite solo se aplica a los feeds que se producen inmediatamente después de ese elemento principal y no considera los feeds de sus elementos secundarios. Por ejemplo, si tienes 10 proyectos en una organización, cada proyecto puede tener hasta 200 feeds y la organización también puede tener hasta 200 feeds.
Si quieres crear un feed para proyectos, organizaciones o carpetas, realiza una de las siguientes solicitudes. Cloud Asset Inventory establece una notificación para cualquier recurso que coincida con al menos uno de los parámetros ASSET
de tu feed Y también coincide con la expresión de condición, si se especifica.
gcloud
Proyectos
gcloud asset feeds create FEED_ID \
--project=PROJECT_ID \
--billing-project=BILLING_PROJECT_ID \
--pubsub-topic=projects/PROJECT_ID/topics/TOPIC_ID \
--asset-names=ASSET_NAME_1,ASSET_NAME_2,... \
--asset-types=ASSET_TYPE_1,ASSET_TYPE_2,... \
--content-type=CONTENT_TYPE \
--condition-title="CONDITION_TITLE" \
--condition-description="CONDITION_DESCRIPTION" \
--condition-expression="CONDITION_EXPRESSION"
Ingresa los siguientes valores:
FEED_ID
: Es un identificador único de feed de recursos.PROJECT_ID
: Es el ID del proyecto cuyos metadatos se envían al feed.BILLING_PROJECT_ID
: Opcional El ID del proyecto en el que se encuentra el agente de servicio predeterminado de Cloud Asset Inventory y que tiene permisos para administrar tu tema de Pub/Sub. Obtén más información sobre los proyectos de facturación.TOPIC_ID
: Es el ID del tema de Pub/Sub en el que se publicarán las notificaciones.ASSET_NAME
: Opcional Una lista separada por comas de los nombres completos de los elementos para los que deseas recibir notificaciones de cambios.Se requiere al menos un
ASSET_NAME
oASSET_TYPE
.ASSET_TYPE
: Opcional Una lista separada por comas de los tipos de recursos que se pueden buscar para los que quieres recibir notificaciones de cambios. 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
.Se requiere al menos un
ASSET_NAME
oASSET_TYPE
.CONTENT_TYPE
: Opcional El tipo de contenido del elemento para el que deseas recibir notificaciones de cambios.CONDITION_TITLE
: Opcional Es el título de la condición que se aplicará al feed.CONDITION_DESCRIPTION
: Opcional Es la descripción de la condición que se aplicará al feed.CONDITION_EXPRESSION
: Opcional La expresión de condición que se aplicará al feed.
Carpetas
gcloud asset feeds create FEED_ID \
--folder=FOLDER_ID \
--billing-project=BILLING_PROJECT_ID \
--pubsub-topic=projects/PROJECT_ID/topics/TOPIC_ID \
--asset-names=ASSET_NAME_1,ASSET_NAME_2,... \
--asset-types=ASSET_TYPE_1,ASSET_TYPE_2,... \
--content-type=CONTENT_TYPE \
--condition-title="CONDITION_TITLE" \
--condition-description="CONDITION_DESCRIPTION" \
--condition-expression="CONDITION_EXPRESSION"
Ingresa los siguientes valores:
FEED_ID
: Es un identificador único de feed de recursos.FOLDER_ID
: Es el ID de la carpeta cuyos metadatos se envían al feed.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
-
BILLING_PROJECT_ID
: Opcional El ID del proyecto en el que se encuentra el agente de servicio predeterminado de Cloud Asset Inventory y que tiene permisos para administrar tu tema de Pub/Sub. Obtén más información sobre los proyectos de facturación.PROJECT_ID
: Es el ID del proyecto en el que se encuentra el tema de Pub/Sub.TOPIC_ID
: Es el ID del tema de Pub/Sub en el que se publicarán las notificaciones.ASSET_NAME
: Opcional Una lista separada por comas de los nombres completos de los elementos para los que deseas recibir notificaciones de cambios.Se requiere al menos un
ASSET_NAME
oASSET_TYPE
.ASSET_TYPE
: Opcional Una lista separada por comas de los tipos de recursos que se pueden buscar para los que quieres recibir notificaciones de cambios. Se admiten las expresiones regulares. Si la expresión regular no coincide con ningún tipo de elemento compatible, se mostrará un errorINVALID_ARGUMENT
.Se requiere al menos un
ASSET_NAME
oASSET_TYPE
.CONTENT_TYPE
: Opcional El tipo de contenido del elemento para el que deseas recibir notificaciones de cambios.CONDITION_TITLE
: Opcional Es el título de la condición que se aplicará al feed.CONDITION_DESCRIPTION
: Opcional Es la descripción de la condición que se aplicará al feed.CONDITION_EXPRESSION
: Opcional La expresión de condición que se aplicará al feed.
Organizaciones
gcloud asset feeds create FEED_ID \
--organization=ORGANIZATION_ID \
--billing-project=BILLING_PROJECT_ID \
--pubsub-topic=projects/PROJECT_ID/topics/TOPIC_ID \
--asset-names=ASSET_NAME_1,ASSET_NAME_2,... \
--asset-types=ASSET_TYPE_1,ASSET_TYPE_2,... \
--content-type=CONTENT_TYPE \
--condition-title="CONDITION_TITLE" \
--condition-description="CONDITION_DESCRIPTION" \
--condition-expression="CONDITION_EXPRESSION"
Ingresa los siguientes valores:
FEED_ID
: Es un identificador único de feed de recursos.ORGANIZATION_ID
: Es el ID del proyecto cuyos metadatos se envían al feed.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))"
-
BILLING_PROJECT_ID
: Opcional El ID del proyecto en el que se encuentra el agente de servicio predeterminado de Cloud Asset Inventory y que tiene permisos para administrar tu tema de Pub/Sub. Obtén más información sobre los proyectos de facturación.PROJECT_ID
: Es el ID del proyecto en el que se encuentra el tema de Pub/Sub.TOPIC_ID
: Es el ID del tema de Pub/Sub en el que se publicarán las notificaciones.ASSET_NAME
: Opcional Una lista separada por comas de los nombres completos de los elementos para los que deseas recibir notificaciones de cambios.Se requiere al menos un
ASSET_NAME
oASSET_TYPE
.ASSET_TYPE
: Opcional Una lista separada por comas de los tipos de recursos que se pueden buscar para los que quieres recibir notificaciones de cambios. Se admiten las expresiones regulares. Si la expresión regular no coincide con ningún tipo de elemento compatible, se mostrará un errorINVALID_ARGUMENT
.Se requiere al menos un
ASSET_NAME
oASSET_TYPE
.CONTENT_TYPE
: Opcional El tipo de contenido del elemento para el que deseas recibir notificaciones de cambios.CONDITION_TITLE
: Opcional Es el título de la condición que se aplicará al feed.CONDITION_DESCRIPTION
: Opcional Es la descripción de la condición que se aplicará al feed.CONDITION_EXPRESSION
: Opcional La expresión de condición que se aplicará al feed.
REST
curl -X POST \
-H "X-Goog-User-Project: BILLING_PROJECT_ID" \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d '{
"feedId": "FEED_ID",
"feed": {
"assetNames": [
"ASSET_NAME_1",
"ASSET_NAME_2",
"..."
],
"assetTypes": [
"ASSET_TYPE_1",
"ASSET_TYPE_2",
"..."
],
"contentType": "CONTENT_TYPE",
"feedOutputConfig": {
"pubsubDestination": {
"topic": "projects/PROJECT_ID/topics/TOPIC_ID"
}
},
"condition": {
"title": "CONDITION_TITLE",
"description": "CONDITION_DESCRIPTION",
"expression": "CONDITION_EXPRESSION"
}
}
}' \
https://cloudasset.googleapis.com/v1/SCOPE/feeds
Ingresa los siguientes valores:
BILLING_PROJECT_ID
: Opcional El ID del proyecto en el que se encuentra el agente de servicio predeterminado de Cloud Asset Inventory y que tiene permisos para administrar tu tema de Pub/Sub. Obtén más información sobre los proyectos de facturación.FEED_ID
: Es un identificador único de feed de recursos.ASSET_NAME
: Opcional Una lista separada por comas de los nombres completos de los elementos para los que quieres recibir notificaciones de cambios.Se requiere al menos un
ASSET_NAME
oASSET_TYPE
.ASSET_TYPE
: Opcional Una lista separada por comas de los tipos de recursos que se pueden buscar para los que quieres recibir notificaciones de cambios. Se admiten las expresiones regulares. Si la expresión regular no coincide con ningún tipo de elemento compatible, se mostrará un errorINVALID_ARGUMENT
.Se requiere al menos un
ASSET_NAME
oASSET_TYPE
.CONTENT_TYPE
: Opcional El tipo de contenido del elemento para el que deseas recibir notificaciones de cambios.PROJECT_ID
: Es el ID del proyecto en el que se encuentra el tema de Pub/Sub.TOPIC_ID
: Es el ID del tema de Pub/Sub en el que se publicarán notificaciones.CONDITION_TITLE
: Opcional Es el título de la condición que se aplicará al feed.CONDITION_DESCRIPTION
: Opcional Es la descripción de la condición que se aplicará al feed.CONDITION_EXPRESSION
: Opcional La expresión de condition que se aplicará al feed.SCOPE
: Un permiso 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
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))"
-
Después de crear un feed, suscríbete a las actualizaciones del tema de Pub/Sub que especificaste en el feed. Un feed nuevo puede tardar hasta 10 minutos en comenzar a enviar notificaciones. Se envía una notificación por cada cambio que se realice en un recurso que coincida con assetNames
o assetTypes
y que cumpla con la condition
del feed.
El primer mensaje publicado en el tema de Pub/Sub es un mensaje de bienvenida en el formato de string y todos los mensajes siguientes están en el formato TemporalAsset.
Este es un mensaje de muestra para el tipo de contenido RESOURCE
.
{
"asset": {
"ancestors": [
"projects/[PROJECT_ID]",
"folders/[FOLDER_ID]",
"organizations/[ORGANIZATION_ID]"
],
"assetType": "[ASSET_TYPE]",
"name": "[ASSET_NAME]",
"resource": {
"data": {
...detailed resource metadata...
},
"discoveryDocumentUri": "[DISCOVERY_URI]",
"discoveryName": "[DISCOVERY_NAME]",
"location": "[LOCATION]",
"parent": "[PARENT_ASSET_NAME]",
"version": "[VERSION]"
},
"updateTime": "[UPDATE_TIME]"
},
"priorAsset": {
...prior asset information...
},
"priorAssetState": "[PRIOR_ASSET_STATE]",
"window": {
"startTime": "[UPDATE_TIME]"
}
}
Para obtener más información sobre Pub/Sub o cómo configurar suscripciones, consulta la documentación de Pub/Sub.
Crea un feed para los cambios en el bucket de Cloud Storage o en la tabla de BigQuery
Con los siguientes comandos, se crean notificaciones del tema TOPIC_ID
de Pub/Sub cuando el contenido cambia en el bucket BUCKET_NAME
de Cloud Storage o en cualquier tabla de BigQuery:
gcloud
Proyectos
gcloud asset feeds create FEED_ID \
--project=PROJECT_ID \
--billing-project=BILLING_PROJECT_ID \
--pubsub-topic="projects/PROJECT_ID/topics/TOPIC_ID" \
--asset-names=//storage.googleapis.com/BUCKET_NAME \
--asset-types=bigquery.googleapis.com/Table \
--content-type=resource
Ingresa los siguientes valores:
FEED_ID
: Es un identificador único de feed de recursos.PROJECT_ID
: Es el ID del proyecto cuyos metadatos se envían al feed.BILLING_PROJECT_ID
: Opcional El ID del proyecto en el que se encuentra el agente de servicio predeterminado de Cloud Asset Inventory y que tiene permisos para administrar tu tema de Pub/Sub. Obtén más información sobre los proyectos de facturación.TOPIC_ID
: Es el ID del tema de Pub/Sub en el que se publicarán las notificaciones.BUCKET_NAME
: Es el nombre del bucket de Cloud Storage que se supervisará.
Carpetas
gcloud asset feeds create FEED_ID \
--folder=FOLDER_ID \
--billing-project=BILLING_PROJECT_ID \
--pubsub-topic="projects/PROJECT_ID/topics/TOPIC_ID" \
--asset-names=//storage.googleapis.com/BUCKET_NAME \
--asset-types=bigquery.googleapis.com/Table \
--content-type=resource
Ingresa los siguientes valores:
FEED_ID
: Es un identificador único de feed de recursos.FOLDER_ID
: Es el ID de la carpeta cuyos metadatos se envían al feed.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
-
BILLING_PROJECT_ID
: Opcional El ID del proyecto en el que se encuentra el agente de servicio predeterminado de Cloud Asset Inventory y que tiene permisos para administrar tu tema de Pub/Sub. Obtén más información sobre los proyectos de facturación.TOPIC_ID
: Es el ID del tema de Pub/Sub en el que se publicarán las notificaciones.BUCKET_NAME
: Es el nombre del bucket de Cloud Storage que se supervisará.
Organizaciones
gcloud asset feeds create FEED_ID \
--organization=ORGANIZATION_ID \
--billing-project=BILLING_PROJECT_ID \
--pubsub-topic="projects/PROJECT_ID/topics/TOPIC_ID" \
--asset-names=//storage.googleapis.com/BUCKET_NAME \
--asset-types=bigquery.googleapis.com/Table \
--content-type=resource
Ingresa los siguientes valores:
FEED_ID
: Es un identificador único de feed de recursos.ORGANIZATION_ID
: Es el ID de la organización cuyos metadatos se envían al feed.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))"
-
BILLING_PROJECT_ID
: Opcional El ID del proyecto en el que se encuentra el agente de servicio predeterminado de Cloud Asset Inventory y que tiene permisos para administrar tu tema de Pub/Sub. Obtén más información sobre los proyectos de facturación.TOPIC_ID
: Es el ID del tema de Pub/Sub en el que se publicarán las notificaciones.BUCKET_NAME
: Es el nombre del bucket de Cloud Storage que se supervisará.
REST
curl -X POST \
-H "X-Goog-User-Project: BILLING_PROJECT_ID" \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d '{
"feedId": "FEED_ID",
"feed": {
"assetNames": ["storage.googleapis.com/BUCKET_NAME"],
"assetTypes": ["bigquery.googleapis.com/Table"],
"contentType": "RESOURCE",
"feedOutputConfig": {
"pubsubDestination": {
"topic": "projects/PROJECT_ID/topics/TOPIC_ID"
}
}
}
}' \
https://cloudasset.googleapis.com/v1/SCOPE/feeds
Ingresa los siguientes valores:
BILLING_PROJECT_ID
: Opcional El ID del proyecto en el que se encuentra el agente de servicio predeterminado de Cloud Asset Inventory y que tiene permisos para administrar tu tema de Pub/Sub. Obtén más información sobre los proyectos de facturación.FEED_ID
: Es un identificador único de feed de recursos.BUCKET_NAME
: Es el nombre del bucket de Cloud Storage que se supervisará.PROJECT_ID
: Es el ID del proyecto cuyos metadatos se envían al feed.TOPIC_ID
: Es el ID del tema de Pub/Sub en el que se publicarán las notificaciones.SCOPE
: Un permiso 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
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))"
-
Las notificaciones solo se envían cuando se cambian los metadatos del recurso o la política del recurso. En el ejemplo anterior, cambiar un recurso en los buckets de Cloud Storage o en las tablas de BigQuery no activa una notificación.
Cómo crear un feed para los cambios en los tipos de recursos
Las siguientes solicitudes crean notificaciones del tema TOPIC_ID
de Pub/Sub cuando el contenido cambia en los recursos cuyo tipo de recurso comienza con compute.googleapis.com
.
gcloud
Proyectos
gcloud asset feeds create FEED_ID \
--project=PROJECT_ID \
--billing-project=BILLING_PROJECT_ID \
--pubsub-topic="projects/PROJECT_ID/topics/TOPIC_ID" \
--content-type=resource \
--asset-types=compute.googleapis.com.*
Ingresa los siguientes valores:
FEED_ID
: Es un identificador único de feed de recursos.PROJECT_ID
: Es el ID del proyecto cuyos metadatos se envían al feed.BILLING_PROJECT_ID
: Opcional El ID del proyecto en el que se encuentra el agente de servicio predeterminado de Cloud Asset Inventory y que tiene permisos para administrar tu tema de Pub/Sub. Obtén más información sobre los proyectos de facturación.TOPIC_ID
: Es el ID del tema de Pub/Sub en el que se publicarán las notificaciones.
Carpetas
gcloud asset feeds create FEED_ID \
--folder=FOLDER_ID \
--billing-project=BILLING_PROJECT_ID \
--pubsub-topic="projects/PROJECT_ID/topics/TOPIC_ID" \
--content-type=resource \
--asset-types=compute.googleapis.com.*
Ingresa los siguientes valores:
FEED_ID
: Es un identificador único de feed de recursos.FOLDER_ID
: Es el ID de la carpeta cuyos metadatos se envían al feed.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
-
BILLING_PROJECT_ID
: Opcional El ID del proyecto en el que se encuentra el agente de servicio predeterminado de Cloud Asset Inventory y que tiene permisos para administrar tu tema de Pub/Sub. Obtén más información sobre los proyectos de facturación.TOPIC_ID
: Es el ID del tema de Pub/Sub en el que se publicarán las notificaciones.
Organizaciones
gcloud asset feeds create FEED_ID \
--organization=ORGANIZATION_ID \
--billing-project=BILLING_PROJECT_ID \
--pubsub-topic="projects/PROJECT_ID/topics/TOPIC_ID" \
--content-type=resource \
--asset-types=compute.googleapis.com.*
Ingresa los siguientes valores:
FEED_ID
: Es un identificador único de feed de recursos.ORGANIZATION_ID
: Es el ID de la organización cuyos metadatos se envían al feed.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))"
-
BILLING_PROJECT_ID
: Opcional El ID del proyecto en el que se encuentra el agente de servicio predeterminado de Cloud Asset Inventory y que tiene permisos para administrar tu tema de Pub/Sub. Obtén más información sobre los proyectos de facturación.TOPIC_ID
: Es el ID del tema de Pub/Sub en el que se publicarán las notificaciones.
REST
curl -X POST \
-H "X-Goog-User-Project: BILLING_PROJECT_ID" \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d '{
"feedId": "FEED_ID",
"feed": {
"assetTypes": ["compute.googleapis.com.*"],
"contentType": "RESOURCE",
"feedOutputConfig": {
"pubsubDestination": {
"topic": "projects/PROJECT_ID/topics/TOPIC_ID"
}
}
}
}' \
https://cloudasset.googleapis.com/v1/SCOPE/feeds
Ingresa los siguientes valores:
BILLING_PROJECT_ID
: Opcional El ID del proyecto en el que se encuentra el agente de servicio predeterminado de Cloud Asset Inventory y que tiene permisos para administrar tu tema de Pub/Sub. Obtén más información sobre los proyectos de facturación.FEED_ID
: Es un identificador único de feed de recursos.PROJECT_ID
: Es el ID del proyecto cuyos metadatos se envían al feed.TOPIC_ID
: Es el ID del tema de Pub/Sub en el que se publicarán las notificaciones.SCOPE
: Un permiso 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
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))"
-
Obteniendo feeds
Para obtener un feed específico, realiza una de las siguientes solicitudes.
gcloud
Proyectos
gcloud asset feeds describe FEED_ID \
--project=PROJECT_ID \
--billing-project=BILLING_PROJECT_ID
Ingresa los siguientes valores:
FEED_ID
: Es un identificador único de feed de recursos.PROJECT_ID
: Es el ID del proyecto cuyos metadatos se publican en el feed.BILLING_PROJECT_ID
: Opcional El ID del proyecto en el que se encuentra el agente de servicio predeterminado de Cloud Asset Inventory y que tiene permisos para administrar tu tema de Pub/Sub. Obtén más información sobre los proyectos de facturación.
Carpetas
gcloud asset feeds describe FEED_ID \
--folder=FOLDER_ID \
--billing-project=BILLING_PROJECT_ID
Ingresa los siguientes valores:
FEED_ID
: Es un identificador único de feed de recursos.FOLDER_ID
: Es el ID de la carpeta cuyos metadatos se publican en el feed.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
-
BILLING_PROJECT_ID
: Opcional El ID del proyecto en el que se encuentra el agente de servicio predeterminado de Cloud Asset Inventory y que tiene permisos para administrar tu tema de Pub/Sub. Obtén más información sobre los proyectos de facturación.
Organizaciones
gcloud asset feeds describe FEED_ID \
--organization=ORGANIZATION_ID \
--billing-project=BILLING_PROJECT_ID
Ingresa los siguientes valores:
FEED_ID
: Es un identificador único de feed de recursos.ORGANIZATION_ID
: Es el ID de la organización cuyos metadatos se publican en el feed.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))"
-
BILLING_PROJECT_ID
: Opcional El ID del proyecto en el que se encuentra el agente de servicio predeterminado de Cloud Asset Inventory y que tiene permisos para administrar tu tema de Pub/Sub. Obtén más información sobre los proyectos de facturación.
REST
curl -X GET \
-H "X-Goog-User-Project: BILLING_PROJECT_ID" \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
https://cloudasset.googleapis.com/v1/SCOPE/feeds/FEED_ID
Ingresa los siguientes valores:
BILLING_PROJECT_ID
: Opcional El ID del proyecto en el que se encuentra el agente de servicio predeterminado de Cloud Asset Inventory y que tiene permisos para administrar tu tema de Pub/Sub. Obtén más información sobre los proyectos de facturación.SCOPE
: Un permiso puede ser un proyecto, una carpeta o una organización. No se admiten los IDs de proyecto.Los valores permitidos son los siguientes:
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))"
-
FEED_ID
: Es un identificador único de feed de recursos.
El feed se muestra en el siguiente formato, en el que FULL_NAME_FEED_ID
es el identificador del feed junto con su recurso superior:
{
"name": "FULL_NAME_FEED_ID",
"assetTypes": ["ASSET_TYPES"],
"assetNames": ["ASSET_NAMES"],
"contentType": "CONTENT_TYPES",
"feedOutputConfig": {
"pubsubDestination": {
"topic": "projects/PROJECT_ID/topics/TOPIC_ID"
}
},
"condition": {
"title": "CONDITION_TITLE",
"description": "CONDITION_DESCRIPTION",
"expression": "CONDITION_EXPRESSION"
}
}
Feeds de fichas
Para enumerar todos los feeds de un proyecto, una carpeta o una organización, realiza una de las siguientes solicitudes.
gcloud
Proyectos
gcloud asset feeds list \
--project=PROJECT_ID \
--billing-project=BILLING_PROJECT_ID
Ingresa los siguientes valores:
PROJECT_ID
: Es el ID del proyecto cuyos metadatos se publican en el feed.BILLING_PROJECT_ID
: Opcional El ID del proyecto en el que se encuentra el agente de servicio predeterminado de Cloud Asset Inventory y que tiene permisos para administrar tu tema de Pub/Sub. Obtén más información sobre los proyectos de facturación.
Carpetas
gcloud asset feeds list \
--folder=FOLDER_ID \
--billing-project=BILLING_PROJECT_ID
Ingresa los siguientes valores:
FOLDER_ID
: Es el ID de la carpeta cuyos metadatos se publican en el feed.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
-
BILLING_PROJECT_ID
: Opcional El ID del proyecto en el que se encuentra el agente de servicio predeterminado de Cloud Asset Inventory y que tiene permisos para administrar tu tema de Pub/Sub. Obtén más información sobre los proyectos de facturación.
Organizaciones
gcloud asset feeds list \
--organization=ORGANIZATION_ID \
--billing-project=BILLING_PROJECT_ID
Ingresa los siguientes valores:
ORGANIZATION_ID
: Es el ID de la organización cuyos metadatos se publican en el feed.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))"
-
BILLING_PROJECT_ID
: Opcional El ID del proyecto en el que se encuentra el agente de servicio predeterminado de Cloud Asset Inventory y que tiene permisos para administrar tu tema de Pub/Sub. Obtén más información sobre los proyectos de facturación.
REST
curl -X GET \
-H "X-Goog-User-Project: BILLING_PROJECT_ID" \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
https://cloudasset.googleapis.com/v1/SCOPE/feeds
Ingresa los siguientes valores:
BILLING_PROJECT_ID
: Opcional El ID del proyecto en el que se encuentra el agente de servicio predeterminado de Cloud Asset Inventory y que tiene permisos para administrar tu tema de Pub/Sub. Obtén más información sobre los proyectos de facturación.SCOPE
: Un permiso 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
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))"
-
Actualizando feeds
Para actualizar los atributos de un feed, debes especificar la ruta de acceso del atributo en el update_mask
y el valor de ese atributo. En la siguiente solicitud,
se actualizan los valores assetNames
y topic
de un feed en un proyecto.
gcloud
Proyectos
gcloud asset feeds update FEED_ID \
--project=PROJECT_ID \
--billing-project=BILLING_PROJECT_ID \
--pubsub-topic="projects/PROJECT_ID/topics/TOPIC_ID" \
--add-asset-names=ASSET_NAME_1,ASSET_NAME_2,...
Ingresa los siguientes valores:
PROJECT_ID
: Es el ID del proyecto cuyos metadatos se publican en el feed.BILLING_PROJECT_ID
: Opcional El ID del proyecto en el que se encuentra el agente de servicio predeterminado de Cloud Asset Inventory y que tiene permisos para administrar tu tema de Pub/Sub. Obtén más información sobre los proyectos de facturación.TOPIC_ID
: Es el ID del tema de Pub/Sub en el que se publican las notificaciones.ASSET_NAME
: Opcional Una lista separada por comas de los nombres completos de los elementos para los que deseas recibir notificaciones de cambios.
Carpetas
gcloud asset feeds update FEED_ID \
--folder=FOLDER_ID \
--billing-project=BILLING_PROJECT_ID \
--pubsub-topic="projects/PROJECT_ID/topics/TOPIC_ID" \
--add-asset-names=ASSET_NAME_1,ASSET_NAME_2,...
Ingresa los siguientes valores:
FOLDER_ID
: Es el ID de la carpeta cuyos metadatos se publican en el feed.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
-
BILLING_PROJECT_ID
: Opcional El ID del proyecto en el que se encuentra el agente de servicio predeterminado de Cloud Asset Inventory y que tiene permisos para administrar tu tema de Pub/Sub. Obtén más información sobre los proyectos de facturación.PROJECT_ID
: Es el ID del proyecto en el que se encuentra el tema de Pub/Sub.TOPIC_ID
: Es el ID del tema de Pub/Sub en el que se publican las notificaciones.ASSET_NAME
: Opcional Una lista separada por comas de los nombres completos de los elementos para los que deseas recibir notificaciones de cambios.
Organizaciones
gcloud asset feeds update FEED_ID \
--organization=ORGANIZATION_ID \
--billing-project=BILLING_PROJECT_ID \
--pubsub-topic="projects/PROJECT_ID/topics/TOPIC_ID" \
--add-asset-names=ASSET_NAME_1,ASSET_NAME_2,...
Ingresa los siguientes valores:
ORGANIZATION_ID
: Es el ID de la organización cuyos metadatos se publican en el feed.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))"
-
BILLING_PROJECT_ID
: Opcional El ID del proyecto en el que se encuentra el agente de servicio predeterminado de Cloud Asset Inventory y que tiene permisos para administrar tu tema de Pub/Sub. Obtén más información sobre los proyectos de facturación.PROJECT_ID
: Es el ID del proyecto en el que se encuentra el tema de Pub/Sub.TOPIC_ID
: Es el ID del tema de Pub/Sub en el que se publican las notificaciones.ASSET_NAME
: Opcional Una lista separada por comas de los nombres completos de los elementos para los que deseas recibir notificaciones de cambios.
REST
curl -X PATCH \
-H "X-Goog-User-Project: BILLING_PROJECT_ID" \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d '{
"feed": {
"assetNames": [
"ASSET_NAME_1",
"ASSET_NAME_2",
"..."
],
"feedOutputConfig": {
"pubsubDestination": {
"topic": "projects/PROJECT_ID/topics/TOPIC_ID"
}
}
},
"update_mask": {
"paths": ["asset_names", "feed_output_config.pubsub_destination.topic"]
}
}' \
https://cloudasset.googleapis.com/v1/SCOPE/feeds/FEED_ID
Ingresa los siguientes valores:
BILLING_PROJECT_ID
: Opcional El ID del proyecto en el que se encuentra el agente de servicio predeterminado de Cloud Asset Inventory y que tiene permisos para administrar tu tema de Pub/Sub. Obtén más información sobre los proyectos de facturación.ASSET_NAME
: Opcional Una lista separada por comas de los nombres completos de los elementos para los que quieres recibir notificaciones de cambios.PROJECT_ID
: Es el ID del proyecto en el que se encuentra el tema de Pub/Sub.TOPIC_ID
: Es el ID del tema de Pub/Sub en el que se publican las notificaciones.SCOPE
: Un permiso puede ser un proyecto, una carpeta o una organización. No se admiten los IDs de proyecto.Los valores permitidos son los siguientes:
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))"
-
Borrando feeds
Si ya no deseas recibir notificaciones de los cambios de recursos, usa el siguiente comando para borrar un feed de un proyecto.
gcloud
Proyectos
gcloud asset feeds delete FEED_ID \
--project=PROJECT_ID \
--billing-project=BILLING_PROJECT_ID
Ingresa los siguientes valores:
PROJECT_ID
: Es el ID del proyecto cuyos metadatos se publican en el feed.BILLING_PROJECT_ID
: Opcional El ID del proyecto en el que se encuentra el agente de servicio predeterminado de Cloud Asset Inventory y que tiene permisos para administrar tu tema de Pub/Sub. Obtén más información sobre los proyectos de facturación.
Carpetas
gcloud asset feeds delete FEED_ID \
--folder=FOLDER_ID \
--billing-project=BILLING_PROJECT_ID
Ingresa los siguientes valores:
FOLDER_ID
: Es el ID de la carpeta cuyos metadatos se publican en el feed.BILLING_PROJECT_ID
: Opcional El ID del proyecto en el que se encuentra el agente de servicio predeterminado de Cloud Asset Inventory y que tiene permisos para administrar tu tema de Pub/Sub. Obtén más información sobre los proyectos de facturación.
Organizaciones
gcloud asset feeds delete FEED_ID \
--organization=ORGANIZATION_ID \
--billing-project=BILLING_PROJECT_ID
Ingresa los siguientes valores:
ORGANIZATION_ID
: Es el ID de la organización cuyos metadatos se publican en el feed.BILLING_PROJECT_ID
: Opcional El ID del proyecto en el que se encuentra el agente de servicio predeterminado de Cloud Asset Inventory y que tiene permisos para administrar tu tema de Pub/Sub. Obtén más información sobre los proyectos de facturación.
REST
curl -X DELETE \
-H "X-Goog-User-Project: BILLING_PROJECT_ID" \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
https://cloudasset.googleapis.com/v1/SCOPE/feeds/FEED_ID
Ingresa los siguientes valores:
BILLING_PROJECT_ID
: Opcional El ID del proyecto en el que se encuentra el agente de servicio predeterminado de Cloud Asset Inventory y que tiene permisos para administrar tu tema de Pub/Sub. Obtén más información sobre los proyectos de facturación.SCOPE
: Un permiso puede ser un proyecto, una carpeta o una organización. No se admiten los IDs de proyecto.Los valores permitidos son los siguientes:
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))"
-
Soluciona problemas
En esta sección, se muestra cómo solucionar problemas conocidos.
Error al crear o actualizar los feeds
Si falla la creación o actualización de un feed, es posible que se deba a un problema con los permisos. Cada solicitud de actualización o creación de feed incluye tres partes: el proyecto de consumidor que se usa para llamar a la API, el superior de destino que se supervisará y el tema de Pub/Sub de destino para recibir la notificación.
Para crear o actualizar un feed, se requieren los siguientes permisos:
El emisor o la cuenta de servicio deben tener permisos de recursos en el superior de destino (que puede ser un proyecto, una carpeta o una organización).
La cuenta de servicio del recurso (
service-PROJECT_NUMBER@gcp-sa-cloudasset.iam.gserviceaccount.com
) en el proyecto de consumidor habilitado para la API de Cloud Asset debe tener el permisopubsub.topics.publish
en el tema de Pub/Sub de destino.
Un mensaje de error que contenga does not have permission
podría indicar que el usuario o la cuenta de servicio no tiene los permisos de elementos. Obtén más información sobre los permisos necesarios.
Un mensaje de error que contenga
Fail to use TOPIC_ID as feed output destination
podría
indicar que hay un problema al publicar el mensaje en el tema que
especificaste en el destino de salida del feed. Para resolver el problema, sigue estos pasos:
Si usas Google Cloud CLI, asegúrate de usar el proyecto correcto:
gcloud config list project
Asegúrate de haber especificado el nombre correcto del tema.
Asegúrate de que la cuenta de servicio (
service-PROJECT_NUMBER@gcp-sa-cloudasset.iam.gserviceaccount.com
) tenga el permisopubsub.topics.publish
sobre el tema, en el quePROJECT_NUMBER
es el número del proyecto habilitado para Cloud Asset Inventory desde el que planeas crear el feed.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)"
-
Errores en la recepción de actualizaciones de recursos o actualizaciones de políticas de IAM
Si no recibes notificaciones sobre las actualizaciones de los recursos o las políticas de IAM, verifica los siguientes detalles de configuración para resolver el problema:
Asegúrate de que los metadatos hayan cambiado en tus recursos. El feed en tiempo real solo envía actualizaciones cuando cambian los metadatos de los tipos de recursos admitidos; las operaciones como subir un archivo nuevo a tu bucket de Cloud Storage no activan un cambio de metadatos.
Asegúrate de que tus recursos cumplan con uno de los criterios que especificaste en el feed, que son los nombres de los recursos y los tipos de recursos.
Revisa los registros para ver si hay errores cuendo se publican actualizaciones en el tema.
Usa Cloud Logging
En esta sección, se describe cómo configurar y ver Logging para los feeds en tiempo real de Cloud Asset Inventory.
Cuando los feeds en tiempo real no pueden enviar recursos ni actualizaciones de las políticas de IAM a través de Pub/Sub, Cloud Asset Inventory registra el estado de error y el mensaje a través de Logging. Logging está habilitado de forma predeterminada y pertenece a la observabilidad de Google Cloud. Obtén más información sobre los precios de observabilidad de Google Cloud.
Visualiza registros del feed en tiempo real
Para ver los registros, ve al Explorador de registros.
El registro de feeds en tiempo real se indexa por un tema de Pub/Sub. Para ver todos los registros, sigue estos pasos:
Haz clic en el cuadro combinado Recurso, que se encuentra junto al cuadro Buscar todos los campos.
Busca
Cloud Pub/Sub Topic
y, luego, haz clic en el tipo de recurso Tema de Cloud Pub/Sub.Haz clic en el ID del tema que deseas ver.
Haz clic en Aplicar.
Se aplica la codificación UTF-8 a los campos de registro. Los caracteres que no son caracteres UTF-8 se reemplazan con signos de interrogación.
Información registrada
Las entradas de registro de feed en tiempo real contienen los siguientes tipos de información:
Información general que se muestra en la mayoría de los registros de Google Cloud, como la gravedad, el ID del proyecto, el número del proyecto o la marca de tiempo.
Campos de registro de feeds en tiempo real en
jsonPayload
, que contienen el nombre del recurso, la configuración de salida del feed y el estado de error cuando se publican recursos o actualizaciones de la política de IAM.
En la siguiente tabla, se muestra qué tipo de información contiene cada campo.
Campo | Tipo y descripción |
---|---|
name |
Nombre completo del feed El formato es uno de los siguientes:
|
asset_name |
El nombre completo del recurso para recibir actualizaciones. Por ejemplo:
Consulta Nombres de recursos para obtener más información. |
feed_output_config |
Configuración de salida del feed que define dónde se publican las actualizaciones de los elementos. |
condition |
Condición del feed que determina si se debe publicar una actualización de elementos. |
error_status |
Estado que se muestra cuando se produce un error al publicar las actualizaciones del recurso en un feed. |