Crie tags antes de tentar vinculá-las aos recursos ou usá-las nas políticas de firewall de rede. Para controlar o acesso à rede, as tags só são eficazes quando vinculadas a instâncias de VM.
Para uma visão geral, consulte Tags para firewalls.
Conceder permissões para tags
O papel tagAdmin
permite criar novas tags, atualizar e excluir tags existentes. Um administrador da organização pode conceder esse papel no nível da organização, e um proprietário do projeto pode concedê-lo no nível do projeto.
gcloud
Conceda a função
tagAdmin
ao usuário.gcloud organizations add-iam-policy-binding ORGANIZATION_ID \ --member=user:EMAIL_ADDRESS \ --role=roles/resourcemanager.tagAdmin
Substitua:
ORGANIZATION_ID
: ID da sua organizaçãoEMAIL_ADDRESS
: o endereço de e-mail do usuário.
Conceda a função
tagUser
ao usuário.gcloud resource-manager tags keys add-iam-policy-binding ORGANIZATION_ID/TAG_KEY \ --member=user:EMAIL_ADDRESS \ --role=roles/resourcemanager.tagUser
Substitua:
ORGANIZATION_ID
: ID da sua organizaçãoTAG_KEY
: a chave de tag.EMAIL_ADDRESS
: o endereço de e-mail do usuário.
Papéis personalizados para gerenciar tags
O papel tagAdmin
permite realizar as seguintes ações: criar novas tags, atualizar e excluir tags existentes. Se você precisar de alguns desses recursos, crie um papel do IAM personalizado com as permissões relevantes e conceda o papel ao usuário de destino. Para ver a lista de permissões relevantes, consulte Permissões do
IAM.
As tags usadas nas políticas de firewall precisam ser designadas com a finalidade GCE_FIREWALL. A finalidade do GCE_FIREWALL é necessária para que a tag seja usada em recursos de rede. No entanto, é possível usá-la em outras ações.
As tags usadas em políticas de firewall de rede precisam ter um escopo limitado a uma única VPC.
Criar as chaves e os valores de tag
Antes de associar tags às políticas de firewall de rede, crie as chaves e valores de tag.
gcloud
Depois de receber as permissões necessárias, crie a chave de tag.
gcloud resource-manager tags keys create TAG_KEY \ --parent organizations/ORGANIZATION_ID \ --purpose GCE_FIREWALL \ --purpose-data network=PROJECT_ID/NETWORK
Substitua:
TAG_KEY
: a chave de tag.ORGANIZATION_ID
: ID da sua organizaçãoPROJECT_ID
: o ID do projetoNETWORK
: o nome da rede
Adicione os valores da tag relevantes às chaves de tag. Execute o comando várias vezes para adicionar vários valores. Cada valor de tag adicionado à chave de tag precisa ser único.
gcloud resource-manager tags values create TAG_VALUE \ --parent ORGANIZATION_ID/TAG_KEY
Substitua:
ORGANIZATION_ID
: ID da sua organizaçãoTAG_KEY
: a chave de tag.TAG_VALUE
: o valor a ser atribuído à chave de tag.
Criar uma política de firewall de rede
Depois de criar uma tag, você poderá usá-la nas políticas de firewall de rede. Se você não tiver uma política de firewall de rede, crie uma nova.
gcloud
Criar uma política de firewall de rede.
gcloud compute network-firewall-policies create \ FIREWALL_POLICY_NAME \ --global
Substitua:
FIREWALL_POLICY_NAME
: o nome da nova política de firewall de rede global
Criar uma regra de política de firewall com tags
Depois de criar uma tag e uma política de firewall de rede, você pode criar uma regra de política de firewall de rede com os valores específicos da tag de origem e da tag de destino para permitir o tráfego desejado entre as VMs com as tags de origem e de destino.
gcloud
Crie uma regra de política de firewall de rede com as chaves e os valores de origem e de destino específicos.
gcloud compute network-firewall-policies rules create 1 \ --firewall-policy FIREWALL_POLICY_NAME \ --src-secure-tags ORGANIZATION_ID/TAG_KEY/TAG_VALUE \ --target-secure-tags ORGANIZATION_ID/TAG_KEY/TAG_VALUE \ --direction DIRECTION \ --action ACTION \ --layer4-configs tcp:PORT \ --global-firewall-policy
Substitua:
FIREWALL_POLICY_NAME
: o nome da nova política de firewall de rede globalORGANIZATION_ID
: ID da sua organizaçãoTAG_KEY
: a chave de tag.TAG_VALUE
: o valor a ser atribuído à chave de tag.DIRECTION
: indica se a regra éingress
ouegress
.ACTION
: uma das seguintes ações:allow
: permite conexões que correspondem à regradeny
: nega conexões que correspondem à regragoto_next
: transmite a avaliação da conexão para o próximo nível da hierarquia, seja uma pasta ou a rede
PORT
: o número da porta para acessar o recurso
Vincular tags a instâncias de VM
Os administradores podem vincular as tags a instâncias de VM individuais.
Vincular uma tag a um recurso anexa um valor de tag a um recurso. Embora uma tag possa ter vários valores para uma determinada chave, é possível vincular apenas um valor por chave de tag a um recurso. Por exemplo, não é possível vincular ambos os valores de tag web-backend e mysql à mesma instância de VM, já que pertencem à mesma chave de tag vm-function.
Por exemplo, Sasha, um desenvolvedor, quer configurar um aplicativo que consiste em um back-end de API e um armazenamento de banco de dados de backup. Para permitir o tráfego entre o back-end e o servidor de banco de dados, Sasha precisa vincular os valores de tag web-backend e mysql a diferentes VMs.
gcloud
Conceda o papel
tagUser
.gcloud resource-manager tags keys add-iam-policy-binding ORGANIZATION_ID/TAG_KEY \ --member=user:EMAIL_ADDRESS \ --role=roles/resourcemanager.tagUser
Substitua:
ORGANIZATION_ID
: ID da sua organizaçãoTAG_KEY
: a chave de tag.EMAIL_ADDRESS
: o endereço de e-mail do usuário.
Nesse comando, o usuário recebe o uso de todos os valores atuais e futuros da chave. Também é possível conceder acesso seletivamente a valores específicos de uma tag desta maneira:
gcloud resource-manager tags values add-iam-policy-binding ORGANIZATION_ID/TAG_KEY/TAG_VALUE \ --member=user:EMAIL_ADDRESS \ --role=roles/resourcemanager.tagUser
Substitua:
ORGANIZATION_ID
: ID da sua organizaçãoTAG_KEY
: a chave de tag.TAG_VALUE
: o valor a ser atribuído à chave de tag.EMAIL_ADDRESS
: o endereço de e-mail do usuário.
Conceda o papel
tagUser
nos recursos que você quer vincular às tags.gcloud projects add-iam-policy-binding PROJECT_ID \ --member=user:EMAIL_ADDRESS \ --role=roles/resourcemanager.tagUser
Substitua:
PROJECT_ID
: o ID do projetoEMAIL_ADDRESS
: o endereço de e-mail do usuário.
Consiga o valor de
PARENT
para o par de chave-valor da tag:Defina o prefixo do nome completo do seu projeto e zona:
FULL_NAME_PREFIX=//compute.googleapis.com/projects/PROJECT_NUMBER/zones/ZONE/instances/
Consiga o ID da VM:
VM_ID=$(gcloud compute instances describe VM_NAME --zone ZONE--format='value(id)')
Concatene os valores de
FULL_NAME_PREFIX
eVM_ID
:PARENT="$FULL_NAME_PREFIX$VM_ID" echo $PARENT
Substitua:
PROJECT_NUMBER
: o número do seu projetoZONE
: a zona em que a VM está localizada.VM_NAME
: o nome da VM em que você está trabalhando
Liste as vinculações.
gcloud resource-manager tags bindings list \ --location LOCATION_NAME \ --parent PARENT
Substitua:
LOCATION_NAME
: o local ao qual a tag pertence. Neste caso, a zona da instância de VMPARENT
: o nome completo do recurso anexado à vinculação, conforme derivado no comando anterior
Exclua e crie as vinculações.
gcloud resource-manager tags bindings delete \ --location LOCATION_NAME \ --tag-value ORGANIZATION_ID/TAG_KEY/TAG_VALUE \ --parent PARENT gcloud resource-manager tags bindings create \ --location LOCATION_NAME \ --tag-value ORGANIZATION_ID/TAG_KEY/TAG_VALUE \ --parent PARENT
Substitua:
LOCATION_NAME
: o local da tagORGANIZATION_ID
: ID da sua organizaçãoTAG_KEY
: a chave de tag.TAG_VALUE
: o valor da chave de tag.PARENT
: o nome completo do recurso a ser anexado ao valor da tag
Usar tags em redes com peering
Você pode usar tags no peering de rede. Realize as tarefas a seguir na ordem especificada para usar as tags em duas redes com peering.
- Atribua o papel
tagAdmin
a dois usuários: um usuário em cada rede de peering. Um administrador da organização concede os papéistagAdmin
aos usuários no nível da organização, e um proprietário do projeto pode concedê-los no nível do projeto. - Deixe o primeiro usuário de rede criar chaves e valores de tag na primeira rede.
- Deixe o segundo usuário de rede criar chaves e valores de tag na segunda rede.
- Conceda as permissões necessárias aos dois usuários para vincular tags em ambas as redes.
- Vincule tags a usuários e recursos na primeira rede.
- Vincule tags a usuários e recursos na segunda rede.
- Para o usuário na segunda rede, conceda permissões
tagUser
na primeira rede. - Para o usuário na primeira rede, conceda permissões
tagUser
na segunda rede. - Crie uma regra de política de firewall na primeira rede.
- Crie uma regra de política de firewall na segunda rede.
A seguir
- Para ver mais detalhes sobre a criação de tags, consulte Como criar e gerenciar tags.