Gerenciar buckets de registros usando tags

Este documento descreve como usar tags para gerenciar seus buckets de registro do Cloud Logging. As tags, que são criadas no nível da organização ou do projeto, permitem anotar seus recursos. Também é possível conceder papéis do Identity and Access Management (IAM) condicionalmente ou negar condicionalmente permissões do IAM com base no fato de um recurso ter uma tag específica. Para mais informações sobre tags, consulte Visão geral das tags.

Por exemplo, se você usa o BigQuery para analisar seus dados do Cloud Billing, é possível anexar a tag project:production a buckets de registro que armazenam dados de registro de recursos de produção e a tag project:development a buckets de registro que armazenam dados de registro de recursos de desenvolvimento. Em seguida, consulte os dados do Cloud Billing com tags e confira um detalhamento dos custos entre desenvolvimento e produção.

As tags podem ser anexadas explicitamente a buckets de registro ou herdadas da organização, pastas e projetos pai.

Antes de começar

Para começar a gerenciar os buckets de registro usando tags, faça o seguinte:

  1. Verifique se você criou uma tag e configurou os valores dela. Use o Resource Manager para gerenciar definições de tags. Para saber como criar e gerenciar tags, consulte Criar e gerenciar tags.
  2. Para receber as permissões necessárias para gerenciar os buckets de registro usando tags, peça ao administrador para conceder a você os seguintes papéis do IAM no projeto ou na organização:

    Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.

    Esses papéis predefinidos contêm as permissões necessárias para gerenciar os buckets de registro usando tags. Para conferir as permissões exatas necessárias, expanda a seção Permissões necessárias:

    Permissões necessárias

    As seguintes permissões são necessárias para gerenciar buckets de registros usando tags:

    • Adicione ou remova tags dos buckets de registro:
      • resourcemanager.tagValues.{get,list}
      • resourcemanager.tagKeys.{get,list}
      • resourcemanager.projects.get
      • logging.buckets.createTagbinding
      • logging.buckets.deleteTagBinding
    • Confira as tags anexadas aos buckets de registro:
      • resourcemanager.tagValues.{get,list}
      • resourcemanager.tagKeys.{get,list}
      • logging.buckets.listTagBindings
      • logging.buckets.listEffectiveTags

    Essas permissões também podem ser concedidas com funções personalizadas ou outros papéis predefinidos.

  3. Para receber a permissão necessária para gerenciar buckets de registro, peça ao administrador para conceder a você o papel do IAM de Gravador de configuração de registros (roles/logging.configWriter) no projeto. Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.

    Esse papel predefinido contém a permissão logging.buckets.list, que é necessária para gerenciar buckets de registro.

    Também é possível conseguir essa permissão com papéis personalizados ou outros papéis predefinidos.

Anexar tags a um bucket de registros

Para anexar uma tag a um bucket de registros, faça o seguinte:

Console do Google Cloud

  1. No console do Google Cloud, acesse a página Armazenamento de registros:

    Acessar o armazenamento de registros

    Se você usar a barra de pesquisa para encontrar essa página, selecione o resultado com o subtítulo Logging.

  2. Localize o bucket de registros para anexar uma tag.

  3. No bucket de registros, clique em Mais e em Editar tags.

  4. Na caixa de diálogo, na seção Tags diretas, localize a tag selecionando o recurso em que ela foi criada. Por exemplo, para usar uma tag criada no nível do projeto, escolha Selecionar projeto atual como escopo.

    Também é possível pesquisar manualmente o ID do projeto, da organização ou da tag selecionando a opção Entrada manual.

  5. Selecione o par de chave-valor adequado e clique em Salvar.

  6. Uma caixa de diálogo confirmando suas mudanças vai aparecer. Clique em Confirmar para finalizar as mudanças.

gcloud

Para anexar uma tag a um bucket de registros, crie uma vinculação de tag executando o comando gcloud resource-manager tags bindings create:

gcloud resource-manager tags bindings create \
--tag-value=TAG_VALUE_ID \
--parent=BUCKET_NAME \
--location=LOCATION

No comando anterior, faça as seguintes substituições:

  • TAG_VALUE_ID: o ID permanente ou o nome do namespace do valor da tag. Por exemplo, tagValues/4567890123. Para mais informações sobre identificadores de tags, consulte Definições e identificadores de tags.

  • BUCKET_NAME: o nome do bucket de registros. Por exemplo, logging.googleapis.com/projects/BUCKET_PROJECT_ID/locations/LOCATION/buckets/BUCKET_ID.

  • LOCATION: o local do bucket de registros.

API

Para anexar uma tag a um bucket de registros, use o método tagBindings.create.

Conferir tags anexadas a um bucket de registros

Para conferir as tags anexadas a um bucket de registros, faça o seguinte:

Console do Google Cloud

  1. No console do Google Cloud, acesse a página Armazenamento de registros:

    Acessar o armazenamento de registros

    Se você usar a barra de pesquisa para encontrar essa página, selecione o resultado com o subtítulo Logging.

  2. Localize o bucket de registros com as tags que você quer consultar.

    Na coluna Tags, uma tag associada ao bucket de registros é listada. Para acessar todas as tags associadas ao bucket de registros, clique no botão Mais para expandir a lista de tags.

gcloud

Execute o comando gcloud resource-manager tags bindings list:

gcloud resource-manager tags bindings list \
--parent=BUCKET_NAME \
--location=LOCATION

No comando anterior, faça as seguintes substituições:

  • TAG_VALUE_ID: o ID permanente ou o nome do namespace do valor da tag. Por exemplo, tagValues/4567890123. Para mais informações sobre identificadores de tags, consulte Definições e identificadores de tags.

  • BUCKET_NAME: o nome do bucket de registros. Por exemplo, logging.googleapis.com/projects/BUCKET_PROJECT_ID/locations/LOCATION/buckets/BUCKET_ID.

  • LOCATION: o local do bucket de registros.

Opcional: para conferir as tags herdadas pelo bucket de registros, adicione a flag --effective. A inclusão dessa flag retorna uma resposta semelhante a esta:

namespacedTagKey: 961309089256/environment
namespacedTagValue: 961309089256/environment/production
tagKey: tagKeys/417628178507
tagValue: tagValues/247197504380
inherited: true

Se todas as tags forem anexadas explicitamente ao bucket de registros e nenhuma for herdada, o campo inherited será falso e será omitido.

API

Para conferir uma lista de vinculações de tags para um bucket, use o método tagBindings.list.

Remover tags de um bucket de registros

Para remover as tags anexadas a um bucket de registros, exclua a vinculação de tag anexada a ele. Para excluir uma tag, remova-a de todos os recursos anexados.

Console do Google Cloud

  1. No console do Google Cloud, acesse a página Armazenamento de registros:

    Acessar o armazenamento de registros

    Se você usar a barra de pesquisa para encontrar essa página, selecione o resultado com o subtítulo Logging.

  2. Localize o bucket de registros com a tag que você quer remover.

  3. No bucket de registros, clique em Mais e em Editar tags.

  4. Na caixa de diálogo, mantenha o ponteiro sobre a tag a ser removida e clique em Excluir item. Clique em Salvar para salvar as mudanças.

  5. Uma caixa de diálogo confirmando suas mudanças vai aparecer. Clique em Confirmar para finalizar as mudanças.

gcloud

Execute o comando gcloud resource-manager tags bindings delete:

gcloud resource-manager tags bindings delete \
--tag-value=TAG_VALUE_ID \
--parent=BUCKET_NAME \
--location=LOCATION

No comando anterior, faça as seguintes substituições:

  • TAG_VALUE_ID: o ID permanente ou o nome do namespace do valor da tag. Por exemplo, tagValues/4567890123. Para mais informações sobre os identificadores de tags, consulte Definições e identificadores de tags.

  • BUCKET_NAME: o nome do bucket de registros. Por exemplo, logging.googleapis.com/projects/BUCKET_PROJECT_ID/locations/LOCATION/buckets/BUCKET_ID.

  • LOCATION: o local do bucket de registros.

API

Para remover uma tag de um bucket de registros, use o método tagBindings.delete.

Limitações

  • Não é possível usar as concessões de função do IAM para controlar quais buckets de registro um principal vê quando lista os buckets de registro em um projeto do Google Cloud. Um administrador vai encontrar uma lista completa ou vazia. No entanto, é possível usar concessões de função do IAM com condições do IAM para restringir as ações que um principal pode realizar em um bucket de registros. Por exemplo, é possível restringir se um principal pode excluir um bucket de registros específico.

  • Se você usar exportações de dados do Cloud Billing com o BigQuery, as tags poderão levar até uma hora para serem usadas na exportação. Se uma tag tiver sido adicionada ou removida em uma hora ou se o bucket de registros existir por menos de uma hora, talvez ela não apareça na exportação.

Papéis personalizados e permissões de papel com condições do IAM

Se você planeja usar funções personalizadas do IAM e anexar condições do IAM às concessões de função, talvez seja necessário criar várias funções personalizadas. Algumas permissões do IAM são invalidadas quando uma condição do IAM é anexada a uma concessão de função.

No Cloud Logging, as seguintes permissões do IAM são invalidadas quando uma concessão de função contém uma condição do IAM:

  • logging.buckets.list
  • logging.buckets.create

Portanto, talvez seja necessário criar um papel com as permissões list e create e outro que contenha outras permissões específicas do bucket. Por exemplo, você pode criar um papel que contenha as permissões logging.buckets.delete e logging.buckets.update.

Ao conceder o papel que contém as permissões list e create, não anexe uma condição do IAM à concessão de função. Ao conceder o papel que contém as permissões delete e update, é possível adicionar uma condição do IAM que restrinja a concessão a recursos com uma tag específica.

A seguir