Como monitorar mudanças de recursos

Esta página explica como criar e gerenciar feeds em um projeto.

Visão geral

Para receber notificações em tempo real sobre mudanças em recursos e políticas, criar e se inscrever em um feed; Ao configurar o feed, você pode especificar que deseja monitorar alterações de tipos de recursos compatíveis, políticas do IAM, políticas de acesso e políticas da organização organização, pasta e projeto. Além disso, é possível adicionar condições ao seu feed para receber notificações apenas de alguns tipos de alteração em um recurso. Depois de configurar seu feed, você receberá notificações imediatamente sempre que o os recursos especificados são alterados e enviados pelo Pub/Sub (formatado como um TemporalAsset). As notificações em tempo real se conectam às suas cargas de trabalho atuais. Com este é possível mesclar ações, como criar uma função do Cloud Run reverter uma alteração de recurso depois que ela for detectada.

Antes de começar

Antes de começar, conclua as etapas a seguir.

  1. Ative a API Cloud Asset Inventory no projeto em que você executará os comandos da API.

    Ativar a API Cloud Asset Inventory

  2. Configure as permissões necessárias para chame a API Cloud Asset Inventory usando a CLI gcloud ou a API.

  3. Conclua as etapas a seguir para configurar seu ambiente.

    CLI da gcloud

    Configure seu ambiente para usar a CLI gcloud e chamar o a API Cloud Asset Inventory, instale a Google Cloud CLI no seu cliente local.

    REST

    Para configurar o ambiente para chamar a API Cloud Asset Inventory com o curl, conclua as etapas a seguir.

    1. Verifique se você tem acesso ao comando curl.

    2. Não se esqueça de conceder à sua conta um dos seguintes papéis em seu projeto, pasta ou organização.

      • Papel Leitor de recursos do Cloud (roles/cloudasset.viewer)

      • Papel básico do proprietário (roles/owner)

  4. Conceda permissões à conta de serviço ou usuário para chamar a API em tempo real feeds. As seguintes permissões são necessárias para cada operação:

    Permissão Descrição
    cloudasset.feeds.create
    cloudasset.assets.exportResource
    Criar feeds
    cloudasset.feeds.update
    cloudasset.assets.exportResource
    Atualizar feeds
    cloudasset.feeds.delete Excluir feeds
    cloudasset.feeds.get Acessar feeds
    cloudasset.feeds.list Listar feeds

    O papel Proprietário de recursos do Cloud (roles/cloudasset.owner) concede todas as permissões relacionadas à API Cloud Asset, incluindo as permissões listadas na tabela anterior. Para mais informações sobre papéis e permissões, consulte Noções básicas sobre papéis e Como configurar permissões.

  5. Se você estiver exportando metadados de um projeto para outro, verifique se o exportando os dados a conta de serviço padrão do Inventário de recursos do Cloud existe e tem as permissões corretas.

  6. Crie um tópico do Pub/Sub se você não tiver um tópico do Pub/Sub atual.

Limitações

  • Pode levar até 10 minutos para que a criação, a atualização ou a exclusão de um feed entre em vigor.

  • O projeto do consumidor em que o feed é criado precisa sobreviver ao feed porque a conta de serviço usada para publicar no tópico Pub/Sub de destino está localizada no projeto do consumidor. Se o projeto do consumidor for excluído, o Inventário de recursos do Cloud não vai poder publicar no destino. O feed não funciona mais e é excluída assim que a exclusão do projeto é permanente.

Como criar feeds

Você pode criar até 200 feeds em um pai. Esse limite se aplica somente a feeds logo depois daquele pai e não conta os feeds dos filhos dele. Por exemplo, se você tiver 10 projetos em uma organização, cada projeto pode ter até 200 feeds, e a organização também pode ter até 200 feeds.

Para criar um feed para projetos, pastas ou organizações, defina um dos solicitações a seguir. O Inventário de recursos do Cloud define uma notificação para qualquer corresponde a pelo menos um dos parâmetros ASSET do seu feed AND também corresponde à expressão de condição, se especificada.

gcloud

Projetos

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"

Forneça os valores a seguir:

  • FEED_ID: identificador exclusivo do feed de recursos.

  • PROJECT_ID: o ID do projeto cujo metadados estão sendo enviados ao feed.

  • BILLING_PROJECT_ID: opcional. O ID do projeto que o agente de serviço padrão do Inventário de recursos do Cloud está com permissões para gerenciar seu tópico do Pub/Sub. Leia mais sobre projetos de faturamento.

  • TOPIC_ID: o ID do tópico Pub/Sub para publicar notificações.

  • ASSET_NAME: opcional. Uma lista separada por vírgulas de nomes completos de recursos de que você quer receber notificações de alteração.

    É necessário incluir pelo menos um ASSET_NAME ou ASSET_TYPE.

  • ASSET_TYPE: opcional. Uma lista separada por vírgulas de tipos de recursos para o qual você deseja receber notificações de alterações. Expressões regulares compatíveis com RE2 são compatíveis. Se a expressão regular não corresponder a nenhuma tipo de recurso, um erro INVALID_ARGUMENT será retornado.

    Pelo menos um ASSET_NAME ou O campo ASSET_TYPE é obrigatório.

  • CONTENT_TYPE: opcional. O recurso tipo de conteúdo para o qual você deseja receber notificações de alterações.

  • CONDITION_TITLE: opcional. O título da condição a ser aplicada ao feed.

  • CONDITION_DESCRIPTION: opcional. O descrição do condition para aplicar ao feed.

  • CONDITION_EXPRESSION: opcional. O condition [estado] expressão a ser aplicada ao feed.

Pastas

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"

Forneça os valores a seguir:

  • FEED_ID: identificador exclusivo do feed de recursos.

  • FOLDER_ID: o ID da pasta cuja metadados estão sendo enviados ao feed.

    Como encontrar um ID de pasta do Google Cloud

    Console

    Para encontrar um ID de pasta do Google Cloud, siga estas etapas:

    1. Acesse o console do Google Cloud.

      Acessar o console do Google Cloud

    2. Clique na caixa do seletor na barra de menus.
    3. Clique na caixa Selecionar de e escolha a organização.
    4. Pesquise o nome da sua pasta. O ID da pasta é mostrado ao lado do nome dela.

    CLI da gcloud

    Para recuperar um ID de pasta do Google Cloud localizado no nível da organização, use o seguinte 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)"

    Em que TOP_LEVEL_FOLDER_NAME pode ser uma correspondência de string completa ou parcial. Remova o A opção --format para mais informações sobre as pastas encontradas.

    Para conferir o ID de uma pasta em outra, liste as subpastas:

    gcloud resource-manager folders list --folder=FOLDER_ID

  • BILLING_PROJECT_ID: opcional. O ID do projeto que o agente de serviço padrão do Inventário de recursos do Cloud está com permissões para gerenciar seu tópico do Pub/Sub. Leia mais sobre projetos de faturamento.

  • PROJECT_ID: o ID do projeto em que o tópico do Pub/Sub está localizado.

  • TOPIC_ID: o ID do tópico do Pub/Sub para publicar notificações.

  • ASSET_NAME: opcional. Uma lista separada por vírgulas de nomes completos de recursos para o qual você deseja receber notificações de alterações.

    Pelo menos um ASSET_NAME ou O campo ASSET_TYPE é obrigatório.

  • ASSET_TYPE: opcional. Uma lista separada por vírgulas de tipos de recursos para os quais você quer receber notificações de mudança. As expressões regulares são suporte. Se a expressão regular não corresponder a nenhuma tipo de recurso, um erro INVALID_ARGUMENT será retornado.

    Pelo menos um ASSET_NAME ou O campo ASSET_TYPE é obrigatório.

  • CONTENT_TYPE: opcional. O recurso tipo de conteúdo para o qual você deseja receber notificações de alterações.

  • CONDITION_TITLE: opcional. O título do condition [estado] para aplicar ao feed.

  • CONDITION_DESCRIPTION: opcional. O descrição do condition para aplicar ao feed.

  • CONDITION_EXPRESSION: opcional. A expressão de condição a ser aplicada ao feed.

Organizações

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"

Forneça os valores a seguir:

  • FEED_ID: identificador exclusivo do feed de recursos.

  • ORGANIZATION_ID: o ID do projeto cujo metadados estão sendo enviados ao feed.

    Como encontrar um ID da organização do Google Cloud

    Console

    Para encontrar um ID de organização do Google Cloud, siga estas etapas:

    1. Acesse o console do Google Cloud.

      Acessar o console do Google Cloud

    2. Clique na caixa do seletor na barra de menus.
    3. Clique na caixa Selecionar de e escolha a organização.
    4. Selecione a guia Todos. O ID da organização aparece ao lado do nome dela.

    CLI da gcloud

    Recupere um ID da organização do Google Cloud com o seguinte comando:

    gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"

  • BILLING_PROJECT_ID: opcional. O ID do projeto que o agente de serviço padrão do Inventário de recursos do Cloud está com permissões para gerenciar seu tópico do Pub/Sub. Leia mais sobre projetos de faturamento.

  • PROJECT_ID: o ID do projeto em que o do Pub/Sub.

  • TOPIC_ID: o ID do tópico do Pub/Sub para publicar notificações.

  • ASSET_NAME: opcional. Uma lista separada por vírgulas de nomes completos de recursos para o qual você deseja receber notificações de alterações.

    Pelo menos um ASSET_NAME ou O campo ASSET_TYPE é obrigatório.

  • ASSET_TYPE: opcional. Uma lista separada por vírgulas de tipos de recursos para o qual você deseja receber notificações de alterações. As expressões regulares são suporte. Se a expressão regular não corresponder a nenhuma tipo de recurso, um erro INVALID_ARGUMENT será retornado.

    Pelo menos um ASSET_NAME ou O campo ASSET_TYPE é obrigatório.

  • CONTENT_TYPE: opcional. O recurso tipo de conteúdo para o qual você deseja receber notificações de alterações.

  • CONDITION_TITLE: opcional. O título do condition [estado] para aplicar ao feed.

  • CONDITION_DESCRIPTION: opcional. O descrição do condition para aplicar ao feed.

  • CONDITION_EXPRESSION: opcional. A expressão de condição a ser aplicada ao 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

Forneça os valores a seguir:

  • BILLING_PROJECT_ID: opcional. O ID do projeto que o agente de serviço padrão do Inventário de recursos do Cloud está com permissões para gerenciar seu tópico do Pub/Sub. Leia mais sobre projetos de faturamento.

  • FEED_ID: identificador exclusivo do feed de recursos.

  • ASSET_NAME: opcional. Uma lista separada por vírgulas de nomes completos de recursos para os quais você deseja receber notificações de alterações.

    Pelo menos um ASSET_NAME ou O campo ASSET_TYPE é obrigatório.

  • ASSET_TYPE: opcional. Uma lista separada por vírgulas de tipos de recursos para no qual deseja receber notificações de alterações. Expressões regulares são suportados. Se a expressão regular não corresponder a nenhuma tipo de recurso, um erro INVALID_ARGUMENT será retornado.

    Pelo menos um ASSET_NAME ou O campo ASSET_TYPE é obrigatório.

  • CONTENT_TYPE: opcional. O tipo de conteúdo do recurso. para o qual você deseja receber notificações de alterações.

  • PROJECT_ID: o ID do projeto em que o do Pub/Sub.

  • TOPIC_ID: o ID do tópico Pub/Sub para publicar notificações.

  • CONDITION_TITLE: opcional. O título do condition [estado] para aplicar ao feed.

  • CONDITION_DESCRIPTION: opcional. Descrição do campo condition para aplicar ao feed.

  • CONDITION_EXPRESSION: opcional. a condition expressão a ser aplicada ao feed.

  • SCOPE: um escopo pode ser um projeto, uma pasta ou organização.

    Os valores permitidos são:

    • projects/PROJECT_ID

    • projects/PROJECT_NUMBER

      Como encontrar um número de projeto do Google Cloud

      Console

      Para encontrar um número de projeto do Google Cloud, siga estas etapas:

      1. Acesse a página Painel no console do Google Cloud.

        Ir para o painel

      2. Clique na caixa do seletor na barra de menus.
      3. Escolha sua organização na caixa Selecionar de e pesquise as nome do projeto.
      4. Clique no nome do projeto para alternar para ele. O número do projeto é mostrado Card Informações do projeto.

      CLI da gcloud

      Recupere um número de projeto do Google Cloud com o seguinte comando:

      gcloud projects describe PROJECT_ID --format="value(projectNumber)"

    • folders/FOLDER_ID

      Como encontrar um ID de pasta do Google Cloud

      Console

      Para encontrar um ID de pasta do Google Cloud, siga estas etapas:

      1. Acesse o console do Google Cloud.

        Acessar o console do Google Cloud

      2. Clique na caixa do seletor na barra de menus.
      3. Clique na caixa Selecionar de e escolha a organização.
      4. Pesquise o nome da sua pasta. O ID da pasta é mostrado ao lado do nome dela.

      CLI da gcloud

      Para recuperar um ID de pasta do Google Cloud localizado no nível da organização, use o seguinte 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)"

      Em que TOP_LEVEL_FOLDER_NAME pode ser uma correspondência de string completa ou parcial. Remova o A opção --format para mais informações sobre as pastas encontradas.

      Para receber o ID de uma pasta dentro de outra, liste as subpastas:

      gcloud resource-manager folders list --folder=FOLDER_ID

    • organizations/ORGANIZATION_ID

      Como encontrar um ID de organização do Google Cloud

      Console

      Para encontrar um ID de organização do Google Cloud, siga estas etapas:

      1. Acesse o console do Google Cloud.

        Acesse o console do Google Cloud

      2. Clique na caixa do seletor na barra de menus.
      3. Clique na caixa Selecionar de e escolha a organização.
      4. Selecione a guia Todos. O ID da organização aparece ao lado do nome dela.

      CLI da gcloud

      É possível recuperar um ID de organização do Google Cloud com o seguinte comando:

      gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"

Depois de criar um feed, assine as atualizações do tópico Pub/Sub especificado no feed. Um novo feed pode levar até 10 minutos para começar a enviar notificações. Uma notificação é enviada para cada alteração em um recurso que corresponde a assetNames ou assetTypes e satisfaz condition no feed.

A primeira mensagem publicada no tópico do Pub/Sub é de boas-vindas no formato string, e todas as mensagens a seguir estão no de TemporalAsset. Confira um exemplo de mensagem para o tipo de conteúdo 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 saber mais sobre o Pub/Sub ou como configurar assinaturas, consulte a Documentação do Pub/Sub.

Criar um feed para mudanças em buckets do Cloud Storage ou tabelas do BigQuery

Os comandos a seguir criam notificações do TOPIC_ID tópico do Pub/Sub quando o conteúdo é alterado no bucket BUCKET_NAME do Cloud Storage ou em qualquer Tabelas do BigQuery:

gcloud

Projetos

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

Forneça os valores a seguir:

  • FEED_ID: identificador exclusivo do feed de recursos.

  • PROJECT_ID: o ID do projeto cujo metadados estão sendo enviados ao feed.

  • BILLING_PROJECT_ID: opcional. O ID do projeto em que o agente de serviço padrão do Inventário de recursos do Cloud está e que tem permissões para gerenciar seu tópico do Pub/Sub. Leia mais sobre projetos de faturamento.

  • TOPIC_ID: o ID do tópico Pub/Sub para publicar notificações.

  • BUCKET_NAME: o Cloud Storage o nome do bucket a ser monitorado.

Pastas

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

Forneça os valores a seguir:

  • FEED_ID: identificador exclusivo do feed de recursos.

  • FOLDER_ID: o ID da pasta cuja metadados estão sendo enviados ao feed.

    Como encontrar um ID de pasta do Google Cloud

    Console

    Para encontrar um ID de pasta do Google Cloud, siga estas etapas:

    1. Acesse o console do Google Cloud.

      Acessar o console do Google Cloud

    2. Clique na caixa do seletor na barra de menus.
    3. Clique na caixa Selecionar de e escolha a organização.
    4. Pesquise o nome da sua pasta. O ID da pasta é mostrado ao lado do nome dela.

    CLI da gcloud

    Para recuperar um ID de pasta do Google Cloud localizado no nível da organização, use o seguinte 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)"

    Em que TOP_LEVEL_FOLDER_NAME pode ser uma correspondência de string completa ou parcial. Remova o A opção --format para mais informações sobre as pastas encontradas.

    Para conferir o ID de uma pasta em outra, liste as subpastas:

    gcloud resource-manager folders list --folder=FOLDER_ID

  • BILLING_PROJECT_ID: opcional. O ID do projeto que o agente de serviço padrão do Inventário de recursos do Cloud está com permissões para gerenciar seu tópico do Pub/Sub. Leia mais sobre projetos de faturamento.

  • TOPIC_ID: o ID do tópico Pub/Sub para publicar notificações.

  • BUCKET_NAME: o Cloud Storage o nome do bucket a ser monitorado.

Organizações

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

Forneça os valores a seguir:

  • FEED_ID: identificador exclusivo do feed de recursos.

  • ORGANIZATION_ID: o ID da organização cujos metadados estão sendo enviados ao feed.

    Como encontrar um ID de organização do Google Cloud

    Console

    Para encontrar um ID de organização do Google Cloud, siga estas etapas:

    1. Acesse o console do Google Cloud.

      Acessar o console do Google Cloud

    2. Clique na caixa do seletor na barra de menus.
    3. Clique na caixa Selecionar de e escolha a organização.
    4. Selecione a guia Todos. O ID da organização aparece ao lado do nome dela.

    CLI da gcloud

    Recupere um ID da organização do Google Cloud com o seguinte comando:

    gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"

  • BILLING_PROJECT_ID: opcional. O ID do projeto que o agente de serviço padrão do Inventário de recursos do Cloud está com permissões para gerenciar seu tópico do Pub/Sub. Leia mais sobre os projetos de faturamento.

  • TOPIC_ID: o ID do tópico Pub/Sub para publicar notificações.

  • BUCKET_NAME: o Cloud Storage o nome do bucket a ser monitorado.

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

Forneça os valores a seguir:

  • BILLING_PROJECT_ID: opcional. O ID do projeto em que o agente de serviço padrão do Inventário de recursos do Cloud está e que tem permissões para gerenciar seu tópico do Pub/Sub. Leia mais sobre projetos de faturamento.

  • FEED_ID: um identificador exclusivo do feed de recursos.

  • BUCKET_NAME: o Cloud Storage o nome do bucket a ser monitorado.

  • PROJECT_ID: o ID do projeto com os metadados que estão sendo enviados para o feed.

  • TOPIC_ID: o ID do tópico do Pub/Sub para publicar notificações.

  • SCOPE: um escopo pode ser um projeto, uma pasta ou organização.

    Os valores permitidos são:

    • projects/PROJECT_ID

    • projects/PROJECT_NUMBER

      Como encontrar um número de projeto do Google Cloud

      Console

      Para encontrar um número de projeto do Google Cloud, siga estas etapas:

      1. Acesse a página Painel no console do Google Cloud.

        Ir para o painel

      2. Clique na caixa do seletor na barra de menus.
      3. Escolha sua organização na caixa Selecionar de e pesquise as nome do projeto.
      4. Clique no nome do projeto para alternar para ele. O número do projeto é mostrado Card Informações do projeto.

      CLI da gcloud

      Recupere um número de projeto do Google Cloud com o seguinte comando:

      gcloud projects describe PROJECT_ID --format="value(projectNumber)"

    • folders/FOLDER_ID

      Como encontrar um ID de pasta do Google Cloud

      Console

      Para encontrar um ID de pasta do Google Cloud, siga estas etapas:

      1. Acesse o console do Google Cloud.

        Acessar o console do Google Cloud

      2. Clique na caixa do seletor na barra de menus.
      3. Clique na caixa Selecionar de e escolha a organização.
      4. Pesquise o nome da sua pasta. O ID da pasta é mostrado ao lado do nome dela.

      CLI da gcloud

      Para recuperar um ID de pasta do Google Cloud localizado no nível da organização, use o seguinte 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)"

      Em que TOP_LEVEL_FOLDER_NAME pode ser uma correspondência de string completa ou parcial. Remova o A opção --format para mais informações sobre as pastas encontradas.

      Para receber o ID de uma pasta dentro de outra, liste as subpastas:

      gcloud resource-manager folders list --folder=FOLDER_ID

    • organizations/ORGANIZATION_ID

      Como encontrar um ID de organização do Google Cloud

      Console

      Para encontrar um ID de organização do Google Cloud, siga estas etapas:

      1. Acesse o console do Google Cloud.

        Acessar o console do Google Cloud

      2. Clique na caixa do seletor na barra de menus.
      3. Clique na caixa Selecionar de e escolha a organização.
      4. Selecione a guia Todos. O ID da organização aparece ao lado do nome dela.

      CLI da gcloud

      Recupere um ID da organização do Google Cloud com o seguinte comando:

      gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"

As notificações são enviadas apenas quando os metadados do recurso ou da política do recurso muda a si mesmo. No exemplo anterior, alterar qualquer recurso em buckets do Cloud Storage ou tabelas do BigQuery não acionam uma notificação.

Como criar um feed para mudanças no tipo de recurso

As solicitações a seguir criam notificações do TOPIC_ID tópico do Pub/Sub quando o conteúdo é alterado nos recursos com tipo de ativo que começa com compute.googleapis.com.

gcloud

Projetos

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.*

Forneça os valores a seguir:

  • FEED_ID: identificador exclusivo do feed de recursos.

  • PROJECT_ID: o ID do projeto cujo metadados estão sendo enviados ao feed.

  • BILLING_PROJECT_ID: opcional. O ID do projeto que o agente de serviço padrão do Inventário de recursos do Cloud está com permissões para gerenciar seu tópico do Pub/Sub. Leia mais sobre projetos de faturamento.

  • TOPIC_ID: o ID do tópico Pub/Sub para publicar notificações.

Pastas

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.*

Forneça os valores a seguir:

  • FEED_ID: identificador exclusivo do feed de recursos.

  • FOLDER_ID: o ID da pasta cuja metadados estão sendo enviados ao feed.

    Como encontrar um ID de pasta do Google Cloud

    Console

    Para encontrar um ID de pasta do Google Cloud, siga estas etapas:

    1. Acesse o console do Google Cloud.

      Acessar o console do Google Cloud

    2. Clique na caixa do seletor na barra de menus.
    3. Clique na caixa Selecionar de e escolha a organização.
    4. Pesquise o nome da sua pasta. O ID da pasta é mostrado ao lado do nome dela.

    CLI da gcloud

    Para recuperar um ID de pasta do Google Cloud localizado no nível da organização, use o seguinte 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)"

    Em que TOP_LEVEL_FOLDER_NAME pode ser uma correspondência de string completa ou parcial. Remova o A opção --format para mais informações sobre as pastas encontradas.

    Para conferir o ID de uma pasta em outra, liste as subpastas:

    gcloud resource-manager folders list --folder=FOLDER_ID

  • BILLING_PROJECT_ID: opcional. O ID do projeto que o agente de serviço padrão do Inventário de recursos do Cloud está com permissões para gerenciar seu tópico do Pub/Sub. Leia mais sobre projetos de faturamento.

  • TOPIC_ID: o ID do tópico Pub/Sub para publicar notificações.

Organizações

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.*

Forneça os valores a seguir:

  • FEED_ID: identificador exclusivo do feed de recursos.

  • ORGANIZATION_ID: o ID da organização cujos metadados estão sendo enviados ao feed.

    Como encontrar um ID de organização do Google Cloud

    Console

    Para encontrar um ID de organização do Google Cloud, siga estas etapas:

    1. Acesse o console do Google Cloud.

      Acessar o console do Google Cloud

    2. Clique na caixa do seletor na barra de menus.
    3. Clique na caixa Selecionar de e escolha a organização.
    4. Selecione a guia Todos. O ID da organização aparece ao lado do nome dela.

    CLI da gcloud

    Recupere um ID da organização do Google Cloud com o seguinte comando:

    gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"

  • BILLING_PROJECT_ID: opcional. O ID do projeto que o agente de serviço padrão do Inventário de recursos do Cloud está com permissões para gerenciar seu tópico do Pub/Sub. Leia mais sobre projetos de faturamento.

  • TOPIC_ID: o ID do tópico Pub/Sub para publicar notificações.

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

Forneça os valores a seguir:

  • BILLING_PROJECT_ID: opcional. O ID do projeto que o agente de serviço padrão do Inventário de recursos do Cloud está com permissões para gerenciar seu tópico do Pub/Sub. Leia mais sobre os projetos de faturamento.

  • FEED_ID: um identificador exclusivo do feed de recursos.

  • PROJECT_ID: o ID do projeto cujo metadados estão sendo enviados ao feed.

  • TOPIC_ID: o ID do tópico do Pub/Sub para publicar notificações.

  • SCOPE: um escopo pode ser um projeto, uma pasta ou organização.

    Os valores permitidos são:

    • projects/PROJECT_ID

    • projects/PROJECT_NUMBER

      Como encontrar um número de projeto do Google Cloud

      Console

      Para encontrar um número de projeto do Google Cloud, siga estas etapas:

      1. Acesse a página Painel no console do Google Cloud.

        Ir para o painel

      2. Clique na caixa do seletor na barra de menus.
      3. Escolha sua organização na caixa Selecionar de e pesquise as nome do projeto.
      4. Clique no nome do projeto para alternar para ele. O número do projeto é mostrado Card Informações do projeto.

      CLI da gcloud

      Recupere um número de projeto do Google Cloud com o seguinte comando:

      gcloud projects describe PROJECT_ID --format="value(projectNumber)"

    • folders/FOLDER_ID

      Como encontrar um ID de pasta do Google Cloud

      Console

      Para encontrar um ID de pasta do Google Cloud, siga estas etapas:

      1. Acesse o console do Google Cloud.

        Acessar o console do Google Cloud

      2. Clique na caixa do seletor na barra de menus.
      3. Clique na caixa Selecionar de e escolha a organização.
      4. Pesquise o nome da sua pasta. O ID da pasta é mostrado ao lado do nome dela.

      CLI da gcloud

      Para recuperar um ID de pasta do Google Cloud localizado no nível da organização, use o seguinte 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)"

      Em que TOP_LEVEL_FOLDER_NAME pode ser uma correspondência de string completa ou parcial. Remova o A opção --format para mais informações sobre as pastas encontradas.

      Para receber o ID de uma pasta dentro de outra, liste as subpastas:

      gcloud resource-manager folders list --folder=FOLDER_ID

    • organizations/ORGANIZATION_ID

      Como encontrar um ID de organização do Google Cloud

      Console

      Para encontrar um ID de organização do Google Cloud, siga estas etapas:

      1. Acesse o console do Google Cloud.

        Acessar o console do Google Cloud

      2. Clique na caixa do seletor na barra de menus.
      3. Clique na caixa Selecionar de e escolha a organização.
      4. Selecione a guia Todos. O ID da organização aparece ao lado do nome dela.

      CLI da gcloud

      Recupere um ID da organização do Google Cloud com o seguinte comando:

      gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"

Receber feeds

Para receber um feed específico, faça uma das seguintes solicitações.

gcloud

Projetos

gcloud asset feeds describe FEED_ID \
    --project=PROJECT_ID \
    --billing-project=BILLING_PROJECT_ID

Forneça os valores a seguir:

  • FEED_ID: um identificador exclusivo do feed de recursos.

  • PROJECT_ID: o ID do projeto cujo metadados são publicados no feed.

  • BILLING_PROJECT_ID: opcional. O ID do projeto que o agente de serviço padrão do Inventário de recursos do Cloud está com permissões para gerenciar seu tópico do Pub/Sub. Leia mais sobre projetos de faturamento.

Pastas

gcloud asset feeds describe FEED_ID \
    --folder=FOLDER_ID \
    --billing-project=BILLING_PROJECT_ID

Forneça os valores a seguir:

  • FEED_ID: identificador exclusivo do feed de recursos.

  • FOLDER_ID: o ID da pasta cuja metadados são publicados no feed.

    Como encontrar um ID de pasta do Google Cloud

    Console

    Para encontrar um ID de pasta do Google Cloud, siga estas etapas:

    1. Acesse o console do Google Cloud.

      Acessar o console do Google Cloud

    2. Clique na caixa do seletor na barra de menus.
    3. Clique na caixa Selecionar de e escolha a organização.
    4. Pesquise o nome da sua pasta. O ID da pasta é mostrado ao lado do nome dela.

    CLI da gcloud

    Para recuperar um ID de pasta do Google Cloud localizado no nível da organização, use o seguinte 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)"

    Em que TOP_LEVEL_FOLDER_NAME pode ser uma correspondência de string completa ou parcial. Remova o A opção --format para mais informações sobre as pastas encontradas.

    Para conferir o ID de uma pasta em outra, liste as subpastas:

    gcloud resource-manager folders list --folder=FOLDER_ID

  • BILLING_PROJECT_ID: opcional. O ID do projeto que o agente de serviço padrão do Inventário de recursos do Cloud está com permissões para gerenciar seu tópico do Pub/Sub. Leia mais sobre os projetos de faturamento.

Organizações

gcloud asset feeds describe FEED_ID \
    --organization=ORGANIZATION_ID \
    --billing-project=BILLING_PROJECT_ID

Forneça os valores a seguir:

  • FEED_ID: identificador exclusivo do feed de recursos.

  • ORGANIZATION_ID: o ID da organização cujos metadados são publicados no feed.

    Como encontrar um ID de organização do Google Cloud

    Console

    Para encontrar um ID de organização do Google Cloud, siga estas etapas:

    1. Acesse o console do Google Cloud.

      Acessar o console do Google Cloud

    2. Clique na caixa do seletor na barra de menus.
    3. Clique na caixa Selecionar de e escolha a organização.
    4. Selecione a guia Todos. O ID da organização aparece ao lado do nome dela.

    CLI da gcloud

    Recupere um ID da organização do Google Cloud com o seguinte comando:

    gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"

  • BILLING_PROJECT_ID: opcional. O ID do projeto que o agente de serviço padrão do Inventário de recursos do Cloud está com permissões para gerenciar seu tópico do Pub/Sub. Leia mais sobre projetos de faturamento.

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

Forneça os valores a seguir:

  • BILLING_PROJECT_ID: opcional. O ID do projeto em que o agente de serviço padrão do Cloud Asset Inventory está e que tem permissões para gerenciar seu tópico do Pub/Sub. Leia mais sobre os projetos de faturamento.

  • SCOPE: um escopo pode ser um projeto, uma pasta ou uma organização. Não é possível usar IDs de projetos.

    Os valores permitidos são:

    • projects/PROJECT_NUMBER

      Como encontrar um número de projeto do Google Cloud

      Console

      Para encontrar um número de projeto do Google Cloud, siga estas etapas:

      1. Acesse a página Painel no console do Google Cloud.

        Ir para o painel

      2. Clique na caixa do seletor na barra de menus.
      3. Escolha sua organização na caixa Selecionar de e pesquise as nome do projeto.
      4. Clique no nome do projeto para alternar para ele. O número do projeto é mostrado Card Informações do projeto.

      CLI da gcloud

      Recupere um número de projeto do Google Cloud com o seguinte comando:

      gcloud projects describe PROJECT_ID --format="value(projectNumber)"

    • folders/FOLDER_ID

      Como encontrar um ID de pasta do Google Cloud

      Console

      Para encontrar um ID de pasta do Google Cloud, siga estas etapas:

      1. Acesse o console do Google Cloud.

        Acessar o console do Google Cloud

      2. Clique na caixa do seletor na barra de menus.
      3. Clique na caixa Selecionar de e escolha a organização.
      4. Pesquise o nome da sua pasta. O ID da pasta é mostrado ao lado do nome dela.

      CLI da gcloud

      Para recuperar um ID de pasta do Google Cloud localizado no nível da organização, use o seguinte 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)"

      Em que TOP_LEVEL_FOLDER_NAME pode ser uma correspondência de string completa ou parcial. Remova o A opção --format para mais informações sobre as pastas encontradas.

      Para receber o ID de uma pasta dentro de outra, liste as subpastas:

      gcloud resource-manager folders list --folder=FOLDER_ID

    • organizations/ORGANIZATION_ID

      Como encontrar um ID de organização do Google Cloud

      Console

      Para encontrar um ID de organização do Google Cloud, siga estas etapas:

      1. Acesse o console do Google Cloud.

        Acessar o console do Google Cloud

      2. Clique na caixa do seletor na barra de menus.
      3. Clique na caixa Selecionar de e escolha a organização.
      4. Selecione a guia Todos. O ID da organização aparece ao lado do nome dela.

      CLI da gcloud

      Recupere um ID da organização do Google Cloud com o seguinte comando:

      gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"

  • FEED_ID: identificador exclusivo do feed de recursos.

O feed é retornado no seguinte formato, em que FULL_NAME_FEED_ID é o identificador do feed, junto com seu pai do recurso:

{
  "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 da página de detalhes

Para listar todos os feeds de um projeto, pasta ou organização, crie um dos solicitações a seguir.

gcloud

Projetos

gcloud asset feeds list \
    --project=PROJECT_ID \
    --billing-project=BILLING_PROJECT_ID

Forneça os valores a seguir:

  • PROJECT_ID: o ID do projeto cujo metadados são publicados no feed.

  • BILLING_PROJECT_ID: opcional. O ID do projeto que o agente de serviço padrão do Inventário de recursos do Cloud está com permissões para gerenciar seu tópico do Pub/Sub. Leia mais sobre projetos de faturamento.

Pastas

gcloud asset feeds list \
    --folder=FOLDER_ID \
    --billing-project=BILLING_PROJECT_ID

Forneça os valores a seguir:

  • FOLDER_ID: o ID da pasta cujos metadados são publicados no feed.

    Como encontrar um ID de pasta do Google Cloud

    Console

    Para encontrar um ID de pasta do Google Cloud, siga estas etapas:

    1. Acesse o console do Google Cloud.

      Acessar o console do Google Cloud

    2. Clique na caixa Alternador na barra de menus.
    3. Clique na caixa Selecionar de e escolha a organização.
    4. Pesquise o nome da sua pasta. O ID da pasta é mostrado ao lado do nome dela.

    CLI da gcloud

    Para recuperar um ID de pasta do Google Cloud localizado no nível da organização, use o seguinte 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)"

    Em que TOP_LEVEL_FOLDER_NAME pode ser uma correspondência de string completa ou parcial. Remova o A opção --format para mais informações sobre as pastas encontradas.

    Para conferir o ID de uma pasta em outra, liste as subpastas:

    gcloud resource-manager folders list --folder=FOLDER_ID

  • BILLING_PROJECT_ID: opcional. O ID do projeto que o agente de serviço padrão do Inventário de recursos do Cloud está com permissões para gerenciar seu tópico do Pub/Sub. Leia mais sobre projetos de faturamento.

Organizações

gcloud asset feeds list \
    --organization=ORGANIZATION_ID \
    --billing-project=BILLING_PROJECT_ID

Forneça os valores a seguir:

  • ORGANIZATION_ID: o ID da organização cujos metadados são publicados no feed.

    Como encontrar um ID de organização do Google Cloud

    Console

    Para encontrar um ID de organização do Google Cloud, siga estas etapas:

    1. Acesse o console do Google Cloud.

      Acessar o console do Google Cloud

    2. Clique na caixa do seletor na barra de menus.
    3. Clique na caixa Selecionar de e escolha a organização.
    4. Selecione a guia Todos. O ID da organização aparece ao lado do nome dela.

    CLI da gcloud

    Recupere um ID da organização do Google Cloud com o seguinte comando:

    gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"

  • BILLING_PROJECT_ID: opcional. O ID do projeto que o agente de serviço padrão do Inventário de recursos do Cloud está com permissões para gerenciar seu tópico do Pub/Sub. Leia mais sobre projetos de faturamento.

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

Forneça os valores a seguir:

  • BILLING_PROJECT_ID: opcional. O ID do projeto em que o agente de serviço padrão do Cloud Asset Inventory está e que tem permissões para gerenciar seu tópico do Pub/Sub. Leia mais sobre projetos de faturamento.

  • SCOPE: um escopo pode ser um projeto, uma pasta ou organização.

    Os valores permitidos são:

    • projects/PROJECT_ID

    • projects/PROJECT_NUMBER

      Como encontrar um número de projeto do Google Cloud

      Console

      Para encontrar um número de projeto do Google Cloud, siga estas etapas:

      1. Acesse a página Painel no console do Google Cloud.

        Ir para o painel

      2. Clique na caixa do seletor na barra de menus.
      3. Escolha sua organização na caixa Selecionar de e pesquise as nome do projeto.
      4. Clique no nome do projeto para alternar para ele. O número do projeto é mostrado Card Informações do projeto.

      CLI da gcloud

      Recupere um número de projeto do Google Cloud com o seguinte comando:

      gcloud projects describe PROJECT_ID --format="value(projectNumber)"

    • folders/FOLDER_ID

      Como encontrar um ID de pasta do Google Cloud

      Console

      Para encontrar um ID de pasta do Google Cloud, siga estas etapas:

      1. Acesse o console do Google Cloud.

        Acessar o console do Google Cloud

      2. Clique na caixa do seletor na barra de menus.
      3. Clique na caixa Selecionar de e escolha a organização.
      4. Pesquise o nome da sua pasta. O ID da pasta é mostrado ao lado do nome dela.

      CLI da gcloud

      Para recuperar um ID de pasta do Google Cloud localizado no nível da organização, use o seguinte 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)"

      Em que TOP_LEVEL_FOLDER_NAME pode ser uma correspondência de string completa ou parcial. Remova o A opção --format para mais informações sobre as pastas encontradas.

      Para receber o ID de uma pasta dentro de outra, liste as subpastas:

      gcloud resource-manager folders list --folder=FOLDER_ID

    • organizations/ORGANIZATION_ID

      Como encontrar um ID de organização do Google Cloud

      Console

      Para encontrar um ID de organização do Google Cloud, siga estas etapas:

      1. Acesse o console do Google Cloud.

        Acessar o console do Google Cloud

      2. Clique na caixa do seletor na barra de menus.
      3. Clique na caixa Selecionar de e escolha a organização.
      4. Selecione a guia Todos. O ID da organização aparece ao lado do nome dela.

      CLI da gcloud

      Recupere um ID da organização do Google Cloud com o seguinte comando:

      gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"

Atualizando feeds

Para atualizar os atributos de um feed, você precisa especificar o caminho do atributo no update_mask e o valor desse atributo. A solicitação a seguir atualiza os valores assetNames e topic de um feed em um projeto.

gcloud

Projetos

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,...

Forneça os valores a seguir:

  • PROJECT_ID: o ID do projeto cujo metadados são publicados no feed.

  • BILLING_PROJECT_ID: opcional. O ID do projeto que o agente de serviço padrão do Inventário de recursos do Cloud está com permissões para gerenciar seu tópico do Pub/Sub. Leia mais sobre projetos de faturamento.

  • TOPIC_ID: o ID do tópico do Pub/Sub em que as notificações são publicadas.

  • ASSET_NAME: opcional. Uma lista separada por vírgulas de nomes completos de recursos para no qual deseja receber notificações de alterações.

Pastas

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,...

Forneça os valores a seguir:

  • FOLDER_ID: o ID da pasta cujos metadados são publicados no feed.

    Como encontrar um ID de pasta do Google Cloud

    Console

    Para encontrar um ID de pasta do Google Cloud, siga estas etapas:

    1. Acesse o console do Google Cloud.

      Acessar o console do Google Cloud

    2. Clique na caixa do seletor na barra de menus.
    3. Clique na caixa Selecionar de e escolha a organização.
    4. Pesquise o nome da sua pasta. O ID da pasta é mostrado ao lado do nome dela.

    CLI da gcloud

    Para recuperar um ID de pasta do Google Cloud localizado no nível da organização, use o seguinte 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)"

    Em que TOP_LEVEL_FOLDER_NAME pode ser uma correspondência de string completa ou parcial. Remova o A opção --format para mais informações sobre as pastas encontradas.

    Para conferir o ID de uma pasta em outra, liste as subpastas:

    gcloud resource-manager folders list --folder=FOLDER_ID

  • BILLING_PROJECT_ID: opcional. O ID do projeto em que o agente de serviço padrão do Inventário de recursos do Cloud está e que tem permissões para gerenciar seu tópico do Pub/Sub. Leia mais sobre projetos de faturamento.

  • PROJECT_ID: o ID do projeto em que o do Pub/Sub.

  • TOPIC_ID: o ID do tópico Pub/Sub onde as notificações são publicadas.

  • ASSET_NAME: opcional. Uma lista separada por vírgulas de nomes completos de recursos para no qual deseja receber notificações de alterações.

Organizações

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,...

Forneça os valores a seguir:

  • ORGANIZATION_ID: o ID da organização cujos metadados são publicados no feed.

    Como encontrar um ID de organização do Google Cloud

    Console

    Para encontrar um ID de organização do Google Cloud, siga estas etapas:

    1. Acesse o console do Google Cloud.

      Acessar o console do Google Cloud

    2. Clique na caixa do seletor na barra de menus.
    3. Clique na caixa Selecionar de e escolha a organização.
    4. Selecione a guia Todos. O ID da organização aparece ao lado do nome dela.

    CLI da gcloud

    Recupere um ID da organização do Google Cloud com o seguinte comando:

    gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"

  • BILLING_PROJECT_ID: opcional. O ID do projeto que o agente de serviço padrão do Inventário de recursos do Cloud está com permissões para gerenciar seu tópico do Pub/Sub. Leia mais sobre projetos de faturamento.

  • PROJECT_ID: o ID do projeto em que o do Pub/Sub.

  • TOPIC_ID: o ID do tópico Pub/Sub onde as notificações são publicadas.

  • ASSET_NAME: opcional. Uma lista separada por vírgulas de nomes completos de recursos de que você quer receber notificações de alteração.

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

Forneça os valores a seguir:

  • BILLING_PROJECT_ID: opcional. O ID do projeto em que o agente de serviço padrão do Cloud Asset Inventory está e que tem permissões para gerenciar seu tópico do Pub/Sub. Leia mais sobre projetos de faturamento.

  • ASSET_NAME: opcional. Uma lista separada por vírgulas de nomes completos de recursos de que você quer receber notificações de alteração.

  • PROJECT_ID: o ID do projeto em que o do Pub/Sub.

  • TOPIC_ID: o ID do tópico Pub/Sub onde as notificações são publicadas.

  • SCOPE: um escopo pode ser um projeto, uma pasta ou organização. IDs de projeto não são compatíveis.

    Os valores permitidos são:

    • projects/PROJECT_NUMBER

      Como encontrar um número de projeto do Google Cloud

      Console

      Para encontrar um número de projeto do Google Cloud, siga estas etapas:

      1. Acesse a página Painel no console do Google Cloud.

        Ir para o painel

      2. Clique na caixa do seletor na barra de menus.
      3. Escolha sua organização na caixa Selecionar de e pesquise as nome do projeto.
      4. Clique no nome do projeto para alternar para ele. O número do projeto é mostrado Card Informações do projeto.

      CLI da gcloud

      Recupere um número de projeto do Google Cloud com o seguinte comando:

      gcloud projects describe PROJECT_ID --format="value(projectNumber)"

    • folders/FOLDER_ID

      Como encontrar um ID de pasta do Google Cloud

      Console

      Para encontrar um ID de pasta do Google Cloud, siga estas etapas:

      1. Acesse o console do Google Cloud.

        Acesse o console do Google Cloud

      2. Clique na caixa do seletor na barra de menus.
      3. Clique na caixa Selecionar de e escolha a organização.
      4. Pesquise o nome da sua pasta. O ID da pasta é mostrado ao lado do nome dela.

      CLI da gcloud

      Para recuperar um ID de pasta do Google Cloud localizado no nível da organização, use o seguinte 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)"

      Em que TOP_LEVEL_FOLDER_NAME pode ser uma correspondência de string completa ou parcial. Remova o A opção --format para mais informações sobre as pastas encontradas.

      Para receber o ID de uma pasta dentro de outra, liste as subpastas:

      gcloud resource-manager folders list --folder=FOLDER_ID

    • organizations/ORGANIZATION_ID

      Como encontrar um ID de organização do Google Cloud

      Console

      Para encontrar um ID de organização do Google Cloud, siga estas etapas:

      1. Acesse o console do Google Cloud.

        Acessar o console do Google Cloud

      2. Clique na caixa do seletor na barra de menus.
      3. Clique na caixa Selecionar de e escolha a organização.
      4. Selecione a guia Todos. O ID da organização aparece ao lado do nome dela.

      CLI da gcloud

      Recupere um ID da organização do Google Cloud com o seguinte comando:

      gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"

Como excluir feeds

Se você não quiser mais receber notificações sobre alterações de recurso, use o seguinte comando para excluir um feed em um projeto.

gcloud

Projetos

gcloud asset feeds delete FEED_ID \
    --project=PROJECT_ID \
    --billing-project=BILLING_PROJECT_ID

Forneça os valores a seguir:

  • PROJECT_ID: o ID do projeto cujo metadados são publicados no feed.

  • BILLING_PROJECT_ID: opcional. O ID do projeto que o agente de serviço padrão do Inventário de recursos do Cloud está com permissões para gerenciar seu tópico do Pub/Sub. Leia mais sobre os projetos de faturamento.

Pastas

gcloud asset feeds delete FEED_ID \
    --folder=FOLDER_ID \
    --billing-project=BILLING_PROJECT_ID

Forneça os valores a seguir:

  • FOLDER_ID: o ID da pasta cuja metadados são publicados no feed.

  • BILLING_PROJECT_ID: opcional. O ID do projeto que o agente de serviço padrão do Inventário de recursos do Cloud está com permissões para gerenciar seu tópico do Pub/Sub. Leia mais sobre projetos de faturamento.

Organizações

gcloud asset feeds delete FEED_ID \
    --organization=ORGANIZATION_ID \
    --billing-project=BILLING_PROJECT_ID

Forneça os valores a seguir:

  • ORGANIZATION_ID: o ID da organização cujas informações são publicadas no feed.

  • BILLING_PROJECT_ID: opcional. O ID do projeto que o agente de serviço padrão do Inventário de recursos do Cloud está com permissões para gerenciar seu tópico do Pub/Sub. Leia mais sobre os projetos de faturamento.

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

