Esta página descreve as Google Cloud etiquetas e como as usar com o Pub/Sub. As etiquetas podem ser aplicadas a tópicos, subscrições e capturas instantâneas do Pub/Sub. O suporte para a aplicação de etiquetas a esquemas do Pub/Sub está planeado.
Acerca das etiquetas
Uma etiqueta é um par de chave-valor que pode anexar a um recurso no âmbito do Google Cloud. Pode usar etiquetas para permitir ou negar condicionalmente políticas com base no facto de um recurso ter uma etiqueta específica. Por exemplo, pode conceder condicionalmente funções de gestão de identidade e de acesso (IAM) com base no facto de um recurso ter uma etiqueta específica. Para mais informações sobre etiquetas, consulte o artigo Vista geral das etiquetas.
As etiquetas são anexadas a recursos através da criação de um recurso de associação de etiquetas que associa o valor ao recurso. Google Cloud
Autorizações necessárias
Para receber as autorizações de que precisa para gerir etiquetas, peça ao seu administrador que lhe conceda as seguintes funções de IAM:
-
Visualizador de etiquetas (
roles/resourcemanager.tagViewer) nos recursos aos quais as etiquetas estão anexadas -
Ver e gerir etiquetas ao nível da organização:
Visitante da organização (
roles/resourcemanager.organizationViewer) na organização -
Criar, atualizar e eliminar definições de etiquetas:
Administrador de etiquetas (
roles/resourcemanager.tagAdmin) no recurso para o qual está a criar, atualizar ou eliminar etiquetas -
Anexar e remover etiquetas de recursos:
Utilizador de etiquetas (
roles/resourcemanager.tagUser) no valor da etiqueta e nos recursos aos quais está a anexar ou remover o valor da etiqueta
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.
Também pode conseguir as autorizações necessárias através de funções personalizadas ou outras funções predefinidas.
Para anexar etiquetas a tópicos, subscrições ou instantâneos do Pub/Sub, precisa da função Editor do Pub/Sub (roles/pubsub.editor).
Crie chaves e valores de etiquetas
Antes de poder anexar uma etiqueta, tem de criar uma etiqueta e configurar o respetivo valor. Para criar chaves de etiquetas e valores de etiquetas, consulte os artigos Criar uma etiqueta e Adicionar um valor de etiqueta.
Adicione etiquetas durante a criação de recursos
Pode adicionar etiquetas no momento da criação de tópicos, subscrições ou capturas instantâneas. A adição de etiquetas durante a criação de recursos permite-lhe fornecer instantaneamente metadados essenciais para os seus recursos e também ajuda a melhorar a organização, o acompanhamento de custos e a aplicação automática de políticas.
Consola
- Aceda à página Pub/Sub na Google Cloud consola.
- Selecione a opção para criar um novo tópico, subscrição ou instantâneo.
- Clique em Gerir etiquetas.
- Se a sua organização não aparecer no painel Gerir etiquetas, clique em Selecionar âmbito das etiquetas. Opte por adicionar etiquetas definidas ao nível da organização ou do projeto e, em seguida, introduza o ID das mesmas.
- Clique em Adicionar etiqueta.
- Selecione a chave da etiqueta que quer anexar na lista. Pode filtrar a lista escrevendo palavras-chave.
- Selecione o valor da etiqueta que quer anexar na lista. Pode filtrar a lista escrevendo palavras-chave.
- Clique em Guardar. A secção Etiquetas é atualizada com as informações das etiquetas.
- Crie o seu tópico, subscrição ou instantâneo. O novo tópico, subscrição ou instantâneo é criado com as etiquetas fornecidas.
gcloud
Para adicionar etiquetas durante a criação de tópicos, subscrições ou instantâneos, execute o seguinte comando:
gcloud pubsub topics create TOPIC_ID --tags=TAG_KEY=TAG_VALUE
Substitua o seguinte:
- TOPIC_ID: o ID do tópico
- TAG_KEY: o ID permanente ou o nome com espaço de nomes da chave de etiqueta anexada, por exemplo, tagKeys/567890123456
- TAG_VALUE: o ID permanente ou o nome com espaço de nomes do valor da etiqueta anexado, por exemplo, tagValues/567890123456
Especifique várias etiquetas separando-as por uma vírgula, por exemplo, TAGKEY1=TAGVALUE1,TAGKEY2=TAGVALUE2
API
Envie um pedido POST para o seguinte URL:
https://pubsub.googleapis.com/v1/projects/PROJECT_ID/topics/TOPIC_IDForneça o seguinte JSON no corpo do pedido:
{
"name": "projects/PROJECT_ID/topics/TOPIC_ID"
"tags": {
"TAGKEY_NAME": "TAGVALUE_NAME"
}
}
Substitua o seguinte:
- PROJECT_ID: o ID do projeto
- TOPIC_ID: o ID do tópico
- TAGKEY_NAME: o ID permanente ou o nome com espaço de nomes da chave de etiqueta anexada, por exemplo, tagKeys/567890123456
- TAGVALUE_NAME: o ID permanente ou o nome com espaço de nomes do valor da etiqueta anexado, por exemplo, tagValues/567890123456
Aplique etiquetas obrigatórias
Pode aplicar etiquetas obrigatórias aos recursos para garantir que etiquetas específicas estão presentes quando os recursos são criados, como uma etiqueta de centro de custos, para manter a conformidade com as políticas organizacionais. Pode fazê-lo através de políticas de organização e restrições personalizadas. A aplicação ocorre na criação de recursos, o que impede o aprovisionamento de recursos sem as etiquetas necessárias. Para mais informações, consulte o artigo Aplicação de etiquetas obrigatórias através de políticas da organização.
Configure uma restrição personalizada para aplicar etiquetas
Consola
Na Google Cloud consola, aceda à página Políticas de organização.
Selecione o selecionador de projetos na parte superior da página.
No seletor de projetos, selecione a organização onde quer aplicar a restrição personalizada.
Configure uma restrição personalizada com os seguintes parâmetros:
- Método de aplicação:
Govern tags - Tipo de recurso: o nome totalmente qualificado do recurso REST Google Cloud
no qual quer aplicar etiquetas obrigatórias, por exemplo,
file.googleapis.com/Instance - Condição: uma condição do Idioma de expressão comum (IEC) que especifica as chaves de etiquetas que quer aplicar ao recurso, por exemplo,
resource.hasDirectTagKey("1234567890/owner")para aplicar uma associação de etiquetas à chave de etiqueta1234567890/owner. A funçãoresource.hasDirectTagKeyCEL só corresponde a etiquetas aplicadas diretamente a um recurso e não considera etiquetas herdadas de antecessores na hierarquia de recursos. - Ação:
AllowouDeny.- Allow: se a condição especificada for cumprida, a ação para criar ou atualizar o recurso é permitida.
- Recusar: se a condição especificada for cumprida, a ação para criar ou atualizar o recurso é bloqueada.
- Método de aplicação:
Clique em Criar restrição.
gcloud
Crie um ficheiro YAML para a restrição personalizada:
name: organizations/ORGANIZATION_ID/customConstraints/CONSTRAINT_NAME
resourceTypes:
- RESOURCE_NAME
methodTypes:
- GOVERN_TAGS
condition: "CONDITION"
actionType: ACTION
displayName: DISPLAY_NAME
description: DESCRIPTION
Substitua o seguinte:
ORGANIZATION_ID: o ID da sua organização, como1234567890.CONSTRAINT_NAME: o nome que quer para a sua nova restrição personalizada. Uma restrição personalizada tem de começar comcustom.e só pode incluir letras maiúsculas, letras minúsculas ou números. Por exemplo,custom.enforceMandatoryTags.RESOURCE_NAME: o nome totalmente qualificado do Google Cloud recurso REST no qual quer aplicar etiquetas obrigatórias, por exemplo,file.googleapis.com/Instance.CONDITION: uma condição do Idioma de expressão comum (IEC) que especifica as chaves de etiquetas que quer aplicar ao recurso, por exemplo,resource.hasDirectTagKey("1234567890/owner")para aplicar uma associação de etiquetas à chave de etiqueta1234567890/owner.ACTION: a ação a tomar se a condiçãoconditionfor cumprida. Pode serALLOWouDENY.A ação de recusa significa que, se a condição especificada for cumprida, a operação para criar ou atualizar o recurso é bloqueada.
A ação allow significa que, se a condição especificada for cumprida, a operação para criar ou atualizar o recurso é permitida. Isto também significa que todos os outros casos, exceto o que está explicitamente indicado na condição, são bloqueados.
DISPLAY_NAME: um nome simples para a restrição. Este campo tem um comprimento máximo de 200 carateres.DESCRIPTION: uma descrição acessível da restrição a apresentar como uma mensagem de erro quando a política é violada. Este campo tem um comprimento máximo de 2000 carateres.
Configure a restrição personalizada para a disponibilizar para as políticas da organização na sua organização.
Depois de definir a restrição personalizada, pode testar e analisar as alterações à política da organização e aplicar a restrição.
Adicione etiquetas a recursos existentes
Para adicionar uma etiqueta a tópicos, subscrições ou instantâneos existentes, siga estes passos:
Consola
- Aceda à página Pub/Sub na Google Cloud consola.
- Selecione a página do recurso ao qual quer anexar uma etiqueta. Por exemplo, para anexar uma etiqueta a um tópico, aceda à página Tópicos.
- Clique em Etiquetas.
- Se a sua organização não aparecer no painel Etiquetas, clique em Selecionar âmbito. Selecione a sua organização e clique em Abrir.
- Clique em Adicionar etiqueta.
- Selecione a chave da etiqueta que quer anexar na lista. Pode filtrar a lista escrevendo palavras-chave.
- Selecione o valor da etiqueta que quer anexar na lista. Pode filtrar a lista escrevendo palavras-chave.
- Clique em Guardar.
- Na caixa de diálogo Confirmar, clique em Confirmar para anexar a etiqueta.
É apresentada uma notificação a confirmar que as etiquetas foram atualizadas.
gcloud
Para anexar uma etiqueta a um tópico, uma subscrição ou uma captura instantânea, tem de criar um recurso de associação de etiquetas através do comando gcloud resource-manager tags bindings create:
gcloud resource-manager tags bindings create \
--tag-value=TAGVALUE_NAME \
--parent=RESOURCE_ID
Substitua o seguinte:
TAGVALUE_NAME: o ID permanente ou o nome com espaço de nomes do valor da etiqueta anexado, por exemplo,tagValues/567890123456.-
RESOURCE_IDé o ID completo do recurso, incluindo o nome do domínio da API para identificar o tipo de recurso (//pubsub.googleapis.com/). Por exemplo, para anexar uma etiqueta a/projects/PROJECT_ID/topics/TOPIC_ID, o ID completo é//pubsub.googleapis.com/projects/PROJECT_ID/topics/TOPIC_ID.
Listar etiquetas anexadas a recursos
Pode ver uma lista de associações de etiquetas anexadas diretamente ou herdadas pelo tópico, pela subscrição ou pela captura instantânea.
Consola
- Aceda à página Pub/Sub na Google Cloud consola.
Selecione a página do recurso cujas etiquetas quer ver. Por exemplo, para ver as etiquetas de um tópico, aceda à página Tópicos.
As etiquetas são apresentadas na secção Etiquetas da página do tópico na consola.
gcloud
Para obter uma lista de associações de etiquetas anexadas a um recurso, use o comando
gcloud resource-manager tags bindings list:
gcloud resource-manager tags bindings list \
--parent=RESOURCE_ID
Substitua o seguinte:
-
RESOURCE_IDé o ID completo do recurso, incluindo o nome do domínio da API para identificar o tipo de recurso (//pubsub.googleapis.com/). Por exemplo, para anexar uma etiqueta a/projects/PROJECT_ID/topics/TOPIC_ID, o ID completo é//pubsub.googleapis.com/projects/PROJECT_ID/topics/TOPIC_ID.
Deve receber uma resposta semelhante à seguinte:
name: tagBindings/%2F%2Fcloudresourcemanager.googleapis.com%2Fprojects%2F7890123456/tagValues/567890123456
tagValue: tagValues/567890123456
resource: //pubsub.googleapis.com/projects/PROJECT_ID/topics/TOPIC_ID
Desassocie etiquetas de recursos
Pode desanexar etiquetas que tenham sido anexadas diretamente a um tópico, uma subscrição ou uma captura instantânea. As etiquetas herdadas podem ser substituídas anexando uma etiqueta com a mesma chave e um valor diferente, mas não podem ser desanexadas.
Consola
- Aceda à página Pub/Sub na Google Cloud consola.
- Selecione a página do recurso ao qual quer remover uma etiqueta. Por exemplo, para remover uma etiqueta de um tópico, aceda à página Tópicos.
- Clique em Etiquetas.
- No painel Etiquetas, junto à etiqueta que quer desassociar, clique em Eliminar item.
- Clique em Guardar.
- Na caixa de diálogo Confirmar, clique em Confirmar para desanexar a etiqueta.
É apresentada uma notificação a confirmar que as etiquetas foram atualizadas.
gcloud
Para eliminar uma associação de etiqueta, use o comando
gcloud resource-manager tags bindings delete:
gcloud resource-manager tags bindings delete \
--tag-value=TAGVALUE_NAME \
--parent=RESOURCE_ID
Substitua o seguinte:
TAGVALUE_NAME: o ID permanente ou o nome com espaço de nomes do valor da etiqueta anexado, por exemplo,tagValues/567890123456.-
RESOURCE_IDé o ID completo do recurso, incluindo o nome do domínio da API para identificar o tipo de recurso (//pubsub.googleapis.com/). Por exemplo, para anexar uma etiqueta a/projects/PROJECT_ID/topics/TOPIC_ID, o ID completo é//pubsub.googleapis.com/projects/PROJECT_ID/topics/TOPIC_ID.
Elimine chaves e valores de etiquetas
Quando remover uma definição de chave ou valor de etiqueta, certifique-se de que a etiqueta está desassociada do tópico, da subscrição ou da captura instantânea. Tem de eliminar as associações de etiquetas existentes, denominadas associações de etiquetas, antes de eliminar a própria definição de etiqueta. Para eliminar chaves de etiquetas e valores de etiquetas, consulte o artigo Eliminar etiquetas.
Condições e etiquetas da gestão de identidade e de acesso
Pode usar etiquetas e condições de IAM para conceder condicionalmente associações de funções a utilizadores na sua hierarquia. A alteração ou a eliminação da etiqueta anexada a um recurso pode remover o acesso do utilizador a esse recurso se tiver sido aplicada uma política do IAM com associações de funções condicionais. Para mais informações, consulte o artigo Condições e etiquetas da gestão de identidade e de acesso.
O que se segue?
- Consulte os outros serviços que suportam etiquetas.
- Consulte o artigo Etiquetas e controlo de acesso para saber como usar etiquetas com a IAM.