Proteger sua hierarquia de recursos
Seus recursos, grupos de recursos, assinaturas, grupos de gerenciamento e locatário compõem sua hierarquia de recursos. As configurações no grupo de gerenciamento raiz, como funções personalizadas do Azure ou atribuições de política, podem afetar todos os recursos em sua hierarquia de recursos. É importante proteger a hierarquia de recursos contra alterações que possam afetar negativamente todos os recursos.
Os grupos de gerenciamento têm configurações de hierarquia que permitem que o administrador de locatários controle esses comportamentos. Este artigo aborda cada uma das configurações de hierarquia disponíveis e como defini-las.
Permissões do Azure RBAC para configurações de hierarquia
A definição das configurações de hierarquia requer as seguintes operações do provedor de recursos no grupo de gerenciamento raiz:
Microsoft.Management/managementgroups/settings/write
Microsoft.Management/managementgroups/settings/read
Essas operações representam permissões de RBAC (controle de acesso baseado em função) do Azure. Eles só permitem que um usuário leia e atualize as configurações de hierarquia. Eles não fornecem nenhum outro acesso à hierarquia do grupo de gerenciamento ou aos recursos na hierarquia.
Ambas as operações estão disponíveis na função interna do Azure Administrador de Configurações de Hierarquia.
Configuração: Definir o grupo de gerenciamento padrão
Por padrão, uma nova assinatura que você adiciona em um locatário se torna membro do grupo de gerenciamento raiz. Se você atribuir atribuições de política, RBAC do Azure e outras construções de governança ao grupo de gerenciamento raiz, elas afetarão imediatamente essas novas assinaturas. Por esse motivo, muitas organizações não aplicam esses constructos no grupo de gerenciamento raiz, mesmo que esse seja o local desejado para atribuí-los. Em outros casos, uma organização deseja um conjunto mais restritivo de controles para novas assinaturas, mas não deseja atribuí-los a todas as assinaturas. Essa configuração dá suporte a ambos os casos de uso.
Ao permitir que o grupo de gerenciamento padrão para novas assinaturas seja definido, você pode aplicar construções de governança em toda a organização no grupo de gerenciamento raiz. Você pode definir um grupo de gerenciamento separado com atribuições de política ou atribuições de função do Azure que são mais adequadas para uma nova assinatura.
Definir o grupo de gerenciamento padrão no portal
Entre no portal do Azure.
Use a barra de pesquisa para pesquisar e selecionar Grupos de gerenciamento.
Selecionar o grupo de gerenciamento raiz.
Selecione Configurações no lado esquerdo da página.
Selecione o botão Alterar grupo de gerenciamento padrão.
Se o botão Alterar grupo de gerenciamento padrão não estiver disponível, a causa será uma destas condições:
- O grupo de gerenciamento que você está exibindo não é o grupo de gerenciamento raiz.
- Sua entidade de segurança não tem as permissões necessárias para alterar as configurações de hierarquia.
Selecione um grupo de gerenciamento em sua hierarquia e escolha o botão Selecionar.
Definir o grupo de gerenciamento padrão usando a API REST
Para definir o grupo de gerenciamento padrão usando a API REST, você deve chamar o ponto de extremidade Configurações de Hierarquia. Use o URI da API REST e o formato de corpo a seguir. Substitua {rootMgID}
pela ID do seu grupo de gerenciamento raiz. Substitua {defaultGroupID}
pela ID do grupo de gerenciamento que se tornará o grupo de gerenciamento padrão.
URI da API REST:
PUT https://management.azure.com/providers/Microsoft.Management/managementGroups/{rootMgID}/settings/default?api-version=2020-05-01
Corpo da solicitação:
{ "properties": { "defaultManagementGroup": "/providers/Microsoft.Management/managementGroups/{defaultGroupID}" } }
Para definir o grupo de gerenciamento padrão de volta para o grupo de gerenciamento raiz, use o mesmo ponto de extremidade e defina defaultManagementGroup
como um valor de /providers/Microsoft.Management/managementGroups/{rootMgID}
.
Configuração: Exigir autorização
Qualquer usuário, por padrão, pode criar novos grupos de gerenciamento em um locatário. Os administradores de um locatário podem querer fornecer essas permissões apenas a usuários específicos, para manter a consistência e a conformidade na hierarquia do grupo de gerenciamento. Para criar grupos de gerenciamento filho, um usuário requer a operação Microsoft.Management/managementGroups/write
no grupo de gerenciamento raiz.
Exigir autorização no portal
Entre no portal do Azure.
Use a barra de pesquisa para pesquisar e selecionar Grupos de gerenciamento.
Selecionar o grupo de gerenciamento raiz.
Selecione Configurações no lado esquerdo da página.
Ative a opção Permissões para criar novos grupos de gerenciamento.
Se a opção Exigir permissões de gravação para criar novos grupos de gerenciamento não estiver disponível, a causa será uma destas condições:
- O grupo de gerenciamento que você está exibindo não é o grupo de gerenciamento raiz.
- Sua entidade de segurança não tem as permissões necessárias para alterar as configurações de hierarquia.
Exigir autorização usando a API REST
Para exigir autorização usando a API REST, chame o ponto de extremidade Configurações de Hierarquia. Use o URI da API REST e o formato de corpo a seguir. Esse valor é um booleano, portanto, forneça true
ou false
para o valor. Um valor de true
habilita esse método de proteger a hierarquia do grupo de gerenciamento.
URI da API REST:
PUT https://management.azure.com/providers/Microsoft.Management/managementGroups/{rootMgID}/settings/default?api-version=2020-05-01
Corpo da solicitação:
{ "properties": { "requireAuthorizationForGroupCreation": true } }
Para desativar a configuração, use o mesmo ponto de extremidade e defina requireAuthorizationForGroupCreation
como um valor de false
.
Exemplo do Azure PowerShell
O Azure PowerShell não tem um comando Az
para definir o grupo de gerenciamento padrão ou exigir autorização. Como solução alternativa, você pode usar a API REST com o seguinte exemplo do Azure PowerShell:
$root_management_group_id = "Enter the ID of root management group"
$default_management_group_id = "Enter the ID of default management group (or use the same ID of the root management group)"
$body = '{
"properties": {
"defaultManagementGroup": "/providers/Microsoft.Management/managementGroups/' + $default_management_group_id + '",
"requireAuthorizationForGroupCreation": true
}
}'
$token = (Get-AzAccessToken).Token
$headers = @{"Authorization"= "Bearer $token"; "Content-Type"= "application/json"}
$uri = "https://management.azure.com/providers/Microsoft.Management/managementGroups/$root_management_group_id/settings/default?api-version=2020-05-01"
Invoke-RestMethod -Method PUT -Uri $uri -Headers $headers -Body $body
Conteúdo relacionado
Para saber mais sobre grupos de gerenciamento, consulte: