Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
À medida que sua organização amadurece, talvez seja necessário definir e atribuir políticas ou controle de acesso baseado em função do Azure (Azure RBAC) em seu locatário do Microsoft Entra. Com modelos de nível de locatário, você pode aplicar políticas declarativamente e atribuir funções em nível global.
Sugestão
Bicep é recomendado, pois oferece as mesmas capacidades que os modelos ARM e tem uma sintaxe mais fácil de usar. Para saber mais, consulte Implantações de locatário.
Recursos suportados
Nem todos os tipos de recursos podem ser implantados no nível do locatário. Esta seção lista quais tipos de recursos são suportados.
Para o controle de acesso baseado em função do Azure (Azure RBAC), use:
Para modelos aninhados que implantam em grupos de gerenciamento, assinaturas ou grupos de recursos, use:
Para criar grupos de gerenciamento, use:
Para criar assinaturas, use:
Para gerir custos, utilize:
Para configurar o portal, use:
As definições de política internas são recursos no nível do locatário, mas você não pode implantar definições de política personalizadas no locatário. Para obter um exemplo de atribuição de uma definição de política interna a um recurso, consulte um tenantResourceId exemplo.
Esquema
O esquema usado para implantações de locatário é diferente do esquema para implantações de grupo de recursos.
Para modelos, use:
{
"$schema": "https://schema.management.azure.com/schemas/2019-08-01/tenantDeploymentTemplate.json#",
...
}
O esquema para um arquivo de parâmetro é o mesmo para todos os escopos de implantação. Para arquivos de parâmetros, use:
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#",
...
}
Acesso necessário
A entidade de segurança que implanta o modelo deve ter permissões para criar recursos no escopo do locatário. A entidade de segurança deve ter permissão para executar as ações de implantação (Microsoft.Resources/deployments/*) e para criar os recursos definidos no modelo. Por exemplo, para criar um grupo de gerenciamento, a entidade de segurança deve ter permissão de Colaborador no escopo do locatário. Para criar atribuições de função, a entidade de segurança deve ter permissão de proprietário.
O Administrador Global da ID do Microsoft Entra não tem automaticamente permissão para atribuir funções. Para habilitar implantações de modelo no escopo do locatário, o Administrador Global deve executar as seguintes etapas:
Eleve o acesso à conta para que o Administrador Global possa atribuir funções. Para obter mais informações, consulte Elevar o acesso para gerenciar todas as assinaturas e grupos de gerenciamento do Azure.
Atribua Proprietário ou Colaborador à entidade de segurança que precisa implantar os modelos.
New-AzRoleAssignment -SignInName "[userId]" -Scope "/" -RoleDefinitionName "Owner"az role assignment create --assignee "[userId]" --scope "/" --role "Owner"
A entidade de segurança agora tem as permissões necessárias para implantar o modelo.
Comandos de implantação
Os comandos para implantações de locatário são diferentes dos comandos para implantações de grupo de recursos.
Para a CLI do Azure, use az deployment tenant create:
az deployment tenant create \
--name demoTenantDeployment \
--___location WestUS \
--template-uri "https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/tenant-deployments/new-mg/azuredeploy.json"
Para obter mais informações sobre comandos de implantação e opções para implantar modelos ARM, consulte:
- Implantar recursos com modelos ARM e o portal do Azure
- Implantar recursos com modelos ARM e CLI do Azure
- Implantar recursos com modelos ARM e Azure PowerShell
- Implantar recursos com modelos ARM e a API REST do Azure Resource Manager
- Use um botão de implantação para implantar modelos do repositório GitHub
- Implantar modelos ARM a partir do Cloud Shell
Local e nome da implantação
Para implantações no nível de locatário, você deve fornecer um local para a implantação. O local da implantação é separado do local dos recursos implantados. O local de implantação especifica onde armazenar os dados de implantação. As implantações de assinatura e grupo de gerenciamento também exigem um local. Para implantações de grupo de recursos , o local do grupo de recursos é usado para armazenar os dados de implantação.
Você pode fornecer um nome para a implantação ou usar o nome de implantação padrão. O nome padrão é o nome do arquivo de modelo. Por exemplo, implantar um modelo chamado azuredeploy.json cria um nome de implantação padrão de azuredeploy.
Para cada nome de implantação, o local é imutável. Não é possível criar uma implantação em um local quando há uma implantação existente com o mesmo nome em um local diferente. Por exemplo, se você criar uma implantação de locatário com o nome deployment1 no centralus, não poderá criar outra implantação posteriormente com o nome deployment1 , mas um local do westus. Se você receber o código InvalidDeploymentLocationde erro , use um nome diferente ou o mesmo local da implantação anterior para esse nome.
Escopos de implantação
Ao implementar em um tenant, você pode implementar recursos para:
- O inquilino
- Grupos de gerenciamento dentro do locatário
- Subscrições
- Grupos de recursos
As únicas transições de escopo proibidas ocorrem do Grupo de Recursos para o Grupo de Gerenciamento ou da Assinatura para o Grupo de Gerenciamento.
Um recurso de extensão pode ter um escopo diferente do destino de implantação.
O usuário que implanta o modelo deve ter acesso ao escopo especificado.
Esta seção mostra como especificar escopos diferentes. Você pode combinar esses diferentes escopos em um modelo.
Âmbito de aplicação para o inquilino
Os recursos definidos na seção de recursos do modelo são aplicados ao locatário:
{
"$schema": "https://schema.management.azure.com/schemas/2019-08-01/tenantDeploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [
tenant-resources
],
"outputs": {}
}
Âmbito de aplicação do grupo de gestão
Para direcionar um grupo de gerenciamento dentro do locatário, adicione uma implantação aninhada e especifique a scope propriedade:
{
"$schema": "https://schema.management.azure.com/schemas/2019-08-01/tenantDeploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"mgName": {
"type": "string"
}
},
"variables": {
"mgId": "[concat('Microsoft.Management/managementGroups/', parameters('mgName'))]"
},
"resources": [
{
"type": "Microsoft.Resources/deployments",
"apiVersion": "2025-04-01",
"name": "nestedMG",
"scope": "[variables('mgId')]",
"___location": "eastus",
"properties": {
"mode": "Incremental",
"template": {
management-group-resources
}
}
}
],
"outputs": {}
}
Âmbito da subscrição
Você também pode segmentar assinaturas dentro do locatário. O usuário que implanta o modelo deve ter acesso ao escopo especificado.
Para direcionar uma assinatura dentro do locatário, use uma implantação aninhada e a subscriptionId propriedade:
{
"$schema": "https://schema.management.azure.com/schemas/2019-08-01/tenantDeploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [
{
"type": "Microsoft.Resources/deployments",
"apiVersion": "2025-04-01",
"name": "nestedSub",
"___location": "westus2",
"subscriptionId": "00000000-0000-0000-0000-000000000000",
"properties": {
"mode": "Incremental",
"template": {
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [
{
subscription-resources
}
]
}
}
}
]
}
Âmbito do grupo de recursos
Você também pode direcionar grupos de recursos dentro do tenant. O usuário que implanta o modelo deve ter acesso ao escopo especificado.
Para direcionar um grupo de recursos dentro do locatário, use uma implantação aninhada. Defina as propriedades subscriptionId e resourceGroup. Não defina um local para a implantação aninhada, pois ela é implantada no local do grupo de recursos.
{
"$schema": "https://schema.management.azure.com/schemas/2019-08-01/tenantDeploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [
{
"type": "Microsoft.Resources/deployments",
"apiVersion": "2025-04-01",
"name": "nestedRGDeploy",
"subscriptionId": "00000000-0000-0000-0000-000000000000",
"resourceGroup": "demoResourceGroup",
"properties": {
"mode": "Incremental",
"template": {
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [
{
resource-group-resources
}
]
}
}
}
]
}
Criar grupo de gestão
O modelo a seguir cria um grupo de gerenciamento.
{
"$schema": "https://schema.management.azure.com/schemas/2019-08-01/tenantDeploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"mgName": {
"type": "string",
"defaultValue": "[concat('mg-', uniqueString(newGuid()))]"
}
},
"resources": [
{
"type": "Microsoft.Management/managementGroups",
"apiVersion": "2020-02-01",
"name": "[parameters('mgName')]",
"properties": {
}
}
]
}
Se sua conta não tiver permissão para implantar no locatário, você ainda poderá criar grupos de gerenciamento implantando em outro escopo. Para obter mais informações, consulte grupo de gerenciamento.
Atribuir função
O modelo a seguir atribui uma função no escopo do locatário.
{
"$schema": "https://schema.management.azure.com/schemas/2019-08-01/tenantDeploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"metadata": {
"_generator": {
"name": "bicep",
"version": "0.5.6.12127",
"templateHash": "17107802581699825924"
}
},
"parameters": {
"principalId": {
"type": "string",
"metadata": {
"description": "principalId if the user that will be given contributor access to the tenant"
}
},
"roleDefinitionId": {
"type": "string",
"defaultValue": "8e3af657-a8ff-443c-a75c-2fe8c4bcb635",
"metadata": {
"description": "roleDefinition for the assignment - default is owner"
}
}
},
"variables": {
"roleAssignmentName": "[guid('/', parameters('principalId'), parameters('roleDefinitionId'))]"
},
"resources": [
{
"type": "Microsoft.Authorization/roleAssignments",
"apiVersion": "2020-03-01-preview",
"name": "[variables('roleAssignmentName')]",
"properties": {
"roleDefinitionId": "[tenantResourceId('Microsoft.Authorization/roleDefinitions', parameters('roleDefinitionId'))]",
"principalId": "[parameters('principalId')]"
}
}
]
}
Próximos passos
- Para saber mais sobre como atribuir funções, consulte como atribuir funções do Azure usando modelos do Azure Resource Manager.
- Você também pode implantar modelos no nível de assinatura ou grupo de gerenciamento .