Forneça os valores a seguir:

  • BILLING_PROJECT_ID: opcional. O ID do projeto em que o agente de serviço padrão do Inventário de recursos do Cloud está e que tem permissões para gerenciar seu tópico do Pub/Sub. Leia mais sobre projetos de faturamento.

  • SCOPE: um escopo pode ser um projeto, uma pasta ou organização. Não é possível usar IDs de projetos.

    Os valores permitidos são:

    • projects/PROJECT_NUMBER

      Como encontrar um número de projeto do Google Cloud

      Console

      Para encontrar um número de projeto do Google Cloud, siga estas etapas:

      1. Acesse a página Painel no console do Google Cloud.

        Ir para o painel

      2. Clique na caixa Alternador na barra de menus.
      3. Escolha sua organização na caixa Selecionar de e pesquise as nome do projeto.
      4. Clique no nome do projeto para alternar para ele. O número do projeto é mostrado Card Informações do projeto.

      CLI da gcloud

      Recupere um número de projeto do Google Cloud com o seguinte comando:

      gcloud projects describe PROJECT_ID --format="value(projectNumber)"

    • folders/FOLDER_ID

      Como encontrar um ID de pasta do Google Cloud

      Console

      Para encontrar um ID de pasta do Google Cloud, siga estas etapas:

      1. Acesse o console do Google Cloud.

        Acessar o console do Google Cloud

      2. Clique na caixa do seletor na barra de menus.
      3. Clique na caixa Selecionar de e escolha a organização.
      4. Pesquise o nome da sua pasta. O ID da pasta é mostrado ao lado do nome dela.

      CLI da gcloud

      Para recuperar um ID de pasta do Google Cloud localizado no nível da organização, use o seguinte 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)"

      Em que TOP_LEVEL_FOLDER_NAME pode ser uma correspondência de string completa ou parcial. Remova o A opção --format para mais informações sobre as pastas encontradas.

      Para receber o ID de uma pasta dentro de outra, liste as subpastas:

      gcloud resource-manager folders list --folder=FOLDER_ID

    • organizations/ORGANIZATION_ID

      Como encontrar um ID de organização do Google Cloud

      Console

      Para encontrar um ID de organização do Google Cloud, siga estas etapas:

      1. Acesse o console do Google Cloud.

        Acessar o console do Google Cloud

      2. Clique na caixa do seletor na barra de menus.
      3. Clique na caixa Selecionar de e escolha a organização.
      4. Selecione a guia Todos. O ID da organização aparece ao lado do nome dela.

      CLI da gcloud

      É possível recuperar um ID de organização do Google Cloud com o seguinte comando:

      gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"

Solução de problemas

Nesta seção, mostramos como solucionar problemas comuns.

Falha ao criar ou atualizar feeds

Se a criação ou a atualização de um feed falhar, isso poderá ser causado por um problema com as permissões. Cada solicitação de criação ou atualização de feed inclui três partes: o projeto do consumidor usado para chamar a API, o pai de destino a ser monitorado e o tópico do Pub/Sub de destino para receber a notificação.

Para criar ou atualizar um feed, as seguintes permissões são necessárias:

  • O autor da chamada ou a conta de serviço precisa ter permissões de recursos no pai de destino (que pode ser um projeto, uma pasta ou uma organização).

  • A conta de serviço do recurso (service-PROJECT_NUMBER@gcp-sa-cloudasset.iam.gserviceaccount.com) no projeto de consumidor com a API Cloud Asset ativada precisa ter pubsub.topics.publish no tópico de destino do Pub/Sub.

Uma mensagem de erro que contém does not have permission pode indicar que o usuário ou a conta de serviço não tem as permissões do recurso. Saiba mais sobre as permissões necessárias.

Uma mensagem de erro que contém Fail to use TOPIC_ID as feed output destination conseguiu indicam que há um problema ao publicar a mensagem no tópico especificado no destino de saída do feed. Para resolver o problema:

  • Se você estiver usando a Google Cloud CLI, verifique se está utilizando o projeto correto:

    gcloud config list project
    
  • Verifique se você especificou o nome correto do tópico.

  • Verifique se a conta de serviço (service-PROJECT_NUMBER@gcp-sa-cloudasset.iam.gserviceaccount.com) tem a permissão pubsub.topics.publish no tópico, em que PROJECT_NUMBER é o número do projeto habilitado para o Inventário de recursos do Cloud que você planeja criar o feed.

    Como encontrar um número de projeto do Google Cloud

    Console

    Para encontrar um número de projeto do Google Cloud, siga estas etapas:

    1. Acesse a página Painel no console do Google Cloud.

      Ir para o painel

    2. Clique na caixa Alternador na barra de menus.
    3. Escolha sua organização na caixa Selecionar de e pesquise as nome do projeto.
    4. Clique no nome do projeto para alternar para ele. O número do projeto é mostrado Card Informações do projeto.

    CLI da gcloud

    Recupere um número de projeto do Google Cloud com o seguinte comando:

    gcloud projects describe PROJECT_ID --format="value(projectNumber)"

Falha ao receber atualizações de recursos ou atualizações de políticas do IAM

Se você não estiver recebendo notificações de atualizações de recursos ou de políticas do IAM, verifique os seguintes detalhes de configuração:

  • Verifique se os metadados foram alterados nos seus recursos. O feed em tempo real só envia atualizações quando os metadados dos tipos de recursos compatíveis são alterados. Operações como o upload de um novo arquivo para o bucket do Cloud Storage não acionam uma mudança nos metadados.

  • Verifique se os recursos atendem a um dos critérios especificados no feed, que são nomes e tipos de recursos.

  • Verifique se há erros ao publicar atualizações no tópico.

Uso do Cloud Logging

Nesta seção, descrevemos como configurar e visualizar o Logging para feeds em tempo real do Inventário de recursos do Cloud.

Quando os feeds em tempo real não enviam recursos ou atualizações de política do IAM por meio do Pub/Sub, o Inventário de recursos do Cloud registra o status de erro e a mensagem por meio do Logging. A geração de registros é ativada padrão e pertence à organização "Observability". Saiba mais sobre Preços do Google Cloud Observability.

Como visualizar registros de feeds em tempo real

Para conferir os registros, acesse o Explorador de registros.

O registro do feed em tempo real é indexado por um tópico do Pub/Sub. Para mostrar todos registros:

  1. Clique na caixa de combinação Recurso ao lado de Pesquisar todos os campos. caixa

  2. Pesquise Cloud Pub/Sub Topic e clique no tópico do Cloud Pub/Sub tipo de recurso.

  3. Clique no ID do tema que você quer consultar.

  4. Clique em Aplicar.

A codificação UTF-8 é aplicada aos campos de registro. Os caracteres que não forem UTF-8 serão substituídos por pontos de interrogação.

Informações registradas

As entradas de registro do feed em tempo real contêm os seguintes tipos de informações:

  • Informações gerais exibidas na maioria dos registros do Google Cloud, como gravidade, ID do projeto, número do projeto ou carimbo de data/hora;

  • Campos de registro de feed em tempo real em jsonPayload, que contêm nome de recurso, configuração de saída do feed, status de erro ao publicar recursos ou atualizações de política do IAM.

A tabela a seguir mostra quais tipos de informações cada campo contém.

Campo Tipo e descrição
name

string

Nome completo do feed. O formato é um dos seguintes:

  • projects/PROJECT_ID/feeds/FEED_ID
  • folders/FOLDER_ID/feeds/FEED_ID
  • organizations/ORGANIZATION_ID/feeds/FEED_ID
asset_name

string

Nome completo do recurso para receber atualizações. Exemplo:

//compute.googleapis.com/projects/my_project_123/zones/zone1/instances/instance1

Consulte Nomes de recursos para mais informações.

feed_output_config

FeedOutputConfig

Configuração de saída do feed que define o local das atualizações do recurso foi publicado.

condition

Expr

A condição do feed que determina se uma atualização de recurso deve ser publicadas.

error_status

Status

Status quando não é possível publicar as atualizações de recursos em um feed.