Cette page explique comment créer et gérer des flux dans un projet.
Présentation
Pour recevoir des notifications en temps réel sur les modifications des ressources et des règles, vous pouvez créer un flux et vous y abonner. Lorsque vous configurez le flux, vous pouvez indiquer que vous souhaitez surveiller les modifications des types de ressources, des stratégies IAM, des stratégies d'accès et des règles d'administration d'administration compatibles dans une organisation, un dossier ou un projet. Vous pouvez également ajouter des conditions à votre flux afin de ne recevoir des notifications que pour certains types de modifications apportées à un élément. Après avoir configuré votre flux, vous recevez immédiatement des notifications chaque fois que les éléments spécifiés sont modifiés, envoyées via Pub/Sub (au format TemporalAsset). Les notifications en temps réel se connectent à vos charges de travail existantes. Grâce à cette fonctionnalité, vous pouvez fusionner des actions telles que la création d'une fonction Cloud pour annuler une modification de ressource après sa détection.
Avant de commencer
Avant de commencer, suivez les étapes ci-dessous.
Activez l'API Cloud Asset Inventory sur le projet dans lequel vous allez exécuter les commandes de l'API.
Configurez les autorisations requises pour appeler l'API Cloud Asset Inventory à l'aide de gcloud CLI ou de l'API.
Pour configurer votre environnement, procédez comme suit :
gcloud CLI
Pour configurer votre environnement afin d'utiliser la gcloud CLI pour appeler l'API Cloud Asset Inventory, installez la Google Cloud CLI sur votre client local.
REST
Pour configurer votre environnement afin d'appeler l'API Cloud Asset Inventory avec la commande
curl
, procédez comme suit.Vérifiez que vous avez accès à la commande
curl
.Assurez-vous d'attribuer à votre compte l'un des rôles suivants sur votre projet, dossier ou organisation.
Rôle Lecteur d'éléments cloud (
roles/cloudasset.viewer
)Rôle de base Propriétaire (
roles/owner
)
Accordez à votre utilisateur ou à votre compte de service les autorisations nécessaires pour appeler l'API pour les flux en temps réel. Les autorisations suivantes sont nécessaires pour chaque opération :
Autorisation Description cloudasset.feeds.create
cloudasset.assets.exportResource
Créez des flux cloudasset.feeds.update
cloudasset.assets.exportResource
Mettre à jour des flux cloudasset.feeds.delete
Supprimer des flux cloudasset.feeds.get
Obtenir des flux cloudasset.feeds.list
Répertorier des flux Le rôle de propriétaire d'éléments Cloud (
roles/cloudasset.owner
) accorde toutes les autorisations liées à l'API Cloud Asset, y compris celles répertoriées dans le tableau précédent. Pour en savoir plus sur les rôles et les autorisations, consultez les pages Comprendre les rôles et Configurer des autorisations.Si vous exportez des métadonnées d'un projet à un autre, assurez-vous que le compte de service d'inventaire des éléments cloud par défaut du projet d'exportation existe et qu'il dispose des autorisations appropriées.
Créez un sujet Pub/Sub si vous n'en avez pas déjà un.
Limites
La création, la mise à jour ou la suppression de flux peuvent prendre jusqu'à 10 minutes.
Le projet client dans lequel le flux est créé doit survivre au flux, car le compte de service utilisé pour publier sur le sujet Pub/Sub de destination se trouve dans le projet client. Si le projet client est supprimé, Cloud Asset Inventory ne peut pas publier sur la destination. Le flux ne fonctionne plus et est supprimé dès que la suppression du projet est définitive.
Créer des flux
Vous pouvez créer jusqu'à 200 flux pour un même parent. Cette limite ne s'applique qu'aux flux qui suivent directement ce parent et ne comptabilise pas les flux de ses enfants. Par exemple, si vous avez 10 projets sous une organisation, chaque projet peut comporter jusqu'à 200 flux, et chaque organisation peut également comporter jusqu'à 200 flux.
Pour créer un flux pour des projets, des dossiers ou des organisations, effectuez l'une des requêtes suivantes. L'inventaire des éléments cloud définit une notification pour tout élément qui correspond à au moins l'un des paramètres ASSET
de votre flux ET à l'expression de condition, si elle est spécifiée.
gcloud
Projets
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"
Indiquez les valeurs suivantes :
FEED_ID
: identifiant unique du flux d'assets.PROJECT_ID
: ID du projet dont les métadonnées sont envoyées au flux.BILLING_PROJECT_ID
: facultatif. ID du projet dans lequel se trouve l'agent de service de l'inventaire des éléments cloud par défaut et qui dispose des autorisations nécessaires pour gérer votre sujet Pub/Sub. En savoir plus sur les projets de facturationTOPIC_ID
: ID du sujet Pub/Sub dans lequel publier les notifications.ASSET_NAME
: facultatif. Liste des noms complets des éléments pour lesquels vous souhaitez recevoir des notifications de modification, séparés par une virgule.Au moins un élément
ASSET_NAME
ouASSET_TYPE
est requis.ASSET_TYPE
: facultatif. Liste des types d'éléments inclus dans l'index de recherche pour lesquels vous souhaitez recevoir des notifications de modification, séparés par une virgule. Les expressions régulières compatibles avec RE2 sont acceptées. Si l'expression régulière ne correspond à aucun type d'élément compatible, une erreurINVALID_ARGUMENT
est renvoyée.Au moins un élément
ASSET_NAME
ouASSET_TYPE
est requis.CONTENT_TYPE
: facultatif. Type de contenu de l'élément pour lequel vous souhaitez recevoir des notifications de modification.CONDITION_TITLE
: facultatif. Titre de la condition à appliquer au flux.CONDITION_DESCRIPTION
: facultatif. Description de la condition à appliquer au flux.CONDITION_EXPRESSION
: facultatif. Expression de condition à appliquer au flux.
Folders
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"
Indiquez les valeurs suivantes :
FEED_ID
: identifiant unique du flux d'assets.FOLDER_ID
: ID du dossier dont les métadonnées sont envoyées au flux.Trouver un ID de dossier Google Cloud
Console
Pour trouver un ID de dossier Google Cloud, procédez comme suit:
-
Accédez à Google Cloud Console.
- Cliquez sur le sélecteur dans la barre de menu.
- Cochez la case Sélectionner à partir de, puis sélectionnez votre organisation.
- Recherchez le nom de votre dossier. L'ID du dossier est indiqué à côté de son nom.
gcloud CLI
Vous pouvez récupérer un ID de dossier Google Cloud situé au niveau de l'organisation à l'aide de la commande suivante:
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)"
Où TOP_LEVEL_FOLDER_NAME peut être une correspondance de chaîne complète ou partielle. Supprimez l'option
--format
pour afficher plus d'informations sur les dossiers trouvés.Pour obtenir l'ID d'un dossier dans un autre dossier, répertoriez les sous-dossiers:
gcloud resource-manager folders list --folder=FOLDER_ID
-
BILLING_PROJECT_ID
: facultatif. ID du projet dans lequel se trouve l'agent de service de l'inventaire des éléments cloud par défaut et qui dispose des autorisations nécessaires pour gérer votre sujet Pub/Sub. En savoir plus sur les projets de facturationPROJECT_ID
: ID du projet dans lequel se trouve le sujet Pub/Sub.TOPIC_ID
: ID du sujet Pub/Sub dans lequel publier les notifications.ASSET_NAME
: facultatif. Liste des noms complets des éléments pour lesquels vous souhaitez recevoir des notifications de modification, séparés par une virgule.Au moins un élément
ASSET_NAME
ouASSET_TYPE
est requis.ASSET_TYPE
: facultatif. Liste des types d'éléments inclus dans l'index de recherche pour lesquels vous souhaitez recevoir des notifications de modification, séparés par une virgule. Les expressions régulières sont acceptées. Si l'expression régulière ne correspond à aucun type d'élément compatible, une erreurINVALID_ARGUMENT
est renvoyée.Au moins un élément
ASSET_NAME
ouASSET_TYPE
est requis.CONTENT_TYPE
: facultatif. Type de contenu de l'élément pour lequel vous souhaitez recevoir des notifications de modification.CONDITION_TITLE
: facultatif. Titre de la condition à appliquer au flux.CONDITION_DESCRIPTION
: facultatif. Description de la condition à appliquer au flux.CONDITION_EXPRESSION
: facultatif. Expression de condition à appliquer au flux.
Organisations
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"
Indiquez les valeurs suivantes :
FEED_ID
: identifiant unique du flux d'assets.ORGANIZATION_ID
: ID du projet dont les métadonnées sont envoyées au flux.Trouver un ID d'organisation Google Cloud
Console
Pour trouver un ID d'organisation Google Cloud, procédez comme suit:
-
Accédez à Google Cloud Console.
- Cliquez sur le sélecteur dans la barre de menu.
- Cochez la case Sélectionner à partir de, puis sélectionnez votre organisation.
- Cliquez sur l'onglet Tous. L'ID de l'organisation est affiché à côté de son nom.
gcloud CLI
Vous pouvez récupérer un ID d'organisation Google Cloud à l'aide de la commande suivante:
gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"
-
BILLING_PROJECT_ID
: facultatif. ID du projet dans lequel se trouve l'agent de service de l'inventaire des éléments cloud par défaut et qui dispose des autorisations nécessaires pour gérer votre sujet Pub/Sub. En savoir plus sur les projets de facturationPROJECT_ID
: ID du projet dans lequel se trouve le sujet Pub/Sub.TOPIC_ID
: ID du sujet Pub/Sub dans lequel publier les notifications.ASSET_NAME
: facultatif. Liste des noms complets des éléments pour lesquels vous souhaitez recevoir des notifications de modification, séparés par une virgule.Au moins un élément
ASSET_NAME
ouASSET_TYPE
est requis.ASSET_TYPE
: facultatif. Liste des types d'éléments inclus dans l'index de recherche pour lesquels vous souhaitez recevoir des notifications de modification, séparés par une virgule. Les expressions régulières sont acceptées. Si l'expression régulière ne correspond à aucun type d'élément compatible, une erreurINVALID_ARGUMENT
est renvoyée.Au moins un élément
ASSET_NAME
ouASSET_TYPE
est requis.CONTENT_TYPE
: facultatif. Type de contenu de l'élément pour lequel vous souhaitez recevoir des notifications de modification.CONDITION_TITLE
: facultatif. Titre de la condition à appliquer au flux.CONDITION_DESCRIPTION
: facultatif. Description de la condition à appliquer au flux.CONDITION_EXPRESSION
: facultatif. Expression de condition à appliquer au flux.
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
Indiquez les valeurs suivantes :
BILLING_PROJECT_ID
: facultatif. ID du projet dans lequel se trouve l'agent de service de l'inventaire des éléments cloud par défaut et qui dispose des autorisations nécessaires pour gérer votre sujet Pub/Sub. En savoir plus sur les projets de facturationFEED_ID
: identifiant unique du flux d'assets.ASSET_NAME
: facultatif. Liste des noms complets des éléments pour lesquels vous souhaitez recevoir des notifications de modification, séparés par une virgule.Au moins un élément
ASSET_NAME
ouASSET_TYPE
est requis.ASSET_TYPE
: facultatif. Liste des types d'éléments inclus dans l'index de recherche, séparés par une virgule, pour lesquels vous souhaitez recevoir des notifications de modification. Les expressions régulières sont acceptées. Si l'expression régulière ne correspond à aucun type d'élément compatible, une erreurINVALID_ARGUMENT
est renvoyée.Au moins un élément
ASSET_NAME
ouASSET_TYPE
est requis.CONTENT_TYPE
: facultatif. Type de contenu de l'élément pour lequel vous souhaitez recevoir des notifications de modification.PROJECT_ID
: ID du projet dans lequel se trouve le sujet Pub/Sub.TOPIC_ID
: ID du sujet Pub/Sub dans lequel publier les notifications.CONDITION_TITLE
: facultatif. Titre de la condition à appliquer au flux.CONDITION_DESCRIPTION
: facultatif. Description de l'état à appliquer au flux.CONDITION_EXPRESSION
: facultatif. Expression de condition à appliquer au flux.SCOPE
: un champ d'application peut être un projet, un dossier ou une organisation.Les valeurs autorisées sont les suivantes :
projects/PROJECT_ID
projects/PROJECT_NUMBER
Trouver un numéro de projet Google Cloud
Console
Pour trouver un numéro de projet Google Cloud, procédez comme suit:
-
Accédez à la page Tableau de bord dans la console Google Cloud.
- Cliquez sur le sélecteur dans la barre de menu.
- Sélectionnez votre organisation dans la zone Sélectionner à partir de, puis recherchez le nom de votre projet.
- Cliquez sur le nom du projet pour basculer vers ce projet. Le numéro de projet est indiqué dans la fiche Informations sur le projet.
gcloud CLI
Vous pouvez récupérer un numéro de projet Google Cloud à l'aide de la commande suivante:
gcloud projects describe PROJECT_ID --format="value(projectNumber)"
-
folders/FOLDER_ID
Trouver un ID de dossier Google Cloud
Console
Pour trouver un ID de dossier Google Cloud, procédez comme suit:
-
Accédez à Google Cloud Console.
- Cliquez sur le sélecteur dans la barre de menu.
- Cochez la case Sélectionner à partir de, puis sélectionnez votre organisation.
- Recherchez le nom de votre dossier. L'ID du dossier est indiqué à côté de son nom.
gcloud CLI
Vous pouvez récupérer un ID de dossier Google Cloud situé au niveau de l'organisation à l'aide de la commande suivante:
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)"
Où TOP_LEVEL_FOLDER_NAME peut être une correspondance de chaîne complète ou partielle. Supprimez l'option
--format
pour afficher plus d'informations sur les dossiers trouvés.Pour obtenir l'ID d'un dossier dans un autre dossier, répertoriez les sous-dossiers:
gcloud resource-manager folders list --folder=FOLDER_ID
-
organizations/ORGANIZATION_ID
Trouver un ID d'organisation Google Cloud
Console
Pour trouver un ID d'organisation Google Cloud, procédez comme suit:
-
Accédez à Google Cloud Console.
- Cliquez sur le sélecteur dans la barre de menu.
- Cochez la case Sélectionner à partir de, puis sélectionnez votre organisation.
- Cliquez sur l'onglet Tous. L'ID de l'organisation est affiché à côté de son nom.
gcloud CLI
Vous pouvez récupérer un ID d'organisation Google Cloud à l'aide de la commande suivante:
gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"
-
Après avoir créé un flux, abonnez-vous aux mises à jour à partir du sujet Pub/Sub que vous avez spécifié dans le flux. Un nouveau flux peut prendre jusqu'à dix minutes pour commencer à envoyer des notifications. Une notification est envoyée pour chaque modification apportée à un élément qui correspond à assetNames
ou assetTypes
, et satisfait la condition
dans le flux.
Le premier message publié dans le sujet Pub/Sub est un message de bienvenue au format chaîne, et tous les messages suivants sont au format TemporalAsset.
Voici un exemple de message pour le type de contenu 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]"
}
}
Pour en savoir plus sur Pub/Sub ou sur la configuration des abonnements, consultez la documentation de Pub/Sub.
Créer un flux pour les modifications apportées au bucket Cloud Storage ou à la table BigQuery
Les commandes suivantes créent des notifications à partir du sujet Pub/Sub TOPIC_ID
lorsque le contenu change dans le bucket Cloud Storage BUCKET_NAME
ou dans une table BigQuery:
gcloud
Projets
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
Indiquez les valeurs suivantes :
FEED_ID
: identifiant unique du flux d'assets.PROJECT_ID
: ID du projet dont les métadonnées sont envoyées au flux.BILLING_PROJECT_ID
: facultatif. ID du projet dans lequel se trouve l'agent de service de l'inventaire des éléments cloud par défaut et qui dispose des autorisations nécessaires pour gérer votre sujet Pub/Sub. En savoir plus sur les projets de facturationTOPIC_ID
: ID du sujet Pub/Sub dans lequel publier les notifications.BUCKET_NAME
: nom du bucket Cloud Storage à surveiller.
Folders
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
Indiquez les valeurs suivantes :
FEED_ID
: identifiant unique du flux d'assets.FOLDER_ID
: ID du dossier dont les métadonnées sont envoyées au flux.Trouver un ID de dossier Google Cloud
Console
Pour trouver un ID de dossier Google Cloud, procédez comme suit:
-
Accédez à Google Cloud Console.
- Cliquez sur le sélecteur dans la barre de menu.
- Cochez la case Sélectionner à partir de, puis sélectionnez votre organisation.
- Recherchez le nom de votre dossier. L'ID du dossier est indiqué à côté de son nom.
gcloud CLI
Vous pouvez récupérer un ID de dossier Google Cloud situé au niveau de l'organisation à l'aide de la commande suivante:
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)"
Où TOP_LEVEL_FOLDER_NAME peut être une correspondance de chaîne complète ou partielle. Supprimez l'option
--format
pour afficher plus d'informations sur les dossiers trouvés.Pour obtenir l'ID d'un dossier dans un autre dossier, répertoriez les sous-dossiers:
gcloud resource-manager folders list --folder=FOLDER_ID
-
BILLING_PROJECT_ID
: facultatif. ID du projet dans lequel se trouve l'agent de service de l'inventaire des éléments cloud par défaut et qui dispose des autorisations nécessaires pour gérer votre sujet Pub/Sub. En savoir plus sur les projets de facturationTOPIC_ID
: ID du sujet Pub/Sub dans lequel publier les notifications.BUCKET_NAME
: nom du bucket Cloud Storage à surveiller.
Organisations
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
Indiquez les valeurs suivantes :
FEED_ID
: identifiant unique du flux d'assets.ORGANIZATION_ID
: ID de l'organisation dont les métadonnées sont envoyées au flux.Trouver un ID d'organisation Google Cloud
Console
Pour trouver un ID d'organisation Google Cloud, procédez comme suit:
-
Accédez à Google Cloud Console.
- Cliquez sur le sélecteur dans la barre de menu.
- Cochez la case Sélectionner à partir de, puis sélectionnez votre organisation.
- Cliquez sur l'onglet Tous. L'ID de l'organisation est affiché à côté de son nom.
gcloud CLI
Vous pouvez récupérer un ID d'organisation Google Cloud à l'aide de la commande suivante:
gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"
-
BILLING_PROJECT_ID
: facultatif. ID du projet dans lequel se trouve l'agent de service de l'inventaire des éléments cloud par défaut et qui dispose des autorisations nécessaires pour gérer votre sujet Pub/Sub. En savoir plus sur les projets de facturationTOPIC_ID
: ID du sujet Pub/Sub dans lequel publier les notifications.BUCKET_NAME
: nom du bucket Cloud Storage à surveiller.
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
Indiquez les valeurs suivantes :
BILLING_PROJECT_ID
: facultatif. ID du projet dans lequel se trouve l'agent de service de l'inventaire des éléments cloud par défaut et qui dispose des autorisations nécessaires pour gérer votre sujet Pub/Sub. En savoir plus sur les projets de facturationFEED_ID
: identifiant unique du flux d'assets.BUCKET_NAME
: nom du bucket Cloud Storage à surveiller.PROJECT_ID
: ID du projet dont les métadonnées sont envoyées au flux.TOPIC_ID
: ID du sujet Pub/Sub dans lequel publier les notifications.SCOPE
: un champ d'application peut être un projet, un dossier ou une organisation.Les valeurs autorisées sont les suivantes :
projects/PROJECT_ID
projects/PROJECT_NUMBER
Trouver un numéro de projet Google Cloud
Console
Pour trouver un numéro de projet Google Cloud, procédez comme suit:
-
Accédez à la page Tableau de bord dans la console Google Cloud.
- Cliquez sur le sélecteur dans la barre de menu.
- Sélectionnez votre organisation dans la zone Sélectionner à partir de, puis recherchez le nom de votre projet.
- Cliquez sur le nom du projet pour basculer vers ce projet. Le numéro de projet est indiqué dans la fiche Informations sur le projet.
gcloud CLI
Vous pouvez récupérer un numéro de projet Google Cloud à l'aide de la commande suivante:
gcloud projects describe PROJECT_ID --format="value(projectNumber)"
-
folders/FOLDER_ID
Trouver un ID de dossier Google Cloud
Console
Pour trouver un ID de dossier Google Cloud, procédez comme suit:
-
Accédez à Google Cloud Console.
- Cliquez sur le sélecteur dans la barre de menu.
- Cochez la case Sélectionner à partir de, puis sélectionnez votre organisation.
- Recherchez le nom de votre dossier. L'ID du dossier est indiqué à côté de son nom.
gcloud CLI
Vous pouvez récupérer un ID de dossier Google Cloud situé au niveau de l'organisation à l'aide de la commande suivante:
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)"
Où TOP_LEVEL_FOLDER_NAME peut être une correspondance de chaîne complète ou partielle. Supprimez l'option
--format
pour afficher plus d'informations sur les dossiers trouvés.Pour obtenir l'ID d'un dossier dans un autre dossier, répertoriez les sous-dossiers:
gcloud resource-manager folders list --folder=FOLDER_ID
-
organizations/ORGANIZATION_ID
Trouver un ID d'organisation Google Cloud
Console
Pour trouver un ID d'organisation Google Cloud, procédez comme suit:
-
Accédez à Google Cloud Console.
- Cliquez sur le sélecteur dans la barre de menu.
- Cochez la case Sélectionner à partir de, puis sélectionnez votre organisation.
- Cliquez sur l'onglet Tous. L'ID de l'organisation est affiché à côté de son nom.
gcloud CLI
Vous pouvez récupérer un ID d'organisation Google Cloud à l'aide de la commande suivante:
gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"
-
Les notifications ne sont envoyées que lorsque les métadonnées de la ressource ou de la règle de la ressource elle-même sont modifiées. Dans l'exemple précédent, la modification d'une ressource dans des buckets Cloud Storage ou des tables BigQuery ne déclenche pas de notification.
Créer un flux pour modifier les types d'éléments
Les requêtes suivantes créent des notifications à partir du sujet Pub/Sub TOPIC_ID
lorsque le contenu change dans les ressources dont le type d'élément commence par compute.googleapis.com
.
gcloud
Projets
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.*
Indiquez les valeurs suivantes :
FEED_ID
: identifiant unique du flux d'assets.PROJECT_ID
: ID du projet dont les métadonnées sont envoyées au flux.BILLING_PROJECT_ID
: facultatif. ID du projet dans lequel se trouve l'agent de service de l'inventaire des éléments cloud par défaut et qui dispose des autorisations nécessaires pour gérer votre sujet Pub/Sub. En savoir plus sur les projets de facturationTOPIC_ID
: ID du sujet Pub/Sub dans lequel publier les notifications.
Folders
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.*
Indiquez les valeurs suivantes :
FEED_ID
: identifiant unique du flux d'assets.FOLDER_ID
: ID du dossier dont les métadonnées sont envoyées au flux.Trouver un ID de dossier Google Cloud
Console
Pour trouver un ID de dossier Google Cloud, procédez comme suit:
-
Accédez à Google Cloud Console.
- Cliquez sur le sélecteur dans la barre de menu.
- Cochez la case Sélectionner à partir de, puis sélectionnez votre organisation.
- Recherchez le nom de votre dossier. L'ID du dossier est indiqué à côté de son nom.
gcloud CLI
Vous pouvez récupérer un ID de dossier Google Cloud situé au niveau de l'organisation à l'aide de la commande suivante:
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)"
Où TOP_LEVEL_FOLDER_NAME peut être une correspondance de chaîne complète ou partielle. Supprimez l'option
--format
pour afficher plus d'informations sur les dossiers trouvés.Pour obtenir l'ID d'un dossier dans un autre dossier, répertoriez les sous-dossiers:
gcloud resource-manager folders list --folder=FOLDER_ID
-
BILLING_PROJECT_ID
: facultatif. ID du projet dans lequel se trouve l'agent de service de l'inventaire des éléments cloud par défaut et qui dispose des autorisations nécessaires pour gérer votre sujet Pub/Sub. En savoir plus sur les projets de facturationTOPIC_ID
: ID du sujet Pub/Sub dans lequel publier les notifications.
Organisations
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.*
Indiquez les valeurs suivantes :
FEED_ID
: identifiant unique du flux d'assets.ORGANIZATION_ID
: ID de l'organisation dont les métadonnées sont envoyées au flux.Trouver un ID d'organisation Google Cloud
Console
Pour trouver un ID d'organisation Google Cloud, procédez comme suit:
-
Accédez à Google Cloud Console.
- Cliquez sur le sélecteur dans la barre de menu.
- Cochez la case Sélectionner à partir de, puis sélectionnez votre organisation.
- Cliquez sur l'onglet Tous. L'ID de l'organisation est affiché à côté de son nom.
gcloud CLI
Vous pouvez récupérer un ID d'organisation Google Cloud à l'aide de la commande suivante:
gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"
-
BILLING_PROJECT_ID
: facultatif. ID du projet dans lequel se trouve l'agent de service de l'inventaire des éléments cloud par défaut et qui dispose des autorisations nécessaires pour gérer votre sujet Pub/Sub. En savoir plus sur les projets de facturationTOPIC_ID
: ID du sujet Pub/Sub dans lequel publier les notifications.
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
Indiquez les valeurs suivantes :
BILLING_PROJECT_ID
: facultatif. ID du projet dans lequel se trouve l'agent de service de l'inventaire des éléments cloud par défaut et qui dispose des autorisations nécessaires pour gérer votre sujet Pub/Sub. En savoir plus sur les projets de facturationFEED_ID
: identifiant unique du flux d'assets.PROJECT_ID
: ID du projet dont les métadonnées sont envoyées au flux.TOPIC_ID
: ID du sujet Pub/Sub dans lequel publier les notifications.SCOPE
: un champ d'application peut être un projet, un dossier ou une organisation.Les valeurs autorisées sont les suivantes :
projects/PROJECT_ID
projects/PROJECT_NUMBER
Trouver un numéro de projet Google Cloud
Console
Pour trouver un numéro de projet Google Cloud, procédez comme suit:
-
Accédez à la page Tableau de bord dans la console Google Cloud.
- Cliquez sur le sélecteur dans la barre de menu.
- Sélectionnez votre organisation dans la zone Sélectionner à partir de, puis recherchez le nom de votre projet.
- Cliquez sur le nom du projet pour basculer vers ce projet. Le numéro de projet est indiqué dans la fiche Informations sur le projet.
gcloud CLI
Vous pouvez récupérer un numéro de projet Google Cloud à l'aide de la commande suivante:
gcloud projects describe PROJECT_ID --format="value(projectNumber)"
-
folders/FOLDER_ID
Trouver un ID de dossier Google Cloud
Console
Pour trouver un ID de dossier Google Cloud, procédez comme suit:
-
Accédez à Google Cloud Console.
- Cliquez sur le sélecteur dans la barre de menu.
- Cochez la case Sélectionner à partir de, puis sélectionnez votre organisation.
- Recherchez le nom de votre dossier. L'ID du dossier est indiqué à côté de son nom.
gcloud CLI
Vous pouvez récupérer un ID de dossier Google Cloud situé au niveau de l'organisation à l'aide de la commande suivante:
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)"
Où TOP_LEVEL_FOLDER_NAME peut être une correspondance de chaîne complète ou partielle. Supprimez l'option
--format
pour afficher plus d'informations sur les dossiers trouvés.Pour obtenir l'ID d'un dossier dans un autre dossier, répertoriez les sous-dossiers:
gcloud resource-manager folders list --folder=FOLDER_ID
-
organizations/ORGANIZATION_ID
Trouver un ID d'organisation Google Cloud
Console
Pour trouver un ID d'organisation Google Cloud, procédez comme suit:
-
Accédez à Google Cloud Console.
- Cliquez sur le sélecteur dans la barre de menu.
- Cochez la case Sélectionner à partir de, puis sélectionnez votre organisation.
- Cliquez sur l'onglet Tous. L'ID de l'organisation est affiché à côté de son nom.
gcloud CLI
Vous pouvez récupérer un ID d'organisation Google Cloud à l'aide de la commande suivante:
gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"
-
Récupération des flux
Pour obtenir un flux spécifique, effectuez l'une des requêtes suivantes.
gcloud
Projets
gcloud asset feeds describe FEED_ID \
--project=PROJECT_ID \
--billing-project=BILLING_PROJECT_ID
Indiquez les valeurs suivantes :
FEED_ID
: identifiant unique du flux d'assets.PROJECT_ID
: ID du projet dont les métadonnées sont publiées dans le flux.BILLING_PROJECT_ID
: facultatif. ID du projet dans lequel se trouve l'agent de service de l'inventaire des éléments cloud par défaut et qui dispose des autorisations nécessaires pour gérer votre sujet Pub/Sub. En savoir plus sur les projets de facturation
Folders
gcloud asset feeds describe FEED_ID \
--folder=FOLDER_ID \
--billing-project=BILLING_PROJECT_ID
Indiquez les valeurs suivantes :
FEED_ID
: identifiant unique du flux d'assets.FOLDER_ID
: ID du dossier dont les métadonnées sont publiées dans le flux.Trouver un ID de dossier Google Cloud
Console
Pour trouver un ID de dossier Google Cloud, procédez comme suit:
-
Accédez à Google Cloud Console.
- Cliquez sur le sélecteur dans la barre de menu.
- Cochez la case Sélectionner à partir de, puis sélectionnez votre organisation.
- Recherchez le nom de votre dossier. L'ID du dossier est indiqué à côté de son nom.
gcloud CLI
Vous pouvez récupérer un ID de dossier Google Cloud situé au niveau de l'organisation à l'aide de la commande suivante:
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)"
Où TOP_LEVEL_FOLDER_NAME peut être une correspondance de chaîne complète ou partielle. Supprimez l'option
--format
pour afficher plus d'informations sur les dossiers trouvés.Pour obtenir l'ID d'un dossier dans un autre dossier, répertoriez les sous-dossiers:
gcloud resource-manager folders list --folder=FOLDER_ID
-
BILLING_PROJECT_ID
: facultatif. ID du projet dans lequel se trouve l'agent de service de l'inventaire des éléments cloud par défaut et qui dispose des autorisations nécessaires pour gérer votre sujet Pub/Sub. En savoir plus sur les projets de facturation
Organisations
gcloud asset feeds describe FEED_ID \
--organization=ORGANIZATION_ID \
--billing-project=BILLING_PROJECT_ID
Indiquez les valeurs suivantes :
FEED_ID
: identifiant unique du flux d'assets.ORGANIZATION_ID
: ID de l'organisation dont les métadonnées sont publiées dans le flux.Trouver un ID d'organisation Google Cloud
Console
Pour trouver un ID d'organisation Google Cloud, procédez comme suit:
-
Accédez à Google Cloud Console.
- Cliquez sur le sélecteur dans la barre de menu.
- Cochez la case Sélectionner à partir de, puis sélectionnez votre organisation.
- Cliquez sur l'onglet Tous. L'ID de l'organisation est affiché à côté de son nom.
gcloud CLI
Vous pouvez récupérer un ID d'organisation Google Cloud à l'aide de la commande suivante:
gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"
-
BILLING_PROJECT_ID
: facultatif. ID du projet dans lequel se trouve l'agent de service de l'inventaire des éléments cloud par défaut et qui dispose des autorisations nécessaires pour gérer votre sujet Pub/Sub. En savoir plus sur les projets de facturation
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
Indiquez les valeurs suivantes :
BILLING_PROJECT_ID
: facultatif. ID du projet dans lequel se trouve l'agent de service de l'inventaire des éléments cloud par défaut et autorisé à gérer votre sujet Pub/Sub. En savoir plus sur les projets de facturationSCOPE
: un champ d'application peut être un projet, un dossier ou une organisation. Les ID de projet ne sont pas acceptés.Les valeurs autorisées sont les suivantes :
projects/PROJECT_NUMBER
Trouver un numéro de projet Google Cloud
Console
Pour trouver un numéro de projet Google Cloud, procédez comme suit:
-
Accédez à la page Tableau de bord dans la console Google Cloud.
- Cliquez sur le sélecteur dans la barre de menu.
- Sélectionnez votre organisation dans la zone Sélectionner à partir de, puis recherchez le nom de votre projet.
- Cliquez sur le nom du projet pour basculer vers ce projet. Le numéro de projet est indiqué dans la fiche Informations sur le projet.
gcloud CLI
Vous pouvez récupérer un numéro de projet Google Cloud à l'aide de la commande suivante:
gcloud projects describe PROJECT_ID --format="value(projectNumber)"
-
folders/FOLDER_ID
Trouver un ID de dossier Google Cloud
Console
Pour trouver un ID de dossier Google Cloud, procédez comme suit:
-
Accédez à Google Cloud Console.
- Cliquez sur le sélecteur dans la barre de menu.
- Cochez la case Sélectionner à partir de, puis sélectionnez votre organisation.
- Recherchez le nom de votre dossier. L'ID du dossier est indiqué à côté de son nom.
gcloud CLI
Vous pouvez récupérer un ID de dossier Google Cloud situé au niveau de l'organisation à l'aide de la commande suivante:
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)"
Où TOP_LEVEL_FOLDER_NAME peut être une correspondance de chaîne complète ou partielle. Supprimez l'option
--format
pour afficher plus d'informations sur les dossiers trouvés.Pour obtenir l'ID d'un dossier dans un autre dossier, répertoriez les sous-dossiers:
gcloud resource-manager folders list --folder=FOLDER_ID
-
organizations/ORGANIZATION_ID
Trouver un ID d'organisation Google Cloud
Console
Pour trouver un ID d'organisation Google Cloud, procédez comme suit:
-
Accédez à Google Cloud Console.
- Cliquez sur le sélecteur dans la barre de menu.
- Cochez la case Sélectionner à partir de, puis sélectionnez votre organisation.
- Cliquez sur l'onglet Tous. L'ID de l'organisation est affiché à côté de son nom.
gcloud CLI
Vous pouvez récupérer un ID d'organisation Google Cloud à l'aide de la commande suivante:
gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"
-
FEED_ID
: identifiant unique du flux d'assets.
Le flux est renvoyé au format suivant, où FULL_NAME_FEED_ID
correspond à l'identifiant du flux avec son parent de ressource:
{
"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"
}
}
Flux de fiches
Pour répertorier tous les flux d'un projet, d'un dossier ou d'une organisation, effectuez l'une des requêtes suivantes.
gcloud
Projets
gcloud asset feeds list \
--project=PROJECT_ID \
--billing-project=BILLING_PROJECT_ID
Indiquez les valeurs suivantes :
PROJECT_ID
: ID du projet dont les métadonnées sont publiées dans le flux.BILLING_PROJECT_ID
: facultatif. ID du projet dans lequel se trouve l'agent de service de l'inventaire des éléments cloud par défaut et qui dispose des autorisations nécessaires pour gérer votre sujet Pub/Sub. En savoir plus sur les projets de facturation
Folders
gcloud asset feeds list \
--folder=FOLDER_ID \
--billing-project=BILLING_PROJECT_ID
Indiquez les valeurs suivantes :
FOLDER_ID
: ID du dossier dont les métadonnées sont publiées dans le flux.Trouver un ID de dossier Google Cloud
Console
Pour trouver un ID de dossier Google Cloud, procédez comme suit:
-
Accédez à Google Cloud Console.
- Cliquez sur le sélecteur dans la barre de menu.
- Cochez la case Sélectionner à partir de, puis sélectionnez votre organisation.
- Recherchez le nom de votre dossier. L'ID du dossier est indiqué à côté de son nom.
gcloud CLI
Vous pouvez récupérer un ID de dossier Google Cloud situé au niveau de l'organisation à l'aide de la commande suivante:
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)"
Où TOP_LEVEL_FOLDER_NAME peut être une correspondance de chaîne complète ou partielle. Supprimez l'option
--format
pour afficher plus d'informations sur les dossiers trouvés.Pour obtenir l'ID d'un dossier dans un autre dossier, répertoriez les sous-dossiers:
gcloud resource-manager folders list --folder=FOLDER_ID
-
BILLING_PROJECT_ID
: facultatif. ID du projet dans lequel se trouve l'agent de service de l'inventaire des éléments cloud par défaut et qui dispose des autorisations nécessaires pour gérer votre sujet Pub/Sub. En savoir plus sur les projets de facturation
Organisations
gcloud asset feeds list \
--organization=ORGANIZATION_ID \
--billing-project=BILLING_PROJECT_ID
Indiquez les valeurs suivantes :
ORGANIZATION_ID
: ID de l'organisation dont les métadonnées sont publiées dans le flux.Trouver un ID d'organisation Google Cloud
Console
Pour trouver un ID d'organisation Google Cloud, procédez comme suit:
-
Accédez à Google Cloud Console.
- Cliquez sur le sélecteur dans la barre de menu.
- Cochez la case Sélectionner à partir de, puis sélectionnez votre organisation.
- Cliquez sur l'onglet Tous. L'ID de l'organisation est affiché à côté de son nom.
gcloud CLI
Vous pouvez récupérer un ID d'organisation Google Cloud à l'aide de la commande suivante:
gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"
-
BILLING_PROJECT_ID
: facultatif. ID du projet dans lequel se trouve l'agent de service de l'inventaire des éléments cloud par défaut et qui dispose des autorisations nécessaires pour gérer votre sujet Pub/Sub. En savoir plus sur les projets de facturation
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
Indiquez les valeurs suivantes :
BILLING_PROJECT_ID
: facultatif. ID du projet dans lequel se trouve l'agent de service de l'inventaire des éléments cloud par défaut et autorisé à gérer votre sujet Pub/Sub. En savoir plus sur les projets de facturationSCOPE
: un champ d'application peut être un projet, un dossier ou une organisation.Les valeurs autorisées sont les suivantes :
projects/PROJECT_ID
projects/PROJECT_NUMBER
Trouver un numéro de projet Google Cloud
Console
Pour trouver un numéro de projet Google Cloud, procédez comme suit:
-
Accédez à la page Tableau de bord dans la console Google Cloud.
- Cliquez sur le sélecteur dans la barre de menu.
- Sélectionnez votre organisation dans la zone Sélectionner à partir de, puis recherchez le nom de votre projet.
- Cliquez sur le nom du projet pour basculer vers ce projet. Le numéro de projet est indiqué dans la fiche Informations sur le projet.
gcloud CLI
Vous pouvez récupérer un numéro de projet Google Cloud à l'aide de la commande suivante:
gcloud projects describe PROJECT_ID --format="value(projectNumber)"
-
folders/FOLDER_ID
Trouver un ID de dossier Google Cloud
Console
Pour trouver un ID de dossier Google Cloud, procédez comme suit:
-
Accédez à Google Cloud Console.
- Cliquez sur le sélecteur dans la barre de menu.
- Cochez la case Sélectionner à partir de, puis sélectionnez votre organisation.
- Recherchez le nom de votre dossier. L'ID du dossier est indiqué à côté de son nom.
gcloud CLI
Vous pouvez récupérer un ID de dossier Google Cloud situé au niveau de l'organisation à l'aide de la commande suivante:
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)"
Où TOP_LEVEL_FOLDER_NAME peut être une correspondance de chaîne complète ou partielle. Supprimez l'option
--format
pour afficher plus d'informations sur les dossiers trouvés.Pour obtenir l'ID d'un dossier dans un autre dossier, répertoriez les sous-dossiers:
gcloud resource-manager folders list --folder=FOLDER_ID
-
organizations/ORGANIZATION_ID
Trouver un ID d'organisation Google Cloud
Console
Pour trouver un ID d'organisation Google Cloud, procédez comme suit:
-
Accédez à Google Cloud Console.
- Cliquez sur le sélecteur dans la barre de menu.
- Cochez la case Sélectionner à partir de, puis sélectionnez votre organisation.
- Cliquez sur l'onglet Tous. L'ID de l'organisation est affiché à côté de son nom.
gcloud CLI
Vous pouvez récupérer un ID d'organisation Google Cloud à l'aide de la commande suivante:
gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"
-
Mise à jour des flux...
Pour mettre à jour les attributs d'un flux, vous devez spécifier le chemin d'accès à l'attribut dans update_mask
et la valeur de cet attribut. La requête suivante met à jour les valeurs assetNames
et topic
d'un flux dans un projet.
gcloud
Projets
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,...
Indiquez les valeurs suivantes :
PROJECT_ID
: ID du projet dont les métadonnées sont publiées dans le flux.BILLING_PROJECT_ID
: facultatif. ID du projet dans lequel se trouve l'agent de service de l'inventaire des éléments cloud par défaut et qui dispose des autorisations nécessaires pour gérer votre sujet Pub/Sub. En savoir plus sur les projets de facturationTOPIC_ID
: ID du sujet Pub/Sub dans lequel les notifications sont publiées.ASSET_NAME
: facultatif. Liste des noms complets des éléments pour lesquels vous souhaitez recevoir des notifications de modification, séparés par une virgule.
Folders
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,...
Indiquez les valeurs suivantes :
FOLDER_ID
: ID du dossier dont les métadonnées sont publiées dans le flux.Trouver un ID de dossier Google Cloud
Console
Pour trouver un ID de dossier Google Cloud, procédez comme suit:
-
Accédez à Google Cloud Console.
- Cliquez sur le sélecteur dans la barre de menu.
- Cochez la case Sélectionner à partir de, puis sélectionnez votre organisation.
- Recherchez le nom de votre dossier. L'ID du dossier est indiqué à côté de son nom.
gcloud CLI
Vous pouvez récupérer un ID de dossier Google Cloud situé au niveau de l'organisation à l'aide de la commande suivante:
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)"
Où TOP_LEVEL_FOLDER_NAME peut être une correspondance de chaîne complète ou partielle. Supprimez l'option
--format
pour afficher plus d'informations sur les dossiers trouvés.Pour obtenir l'ID d'un dossier dans un autre dossier, répertoriez les sous-dossiers:
gcloud resource-manager folders list --folder=FOLDER_ID
-
BILLING_PROJECT_ID
: facultatif. ID du projet dans lequel se trouve l'agent de service de l'inventaire des éléments cloud par défaut et qui dispose des autorisations nécessaires pour gérer votre sujet Pub/Sub. En savoir plus sur les projets de facturationPROJECT_ID
: ID du projet dans lequel se trouve le sujet Pub/Sub.TOPIC_ID
: ID du sujet Pub/Sub dans lequel les notifications sont publiées.ASSET_NAME
: facultatif. Liste des noms complets des éléments pour lesquels vous souhaitez recevoir des notifications de modification, séparés par une virgule.
Organisations
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,...
Indiquez les valeurs suivantes :
ORGANIZATION_ID
: ID de l'organisation dont les métadonnées sont publiées dans le flux.Trouver un ID d'organisation Google Cloud
Console
Pour trouver un ID d'organisation Google Cloud, procédez comme suit:
-
Accédez à Google Cloud Console.
- Cliquez sur le sélecteur dans la barre de menu.
- Cochez la case Sélectionner à partir de, puis sélectionnez votre organisation.
- Cliquez sur l'onglet Tous. L'ID de l'organisation est affiché à côté de son nom.
gcloud CLI
Vous pouvez récupérer un ID d'organisation Google Cloud à l'aide de la commande suivante:
gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"
-
BILLING_PROJECT_ID
: facultatif. ID du projet dans lequel se trouve l'agent de service de l'inventaire des éléments cloud par défaut et qui dispose des autorisations nécessaires pour gérer votre sujet Pub/Sub. En savoir plus sur les projets de facturationPROJECT_ID
: ID du projet dans lequel se trouve le sujet Pub/Sub.TOPIC_ID
: ID du sujet Pub/Sub dans lequel les notifications sont publiées.ASSET_NAME
: facultatif. Liste des noms complets des éléments pour lesquels vous souhaitez recevoir des notifications de modification, séparés par une virgule.
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
Indiquez les valeurs suivantes :
BILLING_PROJECT_ID
: facultatif. ID du projet dans lequel se trouve l'agent de service de l'inventaire des éléments cloud par défaut et autorisé à gérer votre sujet Pub/Sub. En savoir plus sur les projets de facturationASSET_NAME
: facultatif. Liste des noms complets des éléments pour lesquels vous souhaitez recevoir des notifications de modification, séparés par une virgule.PROJECT_ID
: ID du projet dans lequel se trouve le sujet Pub/Sub.TOPIC_ID
: ID du sujet Pub/Sub dans lequel les notifications sont publiées.SCOPE
: un champ d'application peut être un projet, un dossier ou une organisation. Les ID de projet ne sont pas acceptés.Les valeurs autorisées sont les suivantes :
projects/PROJECT_NUMBER
Trouver un numéro de projet Google Cloud
Console
Pour trouver un numéro de projet Google Cloud, procédez comme suit:
-
Accédez à la page Tableau de bord dans la console Google Cloud.
- Cliquez sur le sélecteur dans la barre de menu.
- Sélectionnez votre organisation dans la zone Sélectionner à partir de, puis recherchez le nom de votre projet.
- Cliquez sur le nom du projet pour basculer vers ce projet. Le numéro de projet est indiqué dans la fiche Informations sur le projet.
gcloud CLI
Vous pouvez récupérer un numéro de projet Google Cloud à l'aide de la commande suivante:
gcloud projects describe PROJECT_ID --format="value(projectNumber)"
-
folders/FOLDER_ID
Trouver un ID de dossier Google Cloud
Console
Pour trouver un ID de dossier Google Cloud, procédez comme suit:
-
Accédez à Google Cloud Console.
- Cliquez sur le sélecteur dans la barre de menu.
- Cochez la case Sélectionner à partir de, puis sélectionnez votre organisation.
- Recherchez le nom de votre dossier. L'ID du dossier est indiqué à côté de son nom.
gcloud CLI
Vous pouvez récupérer un ID de dossier Google Cloud situé au niveau de l'organisation à l'aide de la commande suivante:
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)"
Où TOP_LEVEL_FOLDER_NAME peut être une correspondance de chaîne complète ou partielle. Supprimez l'option
--format
pour afficher plus d'informations sur les dossiers trouvés.Pour obtenir l'ID d'un dossier dans un autre dossier, répertoriez les sous-dossiers:
gcloud resource-manager folders list --folder=FOLDER_ID
-
organizations/ORGANIZATION_ID
Trouver un ID d'organisation Google Cloud
Console
Pour trouver un ID d'organisation Google Cloud, procédez comme suit:
-
Accédez à Google Cloud Console.
- Cliquez sur le sélecteur dans la barre de menu.
- Cochez la case Sélectionner à partir de, puis sélectionnez votre organisation.
- Cliquez sur l'onglet Tous. L'ID de l'organisation est affiché à côté de son nom.
gcloud CLI
Vous pouvez récupérer un ID d'organisation Google Cloud à l'aide de la commande suivante:
gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"
-
Suppression des flux
Si vous ne souhaitez plus être informé des modifications apportées aux éléments, exécutez la commande suivante pour supprimer un flux dans un projet.
gcloud
Projets
gcloud asset feeds delete FEED_ID \
--project=PROJECT_ID \
--billing-project=BILLING_PROJECT_ID
Indiquez les valeurs suivantes :
PROJECT_ID
: ID du projet dont les métadonnées sont publiées dans le flux.BILLING_PROJECT_ID
: facultatif. ID du projet dans lequel se trouve l'agent de service de l'inventaire des éléments cloud par défaut et qui dispose des autorisations nécessaires pour gérer votre sujet Pub/Sub. En savoir plus sur les projets de facturation
Folders
gcloud asset feeds delete FEED_ID \
--folder=FOLDER_ID \
--billing-project=BILLING_PROJECT_ID
Indiquez les valeurs suivantes :
FOLDER_ID
: ID du dossier dont les métadonnées sont publiées dans le flux.BILLING_PROJECT_ID
: facultatif. ID du projet dans lequel se trouve l'agent de service de l'inventaire des éléments cloud par défaut et qui dispose des autorisations nécessaires pour gérer votre sujet Pub/Sub. En savoir plus sur les projets de facturation
Organisations
gcloud asset feeds delete FEED_ID \
--organization=ORGANIZATION_ID \
--billing-project=BILLING_PROJECT_ID
Indiquez les valeurs suivantes :
ORGANIZATION_ID
: ID de l'organisation dont les métadonnées sont publiées dans le flux.BILLING_PROJECT_ID
: facultatif. ID du projet dans lequel se trouve l'agent de service de l'inventaire des éléments cloud par défaut et qui dispose des autorisations nécessaires pour gérer votre sujet Pub/Sub. En savoir plus sur les projets de facturation
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
Indiquez les valeurs suivantes :
BILLING_PROJECT_ID
: facultatif. ID du projet dans lequel se trouve l'agent de service de l'inventaire des éléments cloud par défaut et qui dispose des autorisations nécessaires pour gérer votre sujet Pub/Sub. En savoir plus sur les projets de facturationSCOPE
: un champ d'application peut être un projet, un dossier ou une organisation. Les ID de projet ne sont pas acceptés.Les valeurs autorisées sont les suivantes :
projects/PROJECT_NUMBER
Trouver un numéro de projet Google Cloud
Console
Pour trouver un numéro de projet Google Cloud, procédez comme suit:
-
Accédez à la page Tableau de bord dans la console Google Cloud.
- Cliquez sur le sélecteur dans la barre de menu.
- Sélectionnez votre organisation dans la zone Sélectionner à partir de, puis recherchez le nom de votre projet.
- Cliquez sur le nom du projet pour basculer vers ce projet. Le numéro de projet est indiqué dans la fiche Informations sur le projet.
gcloud CLI
Vous pouvez récupérer un numéro de projet Google Cloud à l'aide de la commande suivante:
gcloud projects describe PROJECT_ID --format="value(projectNumber)"
-
folders/FOLDER_ID
Trouver un ID de dossier Google Cloud
Console
Pour trouver un ID de dossier Google Cloud, procédez comme suit:
-
Accédez à Google Cloud Console.
- Cliquez sur le sélecteur dans la barre de menu.
- Cochez la case Sélectionner à partir de, puis sélectionnez votre organisation.
- Recherchez le nom de votre dossier. L'ID du dossier est indiqué à côté de son nom.
gcloud CLI
Vous pouvez récupérer un ID de dossier Google Cloud situé au niveau de l'organisation à l'aide de la commande suivante:
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)"
Où TOP_LEVEL_FOLDER_NAME peut être une correspondance de chaîne complète ou partielle. Supprimez l'option
--format
pour afficher plus d'informations sur les dossiers trouvés.Pour obtenir l'ID d'un dossier dans un autre dossier, répertoriez les sous-dossiers:
gcloud resource-manager folders list --folder=FOLDER_ID
-
organizations/ORGANIZATION_ID
Trouver un ID d'organisation Google Cloud
Console
Pour trouver un ID d'organisation Google Cloud, procédez comme suit:
-
Accédez à Google Cloud Console.
- Cliquez sur le sélecteur dans la barre de menu.
- Cochez la case Sélectionner à partir de, puis sélectionnez votre organisation.
- Cliquez sur l'onglet Tous. L'ID de l'organisation est affiché à côté de son nom.
gcloud CLI
Vous pouvez récupérer un ID d'organisation Google Cloud à l'aide de la commande suivante:
gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"
-
Dépannage
Cette section explique comment résoudre les problèmes courants.
Échec de la création ou de la mise à jour des flux
Si la création ou la mise à jour d'un flux échoue, cela peut être dû à un problème d'autorisation. Chaque requête de création ou de mise à jour de flux comprend trois parties: le projet client utilisé pour appeler l'API, le parent cible à surveiller et le sujet Pub/Sub de destination pour recevoir la notification.
Pour créer ou mettre à jour un flux, vous devez disposer des autorisations suivantes :
L'appelant ou le compte de service doit disposer d'autorisations sur les éléments dans le parent cible (il peut s'agir d'un projet, d'un dossier ou d'une organisation).
Le compte de service d'éléments (
service-PROJECT_NUMBER@gcp-sa-cloudasset.iam.gserviceaccount.com
) dans le projet client compatible avec l'API Cloud Asset doit disposer de l'autorisationpubsub.topics.publish
sur le sujet Pub/Sub de destination.
Un message d'erreur contenant does not have permission
peut indiquer que l'utilisateur ou le compte de service ne dispose pas des autorisations d'élément. En savoir plus sur les autorisations requises
Un message d'erreur contenant Fail to use TOPIC_ID as feed output destination
peut indiquer qu'il y a un problème lors de la publication du message sur le sujet que vous avez spécifié dans la destination de sortie du flux. Pour résoudre le problème :
Si vous utilisez Google Cloud CLI, assurez-vous d'utiliser le bon projet:
gcloud config list project
Assurez-vous d'avoir spécifié le nom de sujet correct.
Assurez-vous que le compte de service (
service-PROJECT_NUMBER@gcp-sa-cloudasset.iam.gserviceaccount.com
) dispose de l'autorisationpubsub.topics.publish
sur le sujet, oùPROJECT_NUMBER
correspond au numéro du projet compatible avec l'inventaire des éléments cloud à partir duquel vous prévoyez de créer le flux.Trouver un numéro de projet Google Cloud
Console
Pour trouver un numéro de projet Google Cloud, procédez comme suit:
-
Accédez à la page Tableau de bord dans la console Google Cloud.
- Cliquez sur le sélecteur dans la barre de menu.
- Sélectionnez votre organisation dans la zone Sélectionner à partir de, puis recherchez le nom de votre projet.
- Cliquez sur le nom du projet pour basculer vers ce projet. Le numéro de projet est indiqué dans la fiche Informations sur le projet.
gcloud CLI
Vous pouvez récupérer un numéro de projet Google Cloud à l'aide de la commande suivante:
gcloud projects describe PROJECT_ID --format="value(projectNumber)"
-
Échec de réception des mises à jour de ressources ou de stratégies IAM
Si vous ne recevez pas de notifications pour les mises à jour de ressources ou de stratégies IAM, la vérification des détails de configuration suivants peut vous aider à résoudre le problème :
Assurez-vous que les métadonnées ont été modifiées sur vos éléments. Le flux en temps réel n'envoie des mises à jour que lorsque les métadonnées des types de ressources compatibles ont changé. Les opérations telles que l'importation d'un nouveau fichier dans votre bucket Cloud Storage ne déclenchent pas de modification des métadonnées.
Assurez-vous que vos éléments correspondent à l'un des critères que vous avez spécifiés dans le flux, à savoir les noms et les types d'éléments.
Consultez les journaux pour voir si des erreurs se sont produites lors de la publication des mises à jour sur votre sujet.
Utiliser Cloud Logging
Cette section explique comment configurer et afficher Logging pour les flux en temps réel de Cloud Asset Inventory.
Lorsque les flux en temps réel ne parviennent pas à envoyer des ressources ou des mises à jour de stratégie IAM via Pub/Sub, Cloud Asset Inventory consigne l'état et le message d'erreur via Logging. Logging est activé par défaut et appartient à Google Cloud Observability. Découvrez les tarifs de l'observabilité Google Cloud.
Afficher les journaux de flux en temps réel
Pour afficher les journaux, accédez à la page Explorateur de journaux.
Le journal de flux en temps réel est indexé par un sujet Pub/Sub. Pour afficher tous les journaux, procédez comme suit:
Cliquez sur la boîte combinée Ressource à côté de la zone Rechercher dans tous les champs.
Recherchez
Cloud Pub/Sub Topic
, puis cliquez sur le type de ressource Sujet Cloud Pub/Sub.Cliquez sur l'ID du thème que vous souhaitez afficher.
Cliquez sur Appliquer.
Le codage UTF-8 est appliqué aux champs de journaux. Les caractères qui ne sont pas au format UTF-8 sont remplacés par des points d'interrogation.
Informations consignées
Les entrées de journal de flux en temps réel contiennent les types d'informations suivants :
Informations générales figurant dans la plupart des journaux Google Cloud, telles que la gravité, l'ID de projet, le numéro de projet ou l'horodatage.
Champs de journal de flux en temps réel dans
jsonPayload
, qui contiennent le nom de l'élément, la configuration de sortie du flux, l'état d'erreur lors de la publication de mises à jour de ressources ou de stratégies IAM.
Le tableau suivant indique les types d'informations contenus dans chaque champ.
Champ | Type et description |
---|---|
name |
Nom complet du flux. Le format est l'un des suivants:
|
asset_name |
Nom complet de l'élément qui doit recevoir les mises à jour. Exemple :
Pour en savoir plus, consultez la section Noms des ressources . |
feed_output_config |
Configuration de sortie du flux définissant l'emplacement de publication des mises à jour des éléments. |
condition |
Condition du flux qui détermine si la mise à jour d'un élément doit être publiée |
error_status |
État en cas d'échec de la publication des mises à jour d'éléments dans un flux. |