Gerenciar tags para recursos


Este guia descreve como criar e gerenciar tags para recursos do Compute Engine. Uma tag é um par de valores-chave que pode ser anexado a umGoogle Cloud recurso. As tags são usadas para diversos fins, incluindo:

  • Permita ou negue condicionalmente políticas com base no fato de um recurso ter uma tag específica.
  • Defina origens e destinos em políticas de firewall de rede global e políticas de firewall de rede regional.
  • Organizar recursos de maneira lógica.

Depois de criar uma tag e conceder acesso apropriado à tag e ao recurso, você pode anexar a tag como um par de valores-chave. Você pode anexar exatamente um valor a um recurso para uma determinada chave. Por exemplo, se você anexar a tag environment: development , não poderá anexar as tags environment: production ou environment: test . Cada recurso pode ter no máximo 50 pares de valores-chave anexados.

Para anexar tags a recursos, você deve criar um recurso TagBinding que vincule o valor da tag ao Google Cloud recurso. Para obter mais informações sobre tags e como elas funcionam, revise o documento Visão geral de tags .

Antes de começar

  • Leia a visão geral das tags na documentação do Resource Manager.
  • Leia a documentação Criando e gerenciando tags na documentação do Resource Manager.
  • Se ainda não o fez, configure a autenticação. Autenticação é o processo pelo qual sua identidade é verificada para acesso a Google Cloud serviços e APIs. Para executar códigos ou amostras em um ambiente de desenvolvimento local, você pode se autenticar no Compute Engine selecionando uma das seguintes opções:

    Select the tab for how you plan to use the samples on this page:

    Console

    When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

    gcloud

    1. After installing the Google Cloud CLI, initialize it by running the following command:

      gcloud init

      If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

    2. Set a default region and zone.
    3. REST

      Para usar as amostras da API REST nesta página em um ambiente de desenvolvimento local, use as credenciais fornecidas para gcloud CLI.

        After installing the Google Cloud CLI, initialize it by running the following command:

        gcloud init

        If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

      Para mais informações, consulte Autenticar para usar REST na documentação de autenticação do Google Cloud.

Permissões

Para gerenciar tags de recursos do Compute Engine, os usuários e contas de serviço devem receber o papel tagUser . Para obter mais informações sobre a função tagUser , consulte Permissões necessárias .

Recursos suportados

O Compute Engine oferece suporte à marcação dos seguintes recursos:

  • Somente após a criação do recurso :

    • Grupos de instâncias gerenciadas (MIGs)
    • Imagens
    • Instantâneos
    • A maioria dos recursos de rede, como recursos de rede, sub-rede, firewall e verificação de integridade.
  • Durante e após a criação de recursos : instâncias e discos de máquinas virtuais (VM)

Adicionando tags a um recurso

As tags existentes podem ser anexadas a determinados recursos após a criação do recurso, usando as instruções a seguir.

Console

Dependendo do tipo de recurso, as etapas exatas podem ser um pouco diferentes. Por exemplo, as etapas a seguir anexam uma tag a uma VM:

  1. No console do Google Cloud, acesse a página de instâncias de VM .

    Acesse as instâncias de VM

  2. Selecione seu projeto e clique em Continuar .

  3. Na coluna Nome , clique no nome da VM à qual você deseja adicionar tags.

  4. Na página de detalhes da instância de VM , conclua as etapas a seguir:

    1. Clique em Editar .
    2. Na seção Básico , clique em Gerenciar tags e adicione as tags desejadas para a instância.
    3. Clique em Salvar .

gcloud

Para rever instruções detalhadas sobre como utilizar estas bandeiras, leia Anexar uma etiqueta a um recurso na documentação do Resource Manager.

Por exemplo, o comando a seguir anexa uma tag a uma VM:

gcloud resource-manager tags bindings create \
    --location LOCATION_NAME \
    --tag-value=tagValues/TAGVALUE_ID \
    --parent=//compute.googleapis.com/projects/PROJECT_NUMBER/zones/ZONE/instances/VM_ID

Substitua o seguinte:

  • LOCATION_NAME : a região do recurso de destino, como us-central1
  • TAGVALUE_ID : o ID numérico do valor da Tag
  • PROJECT_NUMBER : o ID numérico do seu projeto
  • ZONE : o nome da zona, como us-central1-a
  • VM_ID : o ID numérico da instância de VM

API

Para anexar uma tag a um recurso, você deve primeiro criar uma representação JSON de uma associação de tag que inclua o ID permanente ou o nome do namespace do valor da tag e o ID permanente do recurso. Para obter mais informações sobre o formato de uma vinculação de tag, consulte a referência TagBinding .

Para anexar a tag a um recurso zonal, como uma instância de VM, use o método tagBindings.create com o endpoint regional onde seu recurso está localizado. Por exemplo:

POST https://LOCATION-cloudresourcemanager.googleapis.com/v3/tagBindings

O corpo da solicitação pode ser um dos seguintes:

{
  "parent": "//compute.googleapis.com/projects/PROJECT_NUMBER/zones/ZONE/instances/VM_ID",
  "tagValue": "tagValue/TAGVALUE_ID"
}

Ou o seguinte:

{
  "parent": "//compute.googleapis.com/projects/PROJECT_NUMBER/zones/ZONE/instances/VM_ID",
  "tagValueNamespacedName": TAGVALUE_NAMESPACED_NAME
}

Substitua o seguinte:

  • LOCATION : o local ao qual o recurso de destino pertence
  • PROJECT_NUMBER : o ID numérico do seu projeto
  • ZONE : o nome da zona, como us-central1-a
  • VM_ID : o ID numérico da VM
  • TAGVALUE_ID : o ID permanente do valor da tag que está anexado; por exemplo: 4567890123
  • TAGVALUE_NAMESPACED_NAME é o nome com namespace do valor da tag anexado e tem o formato: parentNamespace/tagKeyShortName/tagValueShortName

Adicionar tags a um recurso durante a criação do recurso

Em determinados cenários, talvez você queira marcar recursos durante a criação do recurso, em vez de depois da criação do recurso. Por exemplo, talvez você queira aplicar tags de firewall para políticas de rede ao criar o recurso Cloud Next Generation Firewall.

Console

Dependendo do tipo de recurso, as etapas exatas podem ser um pouco diferentes. As etapas a seguir são para uma VM:

  1. No console do Google Cloud, acesse a página de instâncias de VM .

    Acesse as instâncias de VM

  2. Selecione seu projeto e clique em Continuar .

  3. Clique em Criar instância .

  4. Clique em Gerenciar tags e rótulos .

  5. Clique em Adicionar tags .

  6. Siga as instruções no painel lateral para selecionar as tags a serem adicionadas à instância.

  7. Clique em Salvar .

  8. Conclua outras etapas em Criar e iniciar uma instância de VM para concluir a criação da instância.

gcloud

Para anexar uma tag a um recurso durante a criação do recurso, adicione o sinalizador --resource-manager-tags com o respectivo comando create . Por exemplo, para anexar uma tag a uma VM, use o seguinte comando:

gcloud compute instances create INSTANCE_NAME --resource-manager-tags=tagKeys/TAGKEY_ID=tagValues/TAGVALUE_ID

Substitua o seguinte:

  • INSTANCE_NAME : o nome da sua instância
  • TAGKEY_ID : o ID numérico do número da chave da tag
  • TAGVALUE_ID : o ID numérico permanente do valor da tag que está anexado; por exemplo: 4567890123

Especifique diversas tags separando-as com uma vírgula, por exemplo, TAGKEY1=TAGVALUE1,TAGKEY2=TAGVALUE2 .

API

Faça uma solicitação POST para o seguinte URL:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT/zones/ZONE/instances

Inclua o seguinte corpo JSON da solicitação:

{
  "name": INSTANCE_NAME,
  "params": {
    "resourceManagerTags": {
      "tagKeys/TAGKEY_ID": "tagValues/TAGVALUE_ID",
    },
  }
  // other fields omitted
}

Substitua o seguinte:

  • INSTANCE_NAME : o nome da sua instância
  • TAGKEY_ID : o ID numérico do número da chave da tag
  • TAGVALUE_ID : o ID numérico permanente do valor da tag que está anexado; por exemplo: 4567890123

Desanexando uma tag de um recurso

Você pode desanexar uma tag de um recurso excluindo o recurso de vinculação de tag.

Para rever instruções sobre como desanexar etiquetas, consulte Desanexar uma etiqueta de um recurso na documentação do Resource Manager.

Console

