Conceitos de Namespace de Tags e Tag

O Oracle Cloud Infrastructure suporta dois tipos de tags: tags de formato livre e tags definidas. Ao criar e aplicar tags, você pode recuperar listas de recursos marcados com chaves específicas de qualquer serviço que suporte tags.

Dica

Assista a um vídeo que apresentará a você os conceitos e recursos de tags: Introdução às Tags.

Política Obrigatória do Serviço IAM

Se você estiver no grupo Administradores, terá o acesso necessário para gerenciar namespaces de tag e tags.

Para obter mais amostras de políticas específicas para trabalhar com tags e namespaces de tag, consulte Permissões Obrigatórias para Trabalhar com Tags Definidas.

Se você for iniciante em políticas, consulte Gerenciando Domínios de Identidades e Políticas Comuns. Se quiser mais detalhes sobre como criar políticas para grupos ou outros componentes do serviço IAM, consulte Detalhes do Serviço IAM sem Domínios de Identidade.

Visão Geral de Tags e Namespaces de Tag

As tags definidas fornecem mais recursos e controle do que as tags de formato livre. Antes de criar uma chave de tag definida, primeiro configure um namespace de tag para ela. Você pode imaginar um namespace de tag como um contêiner para um conjunto de chaves de tag.

Quando você cria a definição de chave de tag, deve escolher o tipo de valor (que também determina como o usuário que aplica a tag adiciona o valor): 

  • Você pode deixar o campo de valor vazio para que um usuário possa preenchê-lo.
  • Você pode criar uma lista de valores para que o usuário possa escolher entre esses valores.
Observação

Os caracteres permitidos para namespaces de tag e chaves são ASCII imprimíveis, exceto U+0020 espaço (" ") e U+002E ponto final ("."). O namespace e os nomes de chaves não podem ficar vazios.

Evite digitar informações confidenciais.

Para aplicar uma tag definida a um recurso, um usuário primeiro seleciona o namespace de tag, depois a chave da tag dentro do namespace e, em seguida, ele pode designar o valor. Se a chave de tag contiver um valor em branco, o usuário poderá digitar um valor ou deixá-lo em branco. Se a chave de tag contiver uma lista, o usuário deverá selecionar um valor da lista.

As tags definidas oferecem suporte à política para permitir que você controle quem pode aplicar suas tags definidas. O namespace de tag é a entidade à qual você pode aplicar a política. Os administradores podem controlar quais grupos de usuários têm permissão para usar cada namespace.

Os diagramas a seguir ilustram tags definidas. Dois namespaces de tag são configurados: Operations e HumanResources. As chaves de tag são definidas nos namespaces. Em cada namespace, as chaves de tag devem ser exclusivas, mas um nome de chave de tag pode ser repetido entre namespaces. No exemplo, ambos os namespaces incluem uma chave com o nome "Environment".

Esta imagem mostra dois namespaces com definições de chave de tag

A primeira instância é marcada com duas tags do namespace de tag Operations, indicando que ela pertence ao ambiente de produção Operations e ao projeto Operations "Alfa". A segunda instância é marcada com tags do namespace de tag HumanResources e do namespace de tag Operations, indicando que ela pertence ao ambiente de "Production" HumanResources , ao centro de custo HumanResources "42" e também ao projeto Operations "Beta".

Esta imagem mostra tags definidas aplicadas às instâncias, destacando o conceito de namespace

Como Trabalhar com Tags Padrão

Para reduzir as complexidades da criação e do gerenciamento de tags, o Oracle Cloud Infrastructure Tagging fornece modelos de namespaces de tag e definições de tag padrão.

Você pode usar esse modelo para criar um namespace de tag e trazer consistência em sua tenancy.

Para obter mais informações, consulte Noções Básicas de Tags Padrão. Para saber como importar tags padrão usando o console, consulte Importar Tags Padrão.

Como Trabalhar com Tags Definidas

Você deve configurar o namespace de tag e as chaves de tag em sua tenancy para que os usuários possam aplicar uma tag definida a um recurso. Como parte do processo de configuração, você também deve conceder permissões aos grupos de usuários que precisam usar o namespace.

Observação

Os namespaces de tag e as definições de chave de tag que começam com "oci" e "orcl" são reservados para uso interno.

Os recursos das tags definidas incluem:

  • Consistem em um namespace de tag, uma chave e um valor.
  • O namespace de tag e a definição de chave de tag devem ser configurados em sua tenancy para que os usuários possam aplicar uma tag definida a um recurso.
  • Você pode criar a chave de tag com um tipo de valor de tag de string (para que o usuário adicione um valor ou deixe em branco) ou uma lista de valores (dentre os quais o usuário deve escolher).
  • Ao aplicar uma tag definida, os usuários selecionam na lista de chaves de tag.
  • Os usuários podem aplicar uma tag definida durante a criação do recurso ou a um recurso existente.
  • As chaves de tag definidas não fazem distinção entre maiúsculas e minúsculas.
  • Os valores de tag definidos fazem distinção entre maiúsculas e minúsculas. Por exemplo, "alfa" e "Alfa" são valores distintos.
  • Você pode usar variáveis de tag.
  • É possível criar uma lista de variáveis predefinidas a serem associadas a uma chave de tag. Os usuários que aplicam a tag a um recurso devem selecionar um valor na lista que você criar.

