Proteger a sua hierarquia de recursos

Seus recursos, grupos de recursos, assinaturas, grupos de gerenciamento e locatários 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 de alterações que possam afetar negativamente todos os recursos.

Os grupos de gerenciamento têm configurações de hierarquia que permitem que o administrador do locatário controle esses comportamentos. Este artigo aborda cada uma das configurações de hierarquia disponíveis e como defini-las.

Permissões do RBAC do Azure 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 controle de acesso baseado em função do Azure (Azure RBAC). 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 adicionada 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 essas construções no grupo de gerenciamento raiz, mesmo que esse seja o lugar desejado para atribuí-las. 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 oferece 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

  1. Inicie sessão no portal do Azure.

  2. Use a barra de pesquisa para pesquisar e selecionar Grupos de gerenciamento.

  3. No grupo de gerenciamento raiz, selecione detalhes ao lado do nome do grupo de gerenciamento.

  4. Em Configurações, selecione Configurações de hierarquia.

  5. 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á visualizando 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.
  6. Selecione um grupo de gerenciamento na sua hierarquia e, em seguida, 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 seguinte URI DA API REST e o formato do corpo. 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 do pedido:

    {
        "properties": {
            "defaultManagementGroup": "/providers/Microsoft.Management/managementGroups/{defaultGroupID}"
        }
    }
    

Para definir o grupo de gerenciamento padrão de volta ao grupo de gerenciamento raiz, use o mesmo ponto de extremidade e defina defaultManagementGroup como um valor de /providers/Microsoft.Management/managementGroups/{rootMgID}.

Configuração: Requer 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 Microsoft.Management/managementGroups/write operação no grupo de gerenciamento raiz.

Exigir autorização no portal

  1. Inicie sessão no portal do Azure.

  2. Use a barra de pesquisa para pesquisar e selecionar Grupos de gerenciamento.

  3. No grupo de gerenciamento raiz, selecione detalhes ao lado do nome do grupo de gerenciamento.

  4. Em Configurações, selecione Configurações de hierarquia.

  5. Ative a opção Exigir permissões para criar novos grupos de gerenciamento.

    Se a alternância Exigir permissões 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á visualizando 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 seguinte URI DA API REST e o formato do corpo. Este valor é um booleano, portanto, forneça um ou true false para o valor. Um valor de habilita esse método de proteger a hierarquia do grupo de true gerenciamento.

  • URI DA API REST:

    PUT https://management.azure.com/providers/Microsoft.Management/managementGroups/{rootMgID}/settings/default?api-version=2020-05-01
    
  • Corpo do pedido:

    {
        "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 Az comando para definir o grupo de gerenciamento padrão ou para 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

Para saber mais sobre os grupos de gestão, veja: