Marcas e Bloqueios de Recursos
Aplique marcas de metadados aos recursos para alocação de custos e pesquisa e impeça exclusões ou modificações acidentais com bloqueios de recursos somente leitura ou de exclusão.
Marcas e Bloqueios de Recursos é uma aula grátis de Azure Fundamentals no CoddyKit. Esta é a aula 3 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Azure Fundamentals, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Azure Fundamentals inclui 4 aulas no total.
O que são marcas de recursos do Azure?
As marcas de recursos são pares nome-valor de metadados anexados aos recursos, grupos de recursos e assinaturas do Azure. Diferentemente das estruturas de pastas, as marcas permitem categorizar um único recurso em várias dimensões simultaneamente. Por exemplo, uma VM pode ter as marcas Environment=Production, Team=Backend, CostCentre=CC-042 e Project=Phoenix ao mesmo tempo, permitindo a filtragem independente por qualquer uma dessas dimensões.
Estratégias comuns de marcas
Normalmente, as organizações definem uma taxonomia de marcas padrão que abrange várias dimensões. As marcas financeiras (CostCentre, BudgetOwner) permitem alocar custos. As marcas operacionais (Environment, Criticality, Owner) facilitam a filtragem e os alertas. As marcas de ciclo de vida (AutoShutdown, ExpiryDate) permitem a automação. As marcas de segurança (DataClassification, Compliance) dão suporte às ferramentas de segurança. Definir a taxonomia antes de implantar os recursos evita um conjunto de marcas inconsistente e impossível de consultar.
Aplicação de tags por CLI e Policy
As tags podem ser aplicadas através do portal do Azure, da CLI, de modelos ARM, do Bicep e do Terraform. O comando az tag gere tags nos recursos, enquanto az group update aplica tags aos grupos de recursos. Ao utilizar Azure Policy com o efeito Modify ou Append, pode adicionar ou exigir tags automaticamente no momento da criação do recurso — garantindo que todos os recursos novos tenham uma tag CostCentre, sem depender de que os programadores se lembrem de a adicionar manualmente.
# Apply tags to a resource
az resource tag \
--resource-group myRG \
--name myVM \
--resource-type Microsoft.Compute/virtualMachines \
--tags Environment=Production Team=Backend CostCentre=CC-042
# Apply tags to a resource group (does NOT apply to resources inside)
az group update \
--name myRG \
--set tags.Environment=Production tags.CostCentre=CC-042Limitação da herança de tags
É comum pensar, incorretamente, que as tags de um grupo de recursos são automaticamente propagadas para os recursos que ele contém. Isso não acontece — as tags de recursos do Azure não são herdadas dos escopos principais. Se aplicar a tag Environment=Production a um grupo de recursos, as VMs e as bases de dados desse grupo não receberão automaticamente essa tag. Para impor uma etiquetagem consistente, utilize uma Azure Policy com a definição incorporada Inherit a tag from the resource group, que copia automaticamente a tag do grupo de recursos para todos os recursos nele contidos.
# Assign the 'Inherit a tag from the resource group' policy
az policy assignment create \
--name 'inherit-environment-tag' \
--policy 'cd3aa116-8754-49c9-a813-ad46512ece54' \
--params '{"tagName": {"value": "Environment"}}' \
--scope /subscriptions/<sub-id>Utilização de tags na gestão de custos
As tags são especialmente úteis quando combinadas com o Azure Cost Management. Na vista de análise de custos, pode agrupar as despesas por qualquer chave de tag — por exemplo, consultar a despesa mensal total por CostCentre para identificar qual departamento consome mais recursos da nuvem. Também pode filtrar por Environment=Production para excluir as despesas de desenvolvimento dos orçamentos de produção. O Azure Cost Management exige que a tag tenha sido aplicada antes do período de faturação para que apareça nos dados de custos.
# Export cost data grouped by tag
# (Azure CLI cost export with tag grouping)
az consumption usage list \
--start-date 2026-06-01 \
--end-date 2026-06-30 \
--query '[].{Cost:pretaxCost, Service:instanceName, CostCentre:tags.CostCentre}' \
--output tableO que são bloqueios de recursos?
Os bloqueios de recursos protegem os recursos do Azure contra eliminação ou modificação acidental, independentemente das permissões RBAC do utilizador. Um utilizador com direitos de Owner ou Contributor pode continuar impedido de eliminar ou modificar um recurso bloqueado. Os bloqueios são aplicados ao nível do recurso, do grupo de recursos ou da subscrição e propagam-se para baixo — um bloqueio num grupo de recursos protege todos os recursos nele contidos.
Tipos de bloqueio: CanNotDelete e ReadOnly
O Azure suporta dois tipos de bloqueio. CanNotDelete (bloqueio contra eliminação) permite que os utilizadores leiam e modifiquem o recurso, mas impede a sua eliminação. Este é o bloqueio mais comum — aplicado a bases de dados de produção, contas de armazenamento e VNets para evitar a remoção acidental. ReadOnly impede todas as operações de escrita e eliminação, fazendo com que o recurso se comporte como se a função Reader tivesse sido atribuída a todos. ReadOnly é mais restritivo e pode interromper processos automatizados que atualizam as propriedades dos recursos.
# Apply a CanNotDelete lock to a resource group
az lock create \
--name 'prevent-delete' \
--resource-group myRG \
--lock-type CanNotDelete \
--notes 'Protect production resources from accidental deletion'
# Apply a ReadOnly lock to a specific storage account
az lock create \
--name 'storage-readonly' \
--resource-group myRG \
--resource-name mystorageaccount \
--resource-type Microsoft.Storage/storageAccounts \
--lock-type ReadOnlyRemoção de bloqueios de recursos
Para eliminar ou modificar um recurso bloqueado, o utilizador deve primeiro remover o bloqueio — o que requer a permissão Microsoft.Authorization/locks/delete (disponível, por predefinição, para as funções Owner e User Access Administrator). A remoção do bloqueio, a modificação do recurso e a eventual reaplicação do bloqueio podem ser integradas num fluxo de trabalho de gestão de alterações, garantindo que os recursos protegidos continuam a poder ser modificados através de um processo controlado e com um registo de auditoria.
# List all locks in a resource group
az lock list \
--resource-group myRG \
--output table
# Remove a lock
az lock delete \
--name 'prevent-delete' \
--resource-group myRGHerança e substituição de bloqueios
Um bloqueio aplicado a um escopo principal (subscrição ou grupo de recursos) é herdado por todos os recursos subordinados. Não é possível substituir um bloqueio num escopo inferior — se um grupo de recursos tiver um bloqueio CanNotDelete, não será possível eliminar recursos individuais nele contidos, mesmo que não tenham um bloqueio aplicado diretamente. Adicionar um bloqueio CanNotDelete ao nível do recurso, além de um bloqueio principal, não altera o comportamento; o bloqueio principal já fornece essa proteção.
Efeitos secundários do bloqueio ReadOnly
Os bloqueios ReadOnly podem causar falhas inesperadas em processos automatizados. Algumas operações do Azure que parecem ser apenas de leitura exigem, na realidade, acesso de escrita às propriedades dos recursos nos bastidores. Por exemplo, a apresentação das chaves de acesso de uma conta de armazenamento é bloqueada por um bloqueio ReadOnly, porque a ação de listar as chaves modifica o registo de auditoria da conta. O aumento da capacidade de uma VM, o reinício de um App Service e a ligação de um disco a uma VM em execução também são bloqueados. Teste os bloqueios ReadOnly em ambientes que não sejam de produção antes de os aplicar a recursos críticos.
Tags e bloqueios em conjunto
A combinação de tags e bloqueios cria um padrão de governação poderoso. Pode utilizar uma tag como Protected=true para marcar os recursos que devem ter bloqueios CanNotDelete e, em seguida, executar um Runbook do Azure Automation que consulta os recursos com essa tag e cria o bloqueio caso esteja em falta. Este padrão de governação com autorrecuperação garante que, mesmo que um administrador remova acidentalmente um bloqueio, este seja reaplicado automaticamente de acordo com a agenda do runbook.
Verificação rápida
Teste a sua compreensão dos conceitos do Microsoft Azure Fundamentals (AZ-900) abordados nesta lição.
Recapitulação da lição
Nesta lição, aprendeu que: as tags de recursos são pares de metadados nome-valor que permitem a alocação de custos, a filtragem e a automatização em qualquer dimensão; as tags não são herdadas dos grupos de recursos principais e devem ser impostas através de Azure Policy; e os bloqueios de recursos (CanNotDelete e ReadOnly) protegem os recursos contra alterações acidentais, independentemente das permissões RBAC. De seguida, exploraremos os Azure Blueprint para agrupar artefactos de governação.
Perguntas Frequentes
A aula “Marcas e Bloqueios de Recursos” é grátis?
Sim — o texto completo de “Marcas e Bloqueios de Recursos” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Azure Fundamentals, atualize para CoddyKit PRO. O curso de Azure Fundamentals inclui 4 aulas no total.
O que vou aprender em “Marcas e Bloqueios de Recursos”?
Aplique marcas de metadados aos recursos para alocação de custos e pesquisa e impeça exclusões ou modificações acidentais com bloqueios de recursos somente leitura ou de exclusão. Você pratica Azure Fundamentals com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar Azure Fundamentals?
Nenhuma experiência prévia é necessária. Azure Fundamentals no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 3 de 4.
Quanto tempo leva a aula “Marcas e Bloqueios de Recursos”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de Azure Fundamentals?
Sim. Cada aula de Azure Fundamentals inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Grupos de Gerenciamento e Assinaturas
- Azure Policy
- Marcas e Bloqueios de Recursos
- Azure Blueprints e Conformidade