Como funciona o Azure Resource Manager
Acompanhe uma solicitação de criação de recurso pela camada ARM, compreenda os grupos de recursos como contêineres lógicos e aprenda sobre o controle de acesso baseado em funções e a trilha de auditoria do ARM.
Como funciona o Azure Resource Manager é uma aula grátis de Azure Fundamentals no CoddyKit. Esta é a aula 1 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 é o Azure Resource Manager?
O Azure Resource Manager (ARM) é o serviço de implementação e gestão do Azure. Todas as ações realizadas no portal do Azure, na CLI, no PowerShell ou na API REST passam pelo ARM. Este funciona como um plano de controlo centralizado que autentica, autoriza e encaminha todas as operações de recursos.
O fluxo de solicitações do ARM
Quando envia uma solicitação para criar um recurso, o ARM a intercepta, verifica sua identidade por meio do Microsoft Entra ID, verifica as permissões do RBAC, aplica todas as regras do Azure Policy e, em seguida, encaminha a solicitação validada ao provedor de recursos apropriado. O provedor de recursos (por exemplo, Microsoft.Compute) executa a operação propriamente dita e retorna o resultado ao ARM.
# Example: creating a VM via Azure CLI (routed through ARM)
az vm create \
--resource-group MyRG \
--name MyVM \
--image UbuntuLTS \
--admin-username azureuserProvedores e tipos de recursos
Os serviços do Azure são expostos por meio de provedores de recursos, cada um identificado por um namespace, como Microsoft.Storage ou Microsoft.Network. Todo tipo de recurso (por exemplo, Microsoft.Storage/storageAccounts) precisa ser registrado na sua assinatura antes que você possa criar instâncias dele. A maioria dos provedores é registrada automaticamente quando você usa o serviço relacionado pela primeira vez.
# List registered resource providers
az provider list --query "[?registrationState=='Registered'].namespace" -o table
# Register a provider manually
az provider register --namespace Microsoft.InsightsGrupos de recursos como contêineres lógicos
Um grupo de recursos é um contêiner lógico que reúne recursos relacionados do Azure. Todos os recursos de um grupo compartilham o mesmo ciclo de vida — você pode implantá-los, atualizá-los e excluí-los juntos. Os grupos de recursos também servem como escopo padrão para atribuições de RBAC e acompanhamento de custos. Todo recurso do Azure deve pertencer exatamente a um grupo de recursos.
# Create a resource group
az group create --name MyResourceGroup --location eastus
# List all resources in a resource group
az resource list --resource-group MyResourceGroup -o tableARM e o controle de acesso baseado em funções
O ARM aplica o controle de acesso baseado em funções (RBAC) em todos os escopos: grupo de gerenciamento, assinatura, grupo de recursos ou recurso individual. Funções internas, como Owner, Contributor e Reader, abrangem a maioria dos cenários. O ARM avalia as atribuições de funções do escopo mais amplo para o mais específico, e as atribuições de negação podem bloquear permissões herdadas.
# Assign Contributor role at resource group scope
az role assignment create \
--assignee user@contoso.com \
--role 'Contributor' \
--resource-group MyResourceGroupO registro de auditoria do ARM
Toda operação encaminhada pelo ARM é registrada no Azure Activity Log. O log de atividades registra quem executou a operação, qual recurso foi afetado, quando a operação ocorreu e se ela foi bem-sucedida ou falhou. Por padrão, os logs de atividades são mantidos por 90 dias e podem ser arquivados em uma conta de Storage ou transmitidos ao Log Analytics para retenção por mais tempo.
# Query recent ARM operations in activity log
az monitor activity-log list \
--resource-group MyResourceGroup \
--max-events 10 \
--query '[].{time:eventTimestamp, caller:caller, operation:operationName.value, status:status.value}' \
-o tableImplantações declarativas e imperativas
O ARM é compatível com estilos de implantação declarativo e imperativo. As implantações declarativas usam modelos do ARM ou Bicep para descrever o estado final desejado; o ARM determina as operações necessárias para alcançá-lo. As implantações imperativas usam comandos da CLI ou do PowerShell passo a passo. As implantações declarativas são preferidas por sua repetibilidade, pelo controle de versões e pela idempotência.
# Imperative: create storage account step-by-step
az storage account create \
--name mystorageaccount \
--resource-group MyRG \
--location eastus \
--sku Standard_LRS
# Declarative: deploy via ARM template
az deployment group create \
--resource-group MyRG \
--template-file azuredeploy.json \
--parameters @azuredeploy.parameters.jsonModos de implantação: completo e incremental
As implantações de modelos do ARM podem ser executadas em dois modos. O modo incremental (o padrão) adiciona ou atualiza os recursos definidos no modelo, mantendo inalterados os recursos que já estão no grupo, mas não estão no modelo. O modo completo exclui todos os recursos do grupo de recursos que não estão definidos no modelo, fazendo com que o grupo corresponda exatamente ao modelo — use-o com cautela.
# Incremental deployment (default)
az deployment group create \
--resource-group MyRG \
--template-file azuredeploy.json \
--mode Incremental
# Complete deployment (deletes unlisted resources!)
az deployment group create \
--resource-group MyRG \
--template-file azuredeploy.json \
--mode CompleteEstrutura de um modelo do ARM
Um modelo do ARM é um documento JSON com seis seções principais: $schema (versão do modelo), contentVersion, parameters (entradas), variables (valores calculados), resources (o que será implantado) e outputs (valores a serem retornados). A matriz de recursos contém um objeto para cada recurso do Azure, especificando o tipo, a versão da API, o nome, a localização e as propriedades.
{
'$schema': 'https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#',
'contentVersion': '1.0.0.0',
'parameters': {},
'variables': {},
'resources': [
{
'type': 'Microsoft.Storage/storageAccounts',
'apiVersion': '2023-01-01',
'name': 'mystorageaccount',
'location': '[resourceGroup().location]',
'sku': { 'name': 'Standard_LRS' },
'kind': 'StorageV2'
}
],
'outputs': {}
}Gerenciamento de dependências no ARM
Ao implantar vários recursos, o ARM pode implantar recursos independentes em paralelo por padrão, acelerando as implantações. Quando um recurso depende de outro (por exemplo, uma VM precisa de uma NIC, e a NIC precisa de uma VNet), você declara explicitamente a dependência com dependsOn. O ARM resolve o grafo de dependências e ordena as operações de acordo com ele.
{
'type': 'Microsoft.Network/networkInterfaces',
'name': 'myNic',
'dependsOn': [
'[resourceId("Microsoft.Network/virtualNetworks", "myVNet")]'
],
'properties': {
'ipConfigurations': [{
'name': 'ipconfig1',
'properties': {
'subnet': {
'id': '[resourceId("Microsoft.Network/virtualNetworks/subnets", "myVNet", "mySubnet")]'
}
}
}]
}
}Análise de implantação what-if
Antes de executar uma implantação, use a operação what-if para visualizar as alterações que o ARM fará sem aplicá-las de fato. A saída lista os recursos que serão criados, modificados ou excluídos, usando cores diferentes para cada tipo de alteração. Isso é especialmente útil antes de executar uma implantação no modo completo ou fazer alterações em ambientes de produção.
# Preview changes before deploying
az deployment group what-if \
--resource-group MyRG \
--template-file azuredeploy.json \
--parameters @params.jsonVerificação rápida
Teste sua compreensão dos conceitos do Microsoft Azure Fundamentals (AZ-900) abordados nesta lição.
Recapitulação da lição
Nesta lição, você aprendeu que o Azure Resource Manager é a camada centralizada de gerenciamento de todos os recursos do Azure; os grupos de recursos são contêineres lógicos que agrupam recursos com o mesmo ciclo de vida; e as implantações do ARM podem ser executadas no modo incremental ou completo, com suporte à visualização what-if. A seguir, exploraremos como escrever modelos do ARM.
Perguntas Frequentes
A aula “Como funciona o Azure Resource Manager” é grátis?
Sim — o texto completo de “Como funciona o Azure Resource Manager” é 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 “Como funciona o Azure Resource Manager”?
Acompanhe uma solicitação de criação de recurso pela camada ARM, compreenda os grupos de recursos como contêineres lógicos e aprenda sobre o controle de acesso baseado em funções e a trilha de audito… 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 1 de 4.
Quanto tempo leva a aula “Como funciona o Azure Resource Manager”?
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
- Como funciona o Azure Resource Manager
- Escrevendo Modelos ARM
- Bicep: IaC moderno do Azure
- Terraform no Azure