Crie e faça a gestão de etiquetas

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

  1. Aceda à página Pub/Sub na Google Cloud consola.
  2. Aceda ao Pub/Sub

  3. Selecione a opção para criar um novo tópico, subscrição ou instantâneo.
  4. Clique em Gerir etiquetas.
  5. 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.
  6. Clique em Adicionar etiqueta.
  7. Selecione a chave da etiqueta que quer anexar na lista. Pode filtrar a lista escrevendo palavras-chave.
  8. Selecione o valor da etiqueta que quer anexar na lista. Pode filtrar a lista escrevendo palavras-chave.
  9. Clique em Guardar. A secção Etiquetas é atualizada com as informações das etiquetas.
  10. 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_ID

Forneç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

  1. Na Google Cloud consola, aceda à página Políticas de organização.

    Aceda às políticas da organização

  2. Selecione o selecionador de projetos na parte superior da página.

  3. No seletor de projetos, selecione a organização onde quer aplicar a restrição personalizada.

  4. 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 etiqueta 1234567890/owner. A função resource.hasDirectTagKey CEL só corresponde a etiquetas aplicadas diretamente a um recurso e não considera etiquetas herdadas de antecessores na hierarquia de recursos.
    • Ação: Allow ou Deny.
      • 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.
  5. 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, como 1234567890.

  • CONSTRAINT_NAME: o nome que quer para a sua nova restrição personalizada. Uma restrição personalizada tem de começar com custom. 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 etiqueta 1234567890/owner.

  • ACTION: a ação a tomar se a condição condition for cumprida. Pode ser ALLOW ou DENY.

    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

  1. Aceda à página Pub/Sub na Google Cloud consola.
  2. Aceda ao Pub/Sub

  3. 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.
  4. Clique em Etiquetas.
  5. Se a sua organização não aparecer no painel Etiquetas, clique em Selecionar âmbito. Selecione a sua organização e clique em Abrir.
  6. Clique em Adicionar etiqueta.
  7. Selecione a chave da etiqueta que quer anexar na lista. Pode filtrar a lista escrevendo palavras-chave.
  8. Selecione o valor da etiqueta que quer anexar na lista. Pode filtrar a lista escrevendo palavras-chave.
  9. Clique em Guardar.
  10. Na caixa de diálogo Confirmar, clique em Confirmar para anexar a etiqueta.
  11. É 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

  1. Aceda à página Pub/Sub na Google Cloud consola.
  2. Aceda ao Pub/Sub

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

  1. Aceda à página Pub/Sub na Google Cloud consola.
  2. Aceda ao Pub/Sub

  3. 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.
  4. Clique em Etiquetas.
  5. No painel Etiquetas, junto à etiqueta que quer desassociar, clique em Eliminar item.
  6. Clique em Guardar.
  7. 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?