Como proteger a 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 do Azure Policy, podem afetar todos e quaisquer 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 agora têm configurações de hierarquia que permitem ao administrador de locatários controlar 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 de qualquer uma das configurações de hierarquia requer as duas operações de provedor de recursos a seguir no grupo de gerenciamento raiz:

  • Microsoft.Management/managementgroups/settings/write
  • Microsoft.Management/managementgroups/settings/read

Essas operações só permitem que um usuário leia e atualize as configurações de hierarquia. As operações 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 – Grupo de gerenciamento padrão

Por padrão, uma nova assinatura adicionada dentro de um locatário é adicionada como um membro do grupo de gerenciamento raiz. Se atribuições de política, controle de acesso baseado em função do Azure (Azure RBAC) e outros construtores de governança forem atribuídos ao grupo de gerenciamento raiz, eles afetarão imediatamente essas novas assinaturas. Por esse motivo, muitas organizações não aplicam esses constructos no grupo de gerenciamento raiz, embora esse seja o local recomendado para atribuí-los. Em outros casos, um conjunto mais restritivo de controles é o mais indicado para novas assinaturas, mas não deve ser atribuído a todas as assinaturas. Essa configuração dá suporte a ambos os casos de uso.

Quando é permitido que o grupo de gerenciamento padrão para novas assinaturas seja definido, os construtores de governança de toda a organização podem ser aplicados no grupo de gerenciamento raiz, e ainda pode ser definido um grupo de gerenciamento separado, com atribuições de política ou atribuições de função do Azure mais adequadas a uma nova assinatura.

Definir grupo de gerenciamento padrão no portal

Para definir essa configuração no portal do Azure, siga estas etapas:

  1. Use a barra de pesquisa para procurar e selecionar “Grupos de gerenciamento”.

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

  3. Em Configurações, selecione Configurações da hierarquia.

  4. Selecione o botão Alterar grupo de gerenciamento padrão.

    Observação

    Se o botão Alterar grupo de gerenciamento padrão estiver desabilitado, o grupo de gerenciamento que está sendo exibido não é o grupo de gerenciamento raiz ou a entidade de segurança não tem as permissões necessárias para alterar as configurações de hierarquia.

  5. Selecione um grupo de gerenciamento da hierarquia e use o botão Selecionar.

Definir o grupo de gerenciamento padrão com a API REST

Para definir essa configuração com a API REST, é chamado o ponto de extremidade Configurações de Hierarquia. Para fazer isso, use os seguintes URI da API REST e formato de corpo. Substitua {rootMgID} pela ID do grupo de gerenciamento raiz e {defaultGroupID} pela ID do grupo de gerenciamento para 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 – Requer autorização

Qualquer usuário, por padrão, pode criar novos grupos de gerenciamento dentro de um locatário. Os administradores de um locatário talvez queiram apenas fornecer essas permissões a usuários específicos para manter a consistência e a conformidade na hierarquia do grupo de gerenciamento. Se habilitada, um usuário solicita a operação Microsoft.Management/managementGroups/write no grupo de gerenciamento raiz para criar novos grupos de gerenciamento filho.

Definir requerer autorização no portal

Para definir essa configuração no portal do Azure, siga estas etapas:

  1. Use a barra de pesquisa para procurar e selecionar “Grupos de gerenciamento”.

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

  3. Em Configurações, selecione Configurações da hierarquia.

  4. Alterne a opção Exigir permissões para criar novos grupos de gerenciamento.opção para ativado.

    Observação

    Se as permissões necessárias para a criação de novos grupos de gerenciamento. A alternância estiver desabilitado, ou o grupo de gerenciamento que está sendo exibido não é o grupo de gerenciamento raiz ou a entidade de segurança não tem as permissões necessárias para alterar as configurações de hierarquia.

Definir requerer autorização com a API REST

Para definir essa configuração com a API REST, é chamado o ponto de extremidade Configurações de Hierarquia. Para fazer isso, use os seguintes URI da API REST e formato de corpo. Esse valor é um booliano, portanto, forneça true ou false para o valor. Um valor de true habilita esse método de proteção da 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 com o valor false.

Exemplo do PowerShell

O PowerShell não tem um comando 'Az' para definir o grupo de gerenciamento padrão ou definir requerimento de autorização, mas como uma solução alternativa, você pode usar a API REST com o exemplo do PowerShell abaixo:

$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

Próximas etapas

Para saber mais sobre grupos de gerenciamento, consulte: