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, crie e se inscreva em um feed. Ao configurar o feed, especifique que você quer monitorar alterações de tipos de recursos, políticas do IAM, políticas de acesso e políticas da organização compatíveis em uma organização, pasta, projeto. Além disso, é possível adicionar condições ao seu feed para receber notificações apenas sobre determinados tipos de mudanças em um recurso. Após configurar o feed, você vai receber notificações imediatamente sempre que os recursos especificados forem alterados, enviados pelo Pub/Sub (formatado como TemporalAsset). As notificações em tempo real se conectam às suas cargas de trabalho atuais. Com essa funcionalidade, é possível mesclar ações, como criar uma função do Cloud para 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 chamar 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

    Para configurar o ambiente a fim de usar a CLI gcloud para chamar a API Cloud Asset Inventory, instale a Google Cloud CLI no cliente local.

    REST

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

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

    2. Conceda à conta um dos papéis a seguir no 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 ao usuário ou à conta de serviço para chamar a API para feeds em tempo real. 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 a conta de serviço padrão do Inventário de recursos do Cloud do projeto de exportação 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, atualização ou exclusão de feeds 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 deixa de funcionar e é excluído assim que a exclusão do projeto é permanente.

Criação de feeds

É possível criar até 200 feeds em um pai. Esse limite se aplica apenas a feeds que seguem o pai. Não inclui 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, faça uma das solicitações a seguir. O Inventário de recursos do Cloud define uma notificação para qualquer recurso que corresponda a pelo menos um dos parâmetros ASSET do seu feed E também corresponda à 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: um identificador exclusivo de feed de recursos.

  • PROJECT_ID: o ID do projeto com os metadados que 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 do Pub/Sub em que as notificações serão publicadas.

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

    É necessário pelo menos um ASSET_NAME ou ASSET_TYPE.

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

    É necessário pelo menos um ASSET_NAME ou ASSET_TYPE.

  • CONTENT_TYPE: opcional. O tipo de conteúdo do recurso sobre o qual você quer receber notificações de mudanças.

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

  • CONDITION_DESCRIPTION: opcional. A descrição da condição a ser aplicada ao feed.

  • CONDITION_EXPRESSION: opcional. A expressão condition 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: um identificador exclusivo de feed de recursos.

  • FOLDER_ID: o ID da pasta cujos 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.

      Acesse o console do Google Cloud

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

    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 a opção --format para conferir mais informações sobre as pastas encontradas.

    Para ver o ID de uma pasta dentro de 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 tópico do Pub/Sub está localizado.

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

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

    É necessário pelo menos um ASSET_NAME ou ASSET_TYPE.

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

    É necessário pelo menos um ASSET_NAME ou ASSET_TYPE.

  • CONTENT_TYPE: opcional. O tipo de conteúdo do recurso sobre o qual você quer receber notificações de mudanças.

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

  • CONDITION_DESCRIPTION: opcional. A descrição da condição a ser aplicada ao feed.

  • CONDITION_EXPRESSION: opcional. A expressão condition 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: um identificador exclusivo de feed de recursos.

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

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

    Console

    Para encontrar um ID da 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 sua organização.
    4. Selecione a guia Todos. O ID é exibido ao lado do nome da organização.

    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 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 tópico do Pub/Sub está localizado.

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

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

    É necessário pelo menos um ASSET_NAME ou ASSET_TYPE.

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

    É necessário pelo menos um ASSET_NAME ou ASSET_TYPE.

  • CONTENT_TYPE: opcional. O tipo de conteúdo do recurso sobre o qual você quer receber notificações de mudanças.

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

  • CONDITION_DESCRIPTION: opcional. A descrição da condição a ser aplicada ao feed.

  • CONDITION_EXPRESSION: opcional. A expressão condition 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 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 de feed de recursos.

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

    É necessário pelo menos um ASSET_NAME ou ASSET_TYPE.

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

    É necessário pelo menos um ASSET_NAME ou ASSET_TYPE.

  • CONTENT_TYPE: opcional. O tipo de conteúdo do recurso para que você quer receber notificações de mudanças.

  • 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 em que as notificações serão publicadas.

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

  • CONDITION_DESCRIPTION: opcional. A descrição da condição a ser aplicada ao feed.

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

  • SCOPE: um escopo pode ser um projeto, uma pasta ou uma 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. Selecione a organização na caixa Selecionar de e pesquise o nome do projeto.
      4. Clique no nome do projeto para alternar para ele. O número do projeto é mostrado no 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 sua organização.
      4. Pesquise o nome da pasta. O ID é exibido ao lado do nome da pasta.

      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 a opção --format para conferir mais informações sobre as pastas encontradas.

      Para ver 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 da organização do Google Cloud

      Console

      Para encontrar um ID da 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 sua organização.
      4. Selecione a guia Todos. O ID é exibido ao lado do nome da organização.

      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))"

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 é uma mensagem de boas-vindas no formato de string, e todas as mensagens a seguir estão no formato 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 alterações no bucket do Cloud Storage ou na tabela do BigQuery

Os comandos a seguir criam notificações do tópico TOPIC_ID do Pub/Sub quando o conteúdo é alterado no bucket BUCKET_NAME do Cloud Storage ou em qualquer tabela 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: um identificador exclusivo de feed de recursos.

  • PROJECT_ID: o ID do projeto com os metadados que 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 do Pub/Sub em que as notificações serão publicadas.

  • BUCKET_NAME: o nome do bucket do Cloud Storage que 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: um identificador exclusivo de feed de recursos.

  • FOLDER_ID: o ID da pasta cujos 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.

      Acesse o console do Google Cloud

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

    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 a opção --format para conferir mais informações sobre as pastas encontradas.

    Para ver o ID de uma pasta dentro de 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.

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

  • BUCKET_NAME: o nome do bucket do Cloud Storage que 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: um identificador exclusivo de feed de recursos.

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

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

    Console

    Para encontrar um ID da 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 sua organização.
    4. Selecione a guia Todos. O ID é exibido ao lado do nome da organização.

    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 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 do Pub/Sub em que as notificações serão publicadas.

  • BUCKET_NAME: o nome do bucket do Cloud Storage que 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 de feed de recursos.

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

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

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

  • SCOPE: um escopo pode ser um projeto, uma pasta ou uma 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. Selecione a organização na caixa Selecionar de e pesquise o nome do projeto.
      4. Clique no nome do projeto para alternar para ele. O número do projeto é mostrado no 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 sua organização.
      4. Pesquise o nome da pasta. O ID é exibido ao lado do nome da pasta.

      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 a opção --format para conferir mais informações sobre as pastas encontradas.

      Para ver 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 da organização do Google Cloud

      Console

      Para encontrar um ID da 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 sua organização.
      4. Selecione a guia Todos. O ID é exibido ao lado do nome da organização.

      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 próprio recurso são alterados. No exemplo anterior, alterar qualquer recurso em buckets do Cloud Storage ou tabelas do BigQuery não aciona uma notificação.

Criar um feed para alterações de tipo de recurso

As solicitações a seguir criam notificações do tópico TOPIC_ID do Pub/Sub quando o conteúdo é alterado nos recursos cujo tipo de recurso 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: um identificador exclusivo de feed de recursos.

  • PROJECT_ID: o ID do projeto com os metadados que 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 do Pub/Sub em que as notificações serão publicadas.

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: um identificador exclusivo de feed de recursos.

  • FOLDER_ID: o ID da pasta cujos 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.

      Acesse o console do Google Cloud

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

    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 a opção --format para conferir mais informações sobre as pastas encontradas.

    Para ver o ID de uma pasta dentro de 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.

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

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: um identificador exclusivo de feed de recursos.

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

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

    Console

    Para encontrar um ID da 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 sua organização.
    4. Selecione a guia Todos. O ID é exibido ao lado do nome da organização.

    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 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 do Pub/Sub em que as notificações serão publicadas.

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 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 de feed de recursos.

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

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

  • SCOPE: um escopo pode ser um projeto, uma pasta ou uma 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. Selecione a organização na caixa Selecionar de e pesquise o nome do projeto.
      4. Clique no nome do projeto para alternar para ele. O número do projeto é mostrado no 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 sua organização.
      4. Pesquise o nome da pasta. O ID é exibido ao lado do nome da pasta.

      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 a opção --format para conferir mais informações sobre as pastas encontradas.

      Para ver 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 da organização do Google Cloud

      Console

      Para encontrar um ID da 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 sua organização.
      4. Selecione a guia Todos. O ID é exibido ao lado do nome da organização.

      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 solicitações a seguir.

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 de feed de recursos.

  • PROJECT_ID: o ID do projeto com os metadados que foram publicados no 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.

Pastas

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

Forneça os valores a seguir:

  • FEED_ID: um identificador exclusivo de feed de recursos.

  • FOLDER_ID: o ID da pasta com os metadados 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.

      Acesse o console do Google Cloud

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

    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 a opção --format para conferir mais informações sobre as pastas encontradas.

    Para ver o ID de uma pasta dentro de 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.

Organizações

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

Forneça os valores a seguir:

  • FEED_ID: um identificador exclusivo de feed de recursos.

  • ORGANIZATION_ID: o ID da organização com os metadados publicados no feed.

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

    Console

    Para encontrar um ID da 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 sua organização.
    4. Selecione a guia Todos. O ID é exibido ao lado do nome da organização.

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

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 usado pelo agente de serviço padrão do Inventário de recursos do Cloud e que tem permissões para gerenciar o tópico do Pub/Sub. Leia mais sobre projetos de faturamento.

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

    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. Selecione a organização na caixa Selecionar de e pesquise o nome do projeto.
      4. Clique no nome do projeto para alternar para ele. O número do projeto é mostrado no 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 sua organização.
      4. Pesquise o nome da pasta. O ID é exibido ao lado do nome da pasta.

      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 a opção --format para conferir mais informações sobre as pastas encontradas.

      Para ver 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 da organização do Google Cloud

      Console

      Para encontrar um ID da 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 sua organização.
      4. Selecione a guia Todos. O ID é exibido ao lado do nome da organização.

      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: um identificador exclusivo de feed de recursos.

O feed é retornado no formato a seguir, em que FULL_NAME_FEED_ID é o identificador do feed junto com o 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, faça uma das 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 com os metadados que foram publicados no 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.

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 com os metadados 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.

      Acesse o console do Google Cloud

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

    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 a opção --format para conferir mais informações sobre as pastas encontradas.

    Para ver o ID de uma pasta dentro de 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.

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 com os metadados publicados no feed.

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

    Console

    Para encontrar um ID da 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 sua organização.
    4. Selecione a guia Todos. O ID é exibido ao lado do nome da organização.

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

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 usado pelo agente de serviço padrão do Inventário de recursos do Cloud e que tem permissões para gerenciar o tópico do Pub/Sub. Leia mais sobre projetos de faturamento.

  • SCOPE: um escopo pode ser um projeto, uma pasta ou uma 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. Selecione a organização na caixa Selecionar de e pesquise o nome do projeto.
      4. Clique no nome do projeto para alternar para ele. O número do projeto é mostrado no 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 sua organização.
      4. Pesquise o nome da pasta. O ID é exibido ao lado do nome da pasta.

      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 a opção --format para conferir mais informações sobre as pastas encontradas.

      Para ver 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 da organização do Google Cloud

      Console

      Para encontrar um ID da 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 sua organização.
      4. Selecione a guia Todos. O ID é exibido ao lado do nome da organização.

      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))"

Atualização de 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 com os metadados que foram publicados no 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 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 os quais você quer receber notificações de mudança.

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 com os metadados 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.

      Acesse o console do Google Cloud

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

    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 a opção --format para conferir mais informações sobre as pastas encontradas.

    Para ver o ID de uma pasta dentro de 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 tópico do Pub/Sub está localizado.

  • 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 os quais você quer receber notificações de mudança.

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 com os metadados publicados no feed.

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

    Console

    Para encontrar um ID da 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 sua organização.
    4. Selecione a guia Todos. O ID é exibido ao lado do nome da organização.

    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 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 tópico do Pub/Sub está localizado.

  • 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 os quais você quer receber notificações de mudança.

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 usado pelo agente de serviço padrão do Inventário de recursos do Cloud e que tem permissões para gerenciar o 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 para os quais você quer receber notificações de mudanças.

  • 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 em que as notificações são publicadas.

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

    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. Selecione a organização na caixa Selecionar de e pesquise o nome do projeto.
      4. Clique no nome do projeto para alternar para ele. O número do projeto é mostrado no 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 sua organização.
      4. Pesquise o nome da pasta. O ID é exibido ao lado do nome da pasta.

      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 a opção --format para conferir mais informações sobre as pastas encontradas.

      Para ver 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 da organização do Google Cloud

      Console

      Para encontrar um ID da 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 sua organização.
      4. Selecione a guia Todos. O ID é exibido ao lado do nome da organização.

      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))"

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 com os metadados que foram publicados no 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.

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 com os metadados publicados no 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.

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 com os metadados publicados no 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.

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 uma organização. IDs de projeto não são aceitos.

    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. Selecione a organização na caixa Selecionar de e pesquise o nome do projeto.
      4. Clique no nome do projeto para alternar para ele. O número do projeto é mostrado no 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 sua organização.
      4. Pesquise o nome da pasta. O ID é exibido ao lado do nome da pasta.

      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 a opção --format para conferir mais informações sobre as pastas encontradas.

      Para ver 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 da organização do Google Cloud

      Console

      Para encontrar um ID da 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 sua organização.
      4. Selecione a guia Todos. O ID é exibido ao lado do nome da organização.

      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))"

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 recurso 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 ativado pela API Cloud Asset precisa ter a permissão pubsub.topics.publish no tópico do Pub/Sub de destino.

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

Uma mensagem de erro que contém Fail to use TOPIC_ID as feed output destination pode indicar que há um problema ao publicar a mensagem no tópico especificado no destino de saída do feed. Siga estas instruções para resolver o problema:

  • Se você usa a Google Cloud CLI, verifique se o projeto correto está sendo usado:

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

  • 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 ativado pelo Inventário de recursos do Cloud do qual 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 do seletor na barra de menus.
    3. Selecione a organização na caixa Selecionar de e pesquise o nome do projeto.
    4. Clique no nome do projeto para alternar para ele. O número do projeto é mostrado no 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 upload de um novo arquivo para o bucket do Cloud Storage não acionam uma alteração de 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. O Logging é ativado por padrão e pertence à observabilidade do Google Cloud. Saiba mais sobre os preços de observabilidade do Google Cloud.

Como visualizar registros de feeds em tempo real

Para acessar os registros, acesse a Análise de registros.

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

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

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

  3. Clique no ID do tópico que você quer visualizar.

  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 destes:

  • 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 onde as atualizações de recursos são publicadas.

condition

Expr

Condição do feed que determina se uma atualização de recurso será publicada.

error_status

Status

Status quando há uma falha na publicação das atualizações do recurso em um feed.