Utilizar etiquetas para organizar os recursos do AzureUse tags to organize your Azure resources

Aplicar etiquetas aos recursos do Azure, fornecendo os metadados para as organizar numa taxonomia.You apply tags to your Azure resources giving metadata to logically organize them into a taxonomy. Cada etiqueta é constituída por um nome e um par de valor.Each tag consists of a name and a value pair. Por exemplo, pode aplicar o nome "Ambiente" e o valor "Produção" em todos os recursos na produção.For example, you can apply the name "Environment" and the value "Production" to all the resources in production.

Depois de aplicar etiquetas, pode obter todos os recursos na sua subscrição com este nome e este valor da etiqueta.After you apply tags, you can retrieve all the resources in your subscription with that tag name and value. As etiquetas permitem-lhe obter recursos relacionados de diferentes grupos de recursos.Tags enable you to retrieve related resources from different resource groups. Esta abordagem é útil quando precisa de organizar os recursos de gestão ou de faturação.This approach is helpful when you need to organize resources for billing or management.

A taxonomia deve considerar uma estratégia para além de uma estratégia de identificação de automática para reduzir a carga sobre os utilizadores e aumentar a precisão de marcação de metadados de self-service.Your taxonomy should consider a self-service metadata tagging strategy in addition to an auto-tagging strategy to reduce the burden on users and increase accuracy.

As seguintes limitações aplicam-se às etiquetas:The following limitations apply to tags:

  • Nem todos os tipos de recursos suportam etiquetas.Not all resource types support tags. Para determinar se pode aplicar uma etiqueta a um tipo de recurso, veja marca o suporte para recursos do Azure.To determine if you can apply a tag to a resource type, see Tag support for Azure resources.
  • Cada recurso ou grupo de recursos pode ter um máximo de 50 pares de nome/valor de etiqueta.Each resource or resource group can have a maximum of 50 tag name/value pairs. Atualmente, apenas suporte de contas de armazenamento, de 15 etiquetas, mas esse limite será gerado para 50 numa versão futura.Currently, storage accounts only support 15 tags, but that limit will be raised to 50 in a future release. Se precisar de aplicar etiquetas mais do que o número máximo permitido, utilize uma cadeia de caracteres do JSON para o valor da etiqueta.If you need to apply more tags than the maximum allowed number, use a JSON string for the tag value. A cadeia JSON pode conter muitos valores que são aplicados a um nome de etiqueta individual.The JSON string can contain many values that are applied to a single tag name. Um grupo de recursos pode conter muitos recursos que tenham, cada 50 pares de nome/valor de etiqueta.A resource group can contain many resources that each have 50 tag name/value pairs.
  • O nome de etiqueta está limitado a 512 caracteres e o valor a 256.The tag name is limited to 512 characters, and the tag value is limited to 256 characters. Nas contas de armazenamento, o nome da etiqueta está limitado a 128 caracteres e o valor a 256.For storage accounts, the tag name is limited to 128 characters, and the tag value is limited to 256 characters.
  • VMs generalizadas não oferecem suporte a marcas.Generalized VMs don't support tags.
  • As etiquetas aplicadas ao grupo de recursos não são herdadas pelos recursos nesse grupo de recursos.Tags applied to the resource group are not inherited by the resources in that resource group.
  • Não não possível aplicar etiquetas a recursos clássicos, como os serviços Cloud.Tags can't be applied to classic resources such as Cloud Services.
  • Nomes de etiquetas não podem conter estes carateres: <, >, %, &, \, ?, /Tag names can't contain these characters: <, >, %, &, \, ?, /

Para aplicar etiquetas a recursos, o utilizador tem de ter acesso de escrita para esse tipo de recurso.To apply tags to resources, the user must have write access to that resource type. Para aplicar etiquetas a todos os tipos de recursos, utilize o contribuinte função.To apply tags to all resource types, use the Contributor role. Para aplicar as etiquetas para o tipo de recurso apenas uma, utilize a função de Contribuidor para esse recurso.To apply tags to only one resource type, use the contributor role for that resource. Por exemplo, para aplicar etiquetas a máquinas virtuais, utilize o contribuinte de Máquina Virtual.For example, to apply tags to virtual machines, use the Virtual Machine Contributor.

Nota

Este artigo mostra os passos para eliminar dados pessoais do dispositivo ou serviço e pode ser utilizado para dar apoio às suas obrigações ao abrigo do GDPR.This article provides steps for how to delete personal data from the device or service and can be used to support your obligations under the GDPR. Se estiver à procura de informações gerais sobre o GDPR, veja a secção GDPR do Portal de Confiança do Serviço.If you’re looking for general info about GDPR, see the GDPR section of the Service Trust portal.

PolíticasPolicies

Pode usar do Azure Policy para impor a etiquetagem regras e as convenções.You can use Azure Policy to enforce tagging rules and conventions. Ao criar uma política, evite o cenário de recursos ser implementado na sua subscrição que não estejam em conformidade com as etiquetas esperadas para a sua organização.By creating a policy, you avoid the scenario of resources being deployed to your subscription that don't comply with the expected tags for your organization. Em vez de aplicar etiquetas manualmente ou procurar recursos que não estão em conformidade, pode criar uma política que aplica automaticamente as etiquetas necessárias durante a implementação.Instead of manually applying tags or searching for resources that aren't compliant, you can create a policy that automatically applies the needed tags during deployment. A secção seguinte mostra algumas políticas para as etiquetas.The following section shows example policies for tags.

EtiquetasTags

Aplicar etiqueta e o respetivo valor predefinidoApply tag and its default value Acrescenta um nome de etiqueta e um valor especificado, se essa etiqueta não for fornecida.Appends a specified tag name and value, if that tag is not provided. Especifica o nome de etiqueta e o valor a aplicar.You specify the tag name and value to apply.
Iniciativa de Política de Etiquetas de FaturaçãoBilling Tags Policy Initiative Exige valores de etiqueta especificados para o nome do produto e o centro de custos.Requires specified tag values for cost center and product name. Utiliza políticas incorporadas para aplicar e impor etiquetas necessárias.Uses built-in policies to apply and enforce required tags. O utilizador especifica os valores necessários para as etiquetas.You specify the required values for the tags.
Impor etiqueta e o respetivo valorEnforce tag and its value Exige um nome de etiqueta e um valor especificado.Requires a specified tag name and value. Especifica o nome de etiqueta e o valor a impor.You specify the tag name and value to enforce.
Impor a etiqueta e o respetivo valor em grupos de recursosEnforce tag and its value on resource groups Exige uma etiqueta e um valor num grupo de recursos.Requires a tag and value on a resource group. Especifica o nome de etiqueta e o valor necessário.You specify the required tag name and value.

PowerShellPowerShell

Nota

Este artigo foi atualizado para utilizar o módulo Azure PowerShell Az novo.This article has been updated to use the new Azure PowerShell Az module. Pode continuar a utilizar o módulo de AzureRM, que vai continuar a receber correções de erros até que, pelo menos, Dezembro de 2020.You can still use the AzureRM module, which will continue to receive bug fixes until at least December 2020. Para saber mais sobre o novo módulo Az e AzureRM compatibilidade, veja apresentando o novo módulo Azure PowerShell Az.To learn more about the new Az module and AzureRM compatibility, see Introducing the new Azure PowerShell Az module. Para instruções de instalação do módulo de Az, consulte instalar o Azure PowerShell.For Az module installation instructions, see Install Azure PowerShell.

Para ver as etiquetas existentes de um grupo de recursos, utilize:To see the existing tags for a resource group, use:

(Get-AzResourceGroup -Name examplegroup).Tags

Este script devolve o formato seguinte:That script returns the following format:

Name                           Value
----                           -----
Dept                           IT
Environment                    Test

Para ver as etiquetas existentes de um recurso que tem um ID de recurso específico, utilize:To see the existing tags for a resource that has a specified resource ID, use:

(Get-AzResource -ResourceId /subscriptions/<subscription-id>/resourceGroups/<rg-name>/providers/Microsoft.Storage/storageAccounts/<storage-name>).Tags

Ou para ver as etiquetas existentes de um recurso que tem um nome e grupo de recurso específicos, utilize:Or, to see the existing tags for a resource that has a specified name and resource group, use:

(Get-AzResource -ResourceName examplevnet -ResourceGroupName examplegroup).Tags

Para obter grupos de recursos com uma etiqueta específica, utilize:To get resource groups that have a specific tag, use:

(Get-AzResourceGroup -Tag @{ Dept="Finance" }).ResourceGroupName

Para obter recursos com uma etiqueta específica, utilize:To get resources that have a specific tag, use:

(Get-AzResource -Tag @{ Dept="Finance"}).Name

Para obter recursos que tenham um nome de etiqueta específica, utilize:To get resources that have a specific tag name, use:

(Get-AzResource -TagName Dept).Name

Sempre que aplicar etiquetas a um recurso ou grupo de recursos, as etiquetas existentes nesse recurso ou grupo de recursos são substituídas.Every time you apply tags to a resource or a resource group, you overwrite the existing tags on that resource or resource group. Por conseguinte, tem de utilizar uma abordagem diferente, que tenha em conta se o recurso ou grupo de recursos tem etiquetas existentes.Therefore, you must use a different approach based on whether the resource or resource group has existing tags.

Para adicionar etiquetas a um grupo de recursos que não tenha etiquetas, utilize:To add tags to a resource group without existing tags, use:

Set-AzResourceGroup -Name examplegroup -Tag @{ Dept="IT"; Environment="Test" }

Para adicionar etiquetas a um grupo de recursos que tenha etiquetas existentes, obtenha-as, adicione a etiqueta nova e volte a aplicar as etiquetas:To add tags to a resource group that has existing tags, retrieve the existing tags, add the new tag, and reapply the tags:

$tags = (Get-AzResourceGroup -Name examplegroup).Tags
$tags.Add("Status", "Approved")
Set-AzResourceGroup -Tag $tags -Name examplegroup

Para adicionar etiquetas a um recurso que não tenha etiquetas, utilize:To add tags to a resource without existing tags, use:

$r = Get-AzResource -ResourceName examplevnet -ResourceGroupName examplegroup
Set-AzResource -Tag @{ Dept="IT"; Environment="Test" } -ResourceId $r.ResourceId -Force

Para adicionar etiquetas a um recurso que tenha etiquetas, utilize:To add tags to a resource that has existing tags, use:

$r = Get-AzResource -ResourceName examplevnet -ResourceGroupName examplegroup
$r.Tags.Add("Status", "Approved")
Set-AzResource -Tag $r.Tags -ResourceId $r.ResourceId -Force

Para aplicar todas as etiquetas de um grupo de recursos para seus próprios recursos, e não tenha etiquetas existentes nos recursos, utilize o seguinte script:To apply all tags from a resource group to its resources, and not keep existing tags on the resources, use the following script:

$groups = Get-AzResourceGroup
foreach ($g in $groups)
{
    Get-AzResource -ResourceGroupName $g.ResourceGroupName | ForEach-Object {Set-AzResource -ResourceId $_.ResourceId -Tag $g.Tags -Force }
}

Para aplicar todas as etiquetas de um grupo de recursos para seus próprios recursos, e manter as etiquetas existentes nos recursos que não são duplicados, utilize o seguinte script:To apply all tags from a resource group to its resources, and keep existing tags on resources that aren't duplicates, use the following script:

$group = Get-AzResourceGroup "examplegroup"
if ($null -ne $group.Tags) {
    $resources = Get-AzResource -ResourceGroupName $group.ResourceGroupName
    foreach ($r in $resources)
    {
        $resourcetags = (Get-AzResource -ResourceId $r.ResourceId).Tags
        if ($resourcetags)
        {
            foreach ($key in $group.Tags.Keys)
            {
                if (-not($resourcetags.ContainsKey($key)))
                {
                    $resourcetags.Add($key, $group.Tags[$key])
                }
            }
            Set-AzResource -Tag $resourcetags -ResourceId $r.ResourceId -Force
        }
        else
        {
            Set-AzResource -Tag $group.Tags -ResourceId $r.ResourceId -Force
        }
    }
}

Para remover todas as etiquetas, transmita uma tabela hash vazia:To remove all tags, pass an empty hash table:

Set-AzResourceGroup -Tag @{} -Name examplegroup

CLI do AzureAzure CLI

Para ver as etiquetas existentes de um grupo de recursos, utilize:To see the existing tags for a resource group, use:

az group show -n examplegroup --query tags

Este script devolve o formato seguinte:That script returns the following format:

{
  "Dept"        : "IT",
  "Environment" : "Test"
}

Ou, para ver as etiquetas existentes de um recursos que tem um grupo de nome, o tipo e o recurso especificado, utilize:Or, to see the existing tags for a resource that has a specified name, type, and resource group, use:

az resource show -n examplevnet -g examplegroup --resource-type "Microsoft.Network/virtualNetworks" --query tags

Ao fazer o looping através de uma coleção de recursos, pode querer mostrar o ID de recurso por recurso.When looping through a collection of resources, you might want to show the resource by resource ID. Um exemplo completo é mostrado neste artigo.A complete example is shown later in this article. Para ver as etiquetas existentes de um recurso que tem um ID de recurso específico, utilize:To see the existing tags for a resource that has a specified resource ID, use:

az resource show --id <resource-id> --query tags

Para obter os grupos de recursos que tenham uma etiqueta específica, utilize az group list:To get resource groups that have a specific tag, use az group list:

az group list --tag Dept=IT

Para obter todos os recursos que tenham uma etiqueta específica e um valor, utilize az resource list:To get all the resources that have a particular tag and value, use az resource list:

az resource list --tag Dept=Finance

Sempre que aplicar etiquetas a um recurso ou grupo de recursos, as etiquetas existentes nesse recurso ou grupo de recursos são substituídas.Every time you apply tags to a resource or a resource group, you overwrite the existing tags on that resource or resource group. Por conseguinte, tem de utilizar uma abordagem diferente, que tenha em conta se o recurso ou grupo de recursos tem etiquetas existentes.Therefore, you must use a different approach based on whether the resource or resource group has existing tags.

Para adicionar etiquetas a um grupo de recursos que não tenha etiquetas, utilize:To add tags to a resource group without existing tags, use:

az group update -n examplegroup --set tags.Environment=Test tags.Dept=IT

Para adicionar etiquetas a um recurso que não tenha etiquetas, utilize:To add tags to a resource without existing tags, use:

az resource tag --tags Dept=IT Environment=Test -g examplegroup -n examplevnet --resource-type "Microsoft.Network/virtualNetworks"

Para adicionar etiquetas a um recurso que já tem etiquetas, obter as etiquetas existentes, reformatar esse valor e volte a aplicar as etiquetas existentes e novas:To add tags to a resource that already has tags, retrieve the existing tags, reformat that value, and reapply the existing and new tags:

jsonrtag=$(az resource show -g examplegroup -n examplevnet --resource-type "Microsoft.Network/virtualNetworks" --query tags)
rt=$(echo $jsonrtag | tr -d '"{},' | sed 's/: /=/g')
az resource tag --tags $rt Project=Redesign -g examplegroup -n examplevnet --resource-type "Microsoft.Network/virtualNetworks"

Para aplicar todas as etiquetas de um grupo de recursos para seus próprios recursos, e não tenha etiquetas existentes nos recursos, utilize o seguinte script:To apply all tags from a resource group to its resources, and not keep existing tags on the resources, use the following script:

groups=$(az group list --query [].name --output tsv)
for rg in $groups
do
  jsontag=$(az group show -n $rg --query tags)
  t=$(echo $jsontag | tr -d '"{},' | sed 's/: /=/g')
  r=$(az resource list -g $rg --query [].id --output tsv)
  for resid in $r
  do
    az resource tag --tags $t --id $resid
  done
done

Para aplicar todas as etiquetas de um grupo de recursos para seus próprios recursos, e manter as etiquetas existentes nos recursos, utilize o seguinte script:To apply all tags from a resource group to its resources, and keep existing tags on resources, use the following script:

groups=$(az group list --query [].name --output tsv)
for rg in $groups
do
  jsontag=$(az group show -n $rg --query tags)
  t=$(echo $jsontag | tr -d '"{},' | sed 's/: /=/g')
  r=$(az resource list -g $rg --query [].id --output tsv)
  for resid in $r
  do
    jsonrtag=$(az resource show --id $resid --query tags)
    rt=$(echo $jsonrtag | tr -d '"{},' | sed 's/: /=/g')
    az resource tag --tags $t$rt --id $resid
  done
done

ModelosTemplates

Para marcar um recurso durante a implementação, adicione o tags elemento para o recurso estiver a implementar.To tag a resource during deployment, add the tags element to the resource you're deploying. Forneça o nome de etiqueta e o valor.Provide the tag name and value.

Aplicar um valor literal ao nome da etiquetaApply a literal value to the tag name

O exemplo seguinte mostra uma conta de armazenamento com duas etiquetas (Dept e Environment) que estão definidas com valores literais:The following example shows a storage account with two tags (Dept and Environment) that are set to literal values:

{
    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "resources": [
    {
      "apiVersion": "2016-01-01",
      "type": "Microsoft.Storage/storageAccounts",
      "name": "[concat('storage', uniqueString(resourceGroup().id))]",
      "location": "[resourceGroup().location]",
      "tags": {
        "Dept": "Finance",
        "Environment": "Production"
      },
      "sku": {
        "name": "Standard_LRS"
      },
      "kind": "Storage",
      "properties": { }
    }
    ]
}

Para definir uma etiqueta para um valor de datetime, utilize o utcNow função.To set a tag to a datetime value, use the utcNow function.

Aplicar um objeto ao elemento da etiquetaApply an object to the tag element

Pode definir um parâmetro de objeto que armazene várias etiquetas e aplicar esse objeto no elemento da etiqueta.You can define an object parameter that stores several tags, and apply that object to the tag element. Cada propriedade no objeto torna-se uma etiqueta separada para o recurso.Each property in the object becomes a separate tag for the resource. O exemplo seguinte tem um parâmetro denominado tagValues que é aplicado no elemento da etiqueta.The following example has a parameter named tagValues that is applied to the tag element.

{
  "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "tagValues": {
      "type": "object",
      "defaultValue": {
        "Dept": "Finance",
        "Environment": "Production"
      }
    }
  },
  "resources": [
    {
      "apiVersion": "2016-01-01",
      "type": "Microsoft.Storage/storageAccounts",
      "name": "[concat('storage', uniqueString(resourceGroup().id))]",
      "location": "[resourceGroup().location]",
      "tags": "[parameters('tagValues')]",
      "sku": {
        "name": "Standard_LRS"
      },
      "kind": "Storage",
      "properties": {}
    }
  ]
}

Aplicar uma cadeia JSON ao nome da etiquetaApply a JSON string to the tag name

Para armazenar muitos valores numa única etiqueta, aplique uma cadeia JSON que represente os valores.To store many values in a single tag, apply a JSON string that represents the values. Toda a cadeia JSON é armazenada como uma etiqueta que não pode exceder os 256 carateres.The entire JSON string is stored as one tag that can't exceed 256 characters. O exemplo seguinte tem uma única etiqueta com o nome CostCenter que contém vários valores de uma cadeia JSON:The following example has a single tag named CostCenter that contains several values from a JSON string:

{
    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "resources": [
    {
      "apiVersion": "2016-01-01",
      "type": "Microsoft.Storage/storageAccounts",
      "name": "[concat('storage', uniqueString(resourceGroup().id))]",
      "location": "[resourceGroup().location]",
      "tags": {
        "CostCenter": "{\"Dept\":\"Finance\",\"Environment\":\"Production\"}"
      },
      "sku": {
        "name": "Standard_LRS"
      },
      "kind": "Storage",
      "properties": { }
    }
    ]
}

PortalPortal

  1. Para ver as etiquetas de um recurso ou grupo de recursos, procura por etiquetas existentes na descrição geral.To view the tags for a resource or a resource group, looks for existing tags in the overview. Se não tiver aplicado etiquetas anteriormente, a lista estará vazia.If you have not previously applied tags, the list is empty.

    Etiquetas de exibição de recurso ou grupo de recursos

  2. Para adicionar uma etiqueta, selecione clique aqui para adicionar etiquetas.To add a tag, select Click here to add tags.

  3. Forneça um nome e valor.Provide a name and value. Selecione + para adicionar a marca.Select + to add the tag.

    Adicionar etiqueta

  4. Continue a adicionar etiquetas, conforme necessário.Continue adding tags as needed. Quando terminar, selecione Guardar.When done, select Save.

    Guardar etiquetas

  5. As etiquetas são agora apresentadas na descrição geral.The tags are now displayed in the overview.

    Mostrar etiquetas

  6. Para adicionar ou eliminar uma etiqueta, selecione alterar.To add or delete a tag, select change.

  7. Para eliminar uma etiqueta, selecione o ícone de caixote do lixo.To delete a tag, select the trash icon. Em seguida, selecione Guardar.Then, select Save.

    Eliminar etiqueta

Em massa atribuir etiquetas a vários recursos:To bulk assign tags to multiple resources:

  1. A partir de qualquer lista de recursos, selecione a caixa de verificação para os recursos que pretende atribuir a etiqueta.From any list of resources, select the checkbox for the resources you want to assign the tag.

    Selecionar vários recursos

  2. Selecione atribuir etiquetasSelect Assign tags

    Atribuir etiquetas

  3. Depois de cada nome e valor, selecione + .After each name and value, select +. Quando terminar, selecione atribuir.When done, select Assign.

    Selecione atribuir

Para ver todos os recursos com uma etiqueta:To view all resources with a tag:

  1. Selecione todos os serviços e etiquetas.Select All services and Tags.

    Encontrar por etiqueta

  2. Selecione a etiqueta para a visualização de recursos.Select the tag for viewing resources.

    Selecione a etiqueta

  3. São apresentados todos os recursos com a mesma.All resources with that tag are displayed.

    Ver recursos por etiqueta

  4. Para um acesso rápido, Afixe a vista ao dashboard.For quick access, pin the view to the dashboard.

    Afixar ao dashboard

  5. A vista está disponível a partir do dashboard.The view is available from the dashboard.

    Dashboard

API RESTREST API

O portal do Azure e o PowerShell utilizam o a API de REST do Resource Manager em segundo plano.The Azure portal and PowerShell both use the Resource Manager REST API behind the scenes. Se precisar de integrar a marcação para outro ambiente, pode obter etiquetas usando obter no ID de recurso e atualizar o conjunto de etiquetas utilizando um aplicar o PATCH chamar.If you need to integrate tagging into another environment, you can get tags by using GET on the resource ID and update the set of tags by using a PATCH call.

As etiquetas e faturaçãoTags and billing

Pode utilizar etiquetas para agrupar os dados de faturas.You can use tags to group your billing data. Por exemplo, se estiver a executar várias VMs para organizações diferentes, use as marcas para utilização do grupo pelo centro de custos.For example, if you're running multiple VMs for different organizations, use the tags to group usage by cost center. Também pode utilizar etiquetas para categorizar os custos ao ambiente de tempo de execução, como a utilização de faturação para VMs em execução no ambiente de produção.You can also use tags to categorize costs by runtime environment, such as the billing usage for VMs running in the production environment.

Pode obter informações sobre etiquetas através do utilização de recursos do Azure e RateCard APIs ou o ficheiro de valores separados por vírgulas (CSV) de utilização.You can retrieve information about tags through the Azure Resource Usage and RateCard APIs or the usage comma-separated values (CSV) file. Transferir o ficheiro de utilização a partir do Centro de contas do Azure ou o portal do Azure.You download the usage file from the Azure Account Center or Azure portal. Para obter mais informações, consulte baixe ou exiba a nota fiscal e diário de dados de utilização de faturação do Azure.For more information, see Download or view your Azure billing invoice and daily usage data. Ao transferir o ficheiro de utilização a partir do Centro de contas do Azure, selecione versão 2.When downloading the usage file from the Azure Account Center, select Version 2. Para os serviços que suportam etiquetas com a faturação, as etiquetas aparecem na etiquetas coluna.For services that support tags with billing, the tags appear in the Tags column.

Para operações de REST API, consulte referência de API de REST de faturação do Azure.For REST API operations, see Azure Billing REST API Reference.

Passos seguintesNext steps