Este documento descreve como usar as etiquetas para gerir os contentores de registos do Cloud Logging. As etiquetas, que são criadas ao nível da organização ou do projeto, permitem-lhe anotar os seus recursos. Também pode conceder condicionalmente funções de gestão de identidade e de acesso (IAM) ou recusar condicionalmente autorizações de IAM com base no facto de um recurso ter uma etiqueta específica. Para informações sobre etiquetas, consulte o artigo Vista geral das etiquetas.
Por exemplo, se usar o
BigQuery para analisar os seus dados de faturação na nuvem,
pode anexar a etiqueta project:production
a contentores de registos que armazenam
dados de registos de recursos de produção e pode anexar a etiqueta
project:development
a contentores de registos que armazenam dados de registos de
recursos de desenvolvimento. Em seguida, pode consultar
dados de faturação na nuvem com etiquetas e ver uma discriminação dos
custos entre desenvolvimento e produção.
As etiquetas podem ser anexadas explicitamente a contentores de registos ou herdadas da respetiva organização principal, pastas e projetos.
Antes de começar
Para começar a gerir os contentores de registos através de etiquetas, faça o seguinte:
- Certifique-se de que criou uma etiqueta e configurou os respetivos valores. Usa o Resource Manager para gerir definições de etiquetas. Para obter informações sobre como criar e gerir etiquetas, consulte o artigo Criar e gerir etiquetas.
-
Para receber as autorizações de que precisa para gerir os contentores de registos através de etiquetas, peça ao seu administrador que lhe conceda as seguintes funções de IAM no projeto ou na organização:
-
Etiquetar utilizador (
roles/resourcemanager.tagUser
) -
Visualizador de etiquetas (
roles/resourcemanager.tagViewer
)
Para mais informações sobre a atribuição de funções, consulte o artigo Faça a gestão do acesso a projetos, pastas e organizações.
Estas funções predefinidas contêm as autorizações necessárias para gerir os seus contentores de registos através de etiquetas. Para ver as autorizações exatas que são necessárias, expanda a secção Autorizações necessárias:
Autorizações necessárias
As seguintes autorizações são necessárias para gerir os contentores de registos através de etiquetas:
-
Adicione ou remova etiquetas dos contentores de registos:
-
resourcemanager.tagValues.{get,list}
-
resourcemanager.tagKeys.{get,list}
-
resourcemanager.projects.get
-
logging.buckets.createTagbinding
-
logging.buckets.deleteTagBinding
-
-
Veja as etiquetas anexadas a contentores de registos:
-
resourcemanager.tagValues.{get,list}
-
resourcemanager.tagKeys.{get,list}
-
logging.buckets.listTagBindings
-
logging.buckets.listEffectiveTags
-
Também pode conseguir estas autorizações com funções personalizadas ou outras funções predefinidas.
-
Etiquetar utilizador (
-
Para receber a autorização de que precisa para gerir contentores de registos, peça ao seu administrador para lhe conceder a função IAM Gravador de configuração de registos (
roles/logging.configWriter
) no seu projeto. Para mais informações sobre a atribuição de funções, consulte o artigo Faça a gestão do acesso a projetos, pastas e organizações.Esta função predefinida contém a autorização
logging.buckets.list
, que é necessária para gerir contentores de registos.Também pode obter esta autorização com funções personalizadas ou outras funções predefinidas.
Anexe etiquetas a um contentor de registos
Para anexar uma etiqueta a um contentor de registos, faça o seguinte:
Google Cloud consola
-
Na Google Cloud consola, aceda à página Armazenamento de registos:
Aceda a Armazenamento de registos
Se usar a barra de pesquisa para encontrar esta página, selecione o resultado cuja legenda é Registo.
Encontre o contentor de registos ao qual quer anexar uma etiqueta.
No contentor de registos, clique em Maismore_vert e, de seguida, clique em Editar etiquetas.
Na caixa de diálogo, na secção Etiquetas diretas, localize a etiqueta selecionando o recurso no qual a etiqueta foi criada. Por exemplo, para usar uma etiqueta criada ao nível do projeto, escolha Selecionar projeto atual como âmbito.
Também pode pesquisar manualmente o projeto, a organização ou o ID da etiqueta selecionando a opção Introdução manual.
Selecione o par de chave-valor adequado e, de seguida, clique em Guardar.
É apresentada uma caixa de diálogo a confirmar as alterações. Clique em Confirmar para finalizar as alterações.
gcloud
Para anexar uma etiqueta a um contentor de registos, crie uma associação de etiquetas 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 com espaço de nomes do valor da etiqueta. Por exemplo,
tagValues/4567890123
. Para mais informações sobre os identificadores de etiquetas, consulte o artigo Definições e identificadores de etiquetas.BUCKET_NAME: o nome do segmento de registo. Por exemplo,
//logging.googleapis.com/projects/BUCKET_PROJECT_ID/locations/LOCATION/buckets/BUCKET_ID
.LOCATION: a localização do contentor de registos.
API
Para anexar uma etiqueta a um contentor de registos, use o método tagBindings.create
.
Terraform
Para anexar uma etiqueta a um contentor de registos através do Terraform, faça uma das seguintes ações:
- Para contentores de registos na localização
global
, crie um recurso de associação de etiquetas através degoogle_tags_tag_binding
- Para contentores de registos regionais, crie um recurso de associação de etiquetas com o comando
google_tags_location_tag_binding
.
Em seguida, execute terraform apply
para aplicar as alterações.
Veja as etiquetas anexadas a um contentor de registos
Para ver as etiquetas anexadas a um contentor de registos, faça o seguinte:
Google Cloud consola
-
Na Google Cloud consola, aceda à página Armazenamento de registos:
Aceda a Armazenamento de registos
Se usar a barra de pesquisa para encontrar esta página, selecione o resultado cuja legenda é Registo.
Encontre o contentor de registos cujas etiquetas quer ver.
Na coluna Etiquetas, é apresentada uma etiqueta associada ao contentor de registos. Para ver todas as etiquetas associadas ao contentor de registos, clique no botão arrow_drop_down Mais para expandir a lista de etiquetas.
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:
BUCKET_NAME: o nome do segmento de registo. Por exemplo,
//logging.googleapis.com/projects/BUCKET_PROJECT_ID/locations/LOCATION/buckets/BUCKET_ID
.LOCATION: a localização do contentor de registos.
Opcional: para ver as etiquetas herdadas pelo contentor de registos, adicione a flag --effective
. A adição desta flag devolve uma resposta semelhante à seguinte:
namespacedTagKey: 961309089256/environment namespacedTagValue: 961309089256/environment/production tagKey: tagKeys/417628178507 tagValue: tagValues/247197504380 inherited: true
Se todas as etiquetas estiverem explicitamente anexadas ao contentor de registos e não forem herdadas etiquetas, o campo inherited
é falso e é omitido.
API
Para obter uma lista de associações de etiquetas para um contentor, use o método
tagBindings.list
.
Terraform
Pode usar o Terraform para anexar uma etiqueta a um contentor de registos. No entanto, não pode usar o Terraform para listar as etiquetas.
Remova etiquetas num contentor de registos
Para remover as etiquetas anexadas a um contentor de registos, tem de eliminar a associação de etiquetas anexada ao contentor de registos. Para eliminar uma etiqueta, tem de remover as etiquetas de todos os recursos anexados.
Google Cloud consola
-
Na Google Cloud consola, aceda à página Armazenamento de registos:
Aceda a Armazenamento de registos
Se usar a barra de pesquisa para encontrar esta página, selecione o resultado cuja legenda é Registo.
Localize o contentor de registos cuja etiqueta quer remover.
No contentor de registos, clique em Maismore_vert e, de seguida, clique em Editar etiquetas.
Na caixa de diálogo, passe o cursor do rato sobre a etiqueta a remover e clique em
Eliminar item. Clique em Guardar para guardar as alterações.É apresentada uma caixa de diálogo a confirmar as alterações. Clique em Confirmar para finalizar as alterações.
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 com espaço de nomes do valor da etiqueta. Por exemplo,
tagValues/4567890123
. Para mais informações sobre os identificadores de etiquetas, consulte o artigo Definições e identificadores de etiquetas.BUCKET_NAME: o nome do segmento de registo. Por exemplo,
//logging.googleapis.com/projects/BUCKET_PROJECT_ID/locations/LOCATION/buckets/BUCKET_ID
.LOCATION: a localização do contentor de registos.
API
Para remover uma etiqueta num contentor de registos, use o método
tagBindings.delete
.
Terraform
Para remover uma etiqueta num contentor de registos através do Terraform, elimine o recurso de associação de etiquetas na sua configuração e, em seguida, execute terraform apply
para aplicar as alterações.
Limitações
Não pode usar concessões de funções de IAM para controlar os contentores de registos que um principal vê quando lista os contentores de registos num Google Cloud projeto. Um principal vê uma lista completa ou uma lista vazia. No entanto, pode usar concessões de funções de IAM com condições de IAM para restringir as ações que um principal pode realizar num contentor de registos. Por exemplo, pode restringir se um principal pode eliminar um contentor de registos específico.
Se usar exportações de dados da faturação do Google Cloud com o BigQuery, as etiquetas podem demorar até uma hora a serem usadas na exportação. Se uma etiqueta tiver sido adicionada ou removida no prazo de uma hora, ou se o contentor de registos existir há menos de uma hora, pode não aparecer na exportação.
Funções personalizadas e concessões de funções com condições de IAM
Se planeia usar funções de IAM personalizadas e anexar condições de IAM às concessões de funções, pode ter de criar várias funções personalizadas. Algumas autorizações de IAM são anuladas quando uma condição de IAM é anexada a uma concessão de função.
Para o Cloud Logging, as seguintes autorizações de IAM são invalidadas quando uma concessão de função contém uma condição de IAM:
logging.buckets.list
logging.buckets.create
Por conseguinte, pode ter de criar uma função com as autorizações list
e create
, bem como outra função que contenha outras autorizações específicas do contentor.
Por exemplo, pode criar uma função que contenha as autorizações logging.buckets.delete
e logging.buckets.update
.
Quando concede a função que contém as autorizações list
e create
, não anexe uma condição de IAM à concessão de funções.
Quando concede a função que contém as autorizações delete
e update
, pode adicionar uma condição de IAM que restrinja a concessão a recursos com uma etiqueta específica.
O que se segue?
Saiba como definir uma política de organização com etiquetas.
Para obter informações sobre a utilização de etiquetas nas exportações de dados da faturação do Google Cloud, consulte a documentação sobre as exportações de dados da faturação do Google Cloud.