Dependendo do tipo de recurso, as etapas exatas podem ser um pouco diferentes. Por exemplo, as etapas a seguir desanexam uma tag de uma VM:

  1. No console do Google Cloud, acesse a página de instâncias de VM .

    Acesse as instâncias de VM

  2. Selecione seu projeto e clique em Continuar .

  3. Na coluna Nome , clique no nome da VM à qual você deseja adicionar tags.

  4. Na página de detalhes da instância de VM , conclua as etapas a seguir:

    1. Clique em Editar .
    2. Na seção Básico , clique em Gerenciar tags e remova as tags desejadas para a instância.
    3. Clique em Salvar .

gcloud

O exemplo a seguir desanexa uma tag de uma VM usando a CLI gcloud:

gcloud resource-manager tags bindings delete \
--location LOCATION_NAME \
--tag-value=tagValues/TAGVALUE_ID \
--parent //compute.googleapis.com/projects/PROJECT_NUMBER/zones/ZONE/instances/VM_ID

Substitua o seguinte:

  • LOCATION_NAME : a região do recurso de destino, como us-central1
  • TAGVALUE_ID : o ID numérico da chave Tag
  • PROJECT_NUMBER : o ID numérico do seu projeto
  • ZONE : o nome da zona, como us-central1-a
  • VM_ID : o ID numérico da instância de VM

Para atualizar ou substituir uma associação de tag existente por outra, desanexe a associação de tag antiga e anexe a nova.

API

Para eliminar uma associação de etiqueta anexada a um recurso, como uma VM, utilize o método tagBindings.delete com o ponto final regional onde o seu recurso está localizado.

DELETE https://LOCATION-cloudresourcemanager.googleapis.com/v3/{name=TAGBINDINGS_NAME}

Onde:

  • TAGBINDINGS_NAME é o ID permanente do TagBinding; por exemplo: tagBindings/%2F%2Fcloudresourcemanager.googleapis.com%2Fprojects%2F1234567890/tagValues/567890123456 .

  • LOCATION é o ponto final regional do seu recurso; por exemplo: us-central1 .

Visualizando tags anexadas a um recurso

Para revisar instruções detalhadas sobre como listar tags, consulte Listagem de tags anexadas a um recurso na documentação do Resource Manager.

Console

Dependendo do tipo de recurso, as etapas exatas podem ser um pouco diferentes. Por exemplo, as etapas a seguir mostram como visualizar tags de uma VM:

  1. No console do Google Cloud, acesse a página de instâncias de VM .

    Acesse as instâncias de VM

  2. Selecione seu projeto e clique em Continuar .

  3. Na coluna Nome , clique no nome da VM cujas tags você deseja visualizar.

  4. Na página de detalhes da instância de VM , procure tags na seção Tags .

gcloud

Para obter uma lista de vinculações de tags anexadas diretamente a um recurso, use o comando gcloud resource-manager tags bindings list . Se você adicionar o sinalizador --effective , também retornará uma lista de tags herdadas por este recurso. Por exemplo:

gcloud resource-manager tags bindings list \
    --location=LOCATION_NAME \
    --parent //compute.googleapis.com/projects/PROJECT_NUMBER/zones/ZONE/instances/VM_ID

Substitua o seguinte:

  • LOCATION_NAME : a região do recurso de destino, como us-central1
  • PROJECT_NUMBER : o ID numérico do seu projeto
  • ZONE : o nome da zona, como us-central1-a
  • VM_ID : o ID numérico da instância de VM

Se você adicionar o sinalizador --effective ao comando tags bindings list , você também retornará uma lista de todas as tags herdadas por este recurso. Você deverá obter uma resposta semelhante à seguinte:

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

Se todas as tags avaliadas em um recurso estiverem diretamente anexadas, o campo inherited será falso e omitido.

API

Para listar as vinculações de tags anexadas a um recurso regional, como instâncias do Compute Engine, use o método tagBindings.list com o endpoint regional onde seu recurso está localizado. Por exemplo:

GET https://LOCATION_NAME-cloudresourcemanager.googleapis.com/v3/tagBindings

{
    "parent": "//compute.googleapis.com/projects/PROJECT_NUMBER/zones/ZONE/instances/VM_ID"
}

Substitua o seguinte:

  • LOCATION_NAME : a região do recurso de destino, como us-central1
  • PROJECT_NUMBER : o ID numérico do seu projeto
  • ZONE : o nome da zona, como us-central1-a
  • VM_ID : o ID numérico da instância de VM

O que vem a seguir