Os administradores de tags criam e gerenciam tags definidas, e os usuários aplicam essas tags aos recursos. Use a política do Serviço IAM para selecionar administradores de tags que podem criar tags. Conceda a todos os outros usuários na tenancy apenas a capacidade de aplicar tags.

Permissões Obrigatórias para Trabalhar com Tags Definidas

Para aplicar, atualizar ou remover tags definidas de um recurso, um usuário deve receber permissões do recurso e permissões para usar o namespace de tag.

Os usuários devem receber acesso use do namespace de tag para aplicar, atualizar ou remover uma tag definida de um recurso.

Algumas políticas de exemplo para namespaces de tag:

Para permitir que um grupo simplesmente exiba os namespaces de tag na tenancy (ou em um compartimento) é necessário o acesso inspect:

Allow group GroupA to inspect tag-namespaces in tenancy
Importante

Para aplicar tags a um recurso ao usar a Console, um usuário deverá ter a permissão inspect tag-namespaces in tenancy. Se o usuário não tiver essa permissão, a lista de namespaces de tag não poderá ser apresentada ao usuário no menu da caixa de diálogo.

Para permitir que um grupo leia as definições de tag contidas em namespaces de tag, é necessário o acesso read:

Allow group GroupA to read tag-namespaces in tenancy

Para permitir que um grupo aplique, atualize ou remova uma tag definida de um recurso, é necessário o acesso use no namespace de tag:

Allow group GroupA to use tag-namespaces in tenancy

Para permitir o uso de um ou mais namespaces de tag específicos, use uma cláusula where com a variável target.tag-namespace.name. Por exemplo:

Allow group GroupA to use tag-namespaces in tenancy where target.tag-namespace.name='Operations'

ou para especificar vários namespaces de tag:

Allow group GroupA to use tag-namespaces in tenancy where any {target.tag-namespace.name='Operations', target.tag-namespace.name='HumanResources'}

Para gerenciar namespaces de tag e as definições de tag neles, é necessário o acesso manage:

Allow group GroupA to manage tag-namespaces in tenancy

Além das permissões para trabalhar com o namespace de tag, para aplicar ou remover tags definidas em um recurso, você deve ter a permissão de atualização para o recurso. Para muitos recursos, a permissão de atualização é concedida com o verbo use. Por exemplo, os usuários que podem usar instâncias em CompartmentA também podem aplicar, atualizar ou remover tags definidas de instâncias em CompartmentA.

Alguns recursos não incluem a permissão de atualização com o verbo use. Para permitir que um grupo aplique, atualize ou remova tags definidas desses recursos sem conceder as permissões completas de manage, você pode adicionar uma instrução de política para conceder somente a permissão <RESOURCE>_UPDATE do verbo manage. Por exemplo, para permitir que um grupo NetworkUsers trabalhe com tags definidas com VCNs no CompartmentA, você poderá gravar uma política como:


Allow group NetworkUsers to use vcns in compartment CompartmentA
Allow group NetworkUsers to manage vcns in compartment CompartmentA where request.permission='VCN_UDPATE'

A permissão inspect para um recurso concede permissões para exibir as tags definidas para esse recurso. Por exemplo, os usuários que podem inspect instâncias também podem exibir qualquer tag definida aplicada à instância.

Para obter informações sobre permissões de recursos, consulte Referência de Políticas.

Exemplo de Cenário

Sua empresa tem um departamento de Operações. Dentro do departamento de Operações estão vários centros de custos. Você deseja marcar recursos que pertencem ao departamento de Operações com o centro de custo apropriado.

  1. Crie uma definição de namespace de tag chamada Operações.
  2. No namespace Operações, crie uma definição de chave de tag chamada CostCenter.

Alice já pertence ao grupo InstanceLaunchers. Alice pode gerenciar instâncias no CompartmentA. Você deseja que Alice e outros membros do grupo do InstanceLaunchers possam aplicar a tag Operations.CostCenter a instâncias no CompartmentA.

Para conceder ao grupo InstanceLaunchers acesso ao namespace da tag Operações (e somente ao namespace da tag Operações), adicione as seguintes instruções à política InstanceLaunchers:

Allow group InstanceLaunchers to use tag-namespaces in compartment CompartmentA where target.tag-namespace.name='Operations'

Alice agora pode aplicar a tag Operations.CostCenter aos recursos no CompartmentA.

Herdando Tags de Compartimento

Os compartimentos filhos e seus recursos na medição de serviços, como Análise de Custo, Relatórios de Uso e Orçamento, herdam as tags definidas aplicadas a um compartimento. No entanto, se houver um conflito entre as tags herdadas e as tags aplicadas diretamente aos recursos ou aos compartimentos filhos, as tags aplicadas aos recursos terão precedência sobre as tags herdadas. Você pode aplicar dinamicamente tags definidas a recursos em um compartimento.

Por exemplo, considere uma tenancy chamada TenancyA com TagKey1=TagValueP e um compartimento chamado Compartimento P com TagKey3=TagValueQ e TagKey4=TagValueS. Você tem uma instância de computação no Compartimento P com TagKey2=TagValueR, TagKey3=TagValueT. Quando a lógica de herança de tag é aplicada, as seguintes tags são aplicadas à instância de computação: TagKey2=TagValueR, TagKey3=TagValueT, TagKey4=TagValueS. O recurso herdou TagKey4=TagValueS do compartimento pai. No entanto, o TagKey3 aplicado à instância de computação substitui o valor TagKey3 aplicado ao compartimento pai.

Você pode filtrar usando tags herdadas na Análise de Custos, criar orçamentos com tags herdadas e exibir essas tags nos Relatórios de Uso.

Retirando Definições de Chave e Definições de Namespace

Você pode retirar uma definição de chave de tag ou uma definição de namespace de tag.

Quando você retira uma definição de chave de tag, não é mais possível aplicá-la aos recursos. No entanto, a tag não é removida dos recursos aos quais ela foi aplicada. A tag ainda existe como metadados nesses recursos e você ainda pode chamar a tag retirada em operações (como listagem, classificação ou geração de relatórios).

Importante

A retirada de uma tag interrompe o rastreamento de custos para a tag, mas se você não desativar a opção de rastreamento de custos na definição de chave de tag, a tag retirada continuará sendo contabilizada no máximo de 10 tags de rastreamento de custos da sua tenancy. Desative o rastreamento de custos antes de retirar a definição de chave de tag. Para desativar o rastreamento de custos depois que uma tag for retirada, você deverá reativar a definição de chave de tag. Não é possível atualizar definições de chave de tag que estão no estado retirado.

Reativando Definições de Chave de Tag e Definições de Namespace

Você pode reativar definições de chave de tag e definições de namespace de tag retiradas.

  • Quando você reativa uma chave de tag, ela fica disponível novamente para você aplicar aos recursos.
  • Quando você reativa um namespace de tag, pode criar novas definições de chave de tag nesse namespace. No entanto, se você quiser usar qualquer uma das definições de chave de tag que foram retiradas com o namespace, será preciso reativar explicitamente cada definição de chave de tag.

Movendo Namespaces de Tag para Outro Compartimento

Você pode mover um namespace de tag para outro compartimento. O namespace de tag pode estar ativo ou retirado quando você o move. Quando você move o namespace de tag, todas as suas definições de chave de tag são movidas juntamente com ele.

Essa funcionalidade será útil se você precisar reorganizar sua hierarquia de compartimentos ou se precisar excluir um compartimento que contém um namespace de tag retirado. Lembre-se de que você não pode excluir um compartimento que contenha recursos. Um namespace de tag retirado, mesmo que seja retirado, ainda é um recurso existente. Mover o namespace de tag retirado para outro compartimento pode permitir que você exclua o compartimento original.

Para mover um namespace de tag, você deve ter a permissão manage tag-namespaces em ambos os compartimentos.

Consulte o procedimento Movendo um Namespace de Tag para Outro Compartimento.

Excluindo Definições de Chave de Tag e Namespace de Tag

Você pode excluir definições de chave de tag e namespaces de tag.

Quando você exclui uma definição de chave de tag, começa um processo que remove a tag de todos os recursos em sua tenancy. Estas ações acontecem imediatamente:

  • Se a tag era uma tag de rastreamento de custos, ela não será mais contabilizada no seu limite de 10 tags de rastreamento de custos, independentemente de você tê-la desativado ou não.
  • Se a tag era usada com grupos dinâmicos, nenhuma das regras que contêm a tag será avaliada em relação à tag.

A ação de exclusão é assíncrona e inicia uma solicitação de serviço. Quando você iniciar a operação de exclusão, o estado da tag será alterado para exclusão e a remoção de tag dos recursos começará. Este processo pode levar até 48 horas, dependendo do número de recursos marcados e das regiões nas quais esses recursos residem. Quando todas as tags tiverem sido removidas, o estado será alterado para excluído. Não é possível restaurar uma tag excluída. Depois que o estado da tag é alterado para Excluído, você pode usar o mesmo nome de tag novamente.

Para excluir uma definição de chave de tag, você deve primeiro retirá-la. Para deletar um namespace de tag, primeiro retire o namespace de tag. Quando você retira um namespace de tag que contém definições de chave de tag, todas as chaves de tag no namespace são retiradas, permitindo que você exclua o namespace de tag.