Corrigir recursos não compatíveis com a Política do Azure

Os recursos que não estão em conformidade com políticas com ou modify efeitos podem ser colocados em um estado compatível por deployIfNotExists meio da correção. A correção é realizada por meio de tarefas de correção que implantam o deployIfNotExists modelo ou as modify operações da política atribuída em seus recursos e assinaturas existentes, seja essa atribuição em um grupo de gerenciamento, assinatura, grupo de recursos ou recurso individual. Este artigo mostra as etapas necessárias para entender e realizar a correção com a Política do Azure.

Como funciona o controlo de acesso da remediação

Quando a Política do Azure inicia uma implantação de modelo ao avaliar deployIfNotExists políticas ou modifica um recurso ao avaliar modify políticas, ela o faz usando uma identidade gerenciada associada à atribuição de política. As atribuições de políticas utilizam identidades geridas para a autorização de recursos do Azure. Você pode usar uma identidade gerenciada atribuída ao sistema criada pelo serviço de política ou uma identidade atribuída pelo usuário fornecida pelo usuário. A identidade gerenciada precisa receber a função mínima de controle de acesso baseado em função do Azure (Azure RBAC) necessária para corrigir recursos. Se a identidade gerida tiver as funções em falta, será apresentado um erro no portal durante a atribuição da política ou de uma iniciativa. Quando você usa o portal, o Azure Policy concede automaticamente à identidade gerenciada as funções listadas assim que a atribuição é iniciada. Quando você usa um SDK (kit de desenvolvimento de software) do Azure, as funções devem ser concedidas manualmente à identidade gerenciada. A localização da identidade gerida não afeta a sua operação com a Política do Azure.

Nota

A alteração de uma definição de política não atualiza automaticamente a atribuição ou a identidade gerenciada associada.

A segurança de correção pode ser configurada através das seguintes etapas:

Configurar a definição de política

Como pré-requisito, a definição de política deve definir as funções que deployIfNotExists precisam modify implantar com êxito o conteúdo do modelo incluído. Nenhuma ação é necessária para uma definição de política interna porque essas funções são pré-preenchidas. Para uma definição de política personalizada, sob a details propriedade, adicione uma roleDefinitionIds propriedade. Essa propriedade é uma matriz de cadeias de caracteres que correspondem a funções em seu ambiente. Para obter um exemplo completo, consulte deployIfNotExists ou modificar.

"details": {
    ...
    "roleDefinitionIds": [
    "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/roleDefinitions/{roleGUID}",
    "/providers/Microsoft.Authorization/roleDefinitions/{builtinroleGUID}"
  ]
}

A roleDefinitionIds propriedade usa o identificador de recurso completo e não fica aquém roleName da função. Para obter a ID da função de Colaborador em seu ambiente, use o seguinte código da CLI do Azure:

az role definition list --name "Contributor"

Importante

As permissões devem ser restritas ao menor conjunto possível ao definir roleDefinitionIds dentro de uma definição de política ou atribuir permissões a uma identidade gerenciada manualmente. Consulte as recomendações de práticas recomendadas de identidade gerenciada para obter mais práticas recomendadas.

Configurar a identidade gerenciada

Cada atribuição de Política do Azure pode ser associada a apenas uma identidade gerenciada. No entanto, a identidade gerenciada pode ser atribuída a várias funções. A configuração ocorre em duas etapas: primeiro crie uma identidade gerenciada atribuída pelo sistema ou pelo usuário e, em seguida, conceda as funções necessárias.

Nota

Ao criar uma identidade gerenciada por meio do portal, as funções serão concedidas automaticamente à identidade gerenciada. Se roleDefinitionIds forem editadas posteriormente na definição da política, as novas permissões devem ser concedidas manualmente, mesmo no portal.

Criar a identidade gerenciada

Quando você cria uma atribuição usando o portal, a Política do Azure pode gerar uma identidade gerenciada atribuída ao sistema e conceder-lhe as funções definidas na definição de roleDefinitionIdspolítica. Como alternativa, você pode especificar uma identidade gerenciada atribuída pelo usuário que receba a mesma atribuição de função.

Captura de tela de uma atribuição de política criando uma identidade gerenciada atribuída ao sistema no Leste dos EUA com permissões de Colaborador do Log Analytics.

Para definir uma identidade gerenciada atribuída ao sistema no portal:

  1. Na guia Correção do modo de exibição de atribuição criar/editar, em Tipos de identidade gerenciada, verifique se a identidade gerenciada atribuída ao sistema está selecionada.

  2. Especifique o local no qual a identidade gerenciada deve ser localizada.

  3. Não atribua um escopo para identidade gerenciada atribuída ao sistema porque o escopo é herdado do escopo da atribuição.

Para definir uma identidade gerenciada atribuída pelo usuário no portal:

  1. Na guia Correção do modo de exibição de atribuição criar/editar, em Tipos de Identidade Gerenciada, verifique se a identidade gerenciada atribuída ao usuário está selecionada.

  2. Especifique o escopo onde a identidade gerenciada está hospedada. O escopo da identidade gerenciada não precisa equivaler ao escopo da atribuição, mas deve estar no mesmo locatário.

  3. Em Identidades atribuídas ao usuário existente, selecione a identidade gerenciada.

Conceder permissões à identidade gerenciada por meio de funções definidas

Importante

Se a identidade gerenciada não tiver as permissões necessárias para executar a tarefa de correção necessária, ela receberá permissões automaticamente somente por meio do portal. Você pode pular esta etapa se estiver criando uma identidade gerenciada através do portal.

Para todos os outros métodos, a identidade gerenciada da atribuição deve receber acesso manualmente por meio da adição de funções, caso contrário, a implantação de correção falhará.

Exemplos de cenários que exigem permissões manuais:

  • Se a atribuição for criada por meio de um SDK (Software Development Kit) do Azure
  • Se um recurso modificado por deployIfNotExists ou modify estiver fora do escopo da atribuição de política
  • Se o modelo acessar propriedades em recursos fora do escopo da atribuição de política

Há duas maneiras de conceder à identidade gerenciada de uma atribuição as funções definidas usando o portal: usando o controle de acesso (IAM) ou editando a atribuição de política ou iniciativa e selecionando Salvar.

Para adicionar uma função à identidade gerenciada da atribuição, siga estas etapas:

  1. Inicie o serviço de Política do Azure no portal do Azure selecionando Todos os serviços e, em seguida, procurando e selecionando Política.

  2. Selecione Atribuições no lado esquerdo da página Azure Policy.

  3. Localize a atribuição que tem uma identidade gerenciada e selecione o nome.

  4. Encontre a propriedade ID da Atribuição na página de edição. O ID da atribuição se parece com o exemplo a seguir:

    /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Authorization/policyAssignments/2802056bfc094dfb95d4d7a5
    

    O nome da identidade gerenciada é a última parte do ID do recurso de atribuição, que está 2802056bfc094dfb95d4d7a5 neste exemplo. Copie esta parte do ID do recurso de atribuição.

  5. Navegue até o recurso ou o contêiner pai de recursos (grupo de recursos, assinatura, grupo de gerenciamento) que precisa da definição de função adicionada manualmente.

  6. Selecione o link Controle de acesso (IAM) na página de recursos e selecione + Adicionar atribuição de função na parte superior da página de controle de acesso.

  7. Selecione a função apropriada que corresponde a a na roleDefinitionIds definição de política. Deixe Atribuir acesso para definir como padrão 'usuário, grupo ou aplicativo'. Na caixa Selecionar, cole ou digite a parte da ID do recurso de atribuição localizada anteriormente. Quando a pesquisa for concluída, selecione o objeto com o mesmo nome para selecionar ID e selecione Salvar.

Criar uma tarefa de correção

Inicie o serviço de Política do Azure no portal do Azure selecionando Todos os serviços e, em seguida, procurando e selecionando Política.

Captura de ecrã a mostrar a pesquisa de Política em Todos os Serviços.

Etapa 1: Iniciar a criação de tarefas de correção

Há três maneiras de criar uma tarefa de correção através do portal.

Opção 1: Criar uma tarefa de correção a partir da página Correção

  1. Selecione Correção no lado esquerdo da página Política do Azure.

    Captura de tela do nó Correção na página Política.

  2. Todas deployIfNotExists as atribuições de modify política são mostradas na guia Políticas a serem corrigidas . Selecione um com recursos não compatíveis para abrir a página Nova tarefa de correção.

  3. Siga as etapas para especificar os detalhes da tarefa de correção.

Opção 2: Criar uma tarefa de correção a partir de uma atribuição de política não compatível

  1. Selecione Conformidade no lado esquerdo da página Política do Azure.

  2. Selecione uma atribuição de política ou iniciativa não compatível contendo deployIfNotExists ou modify efeitos.

  3. Selecione o botão Criar tarefa de correção na parte superior da página para abrir a página Nova tarefa de correção.

  4. Siga as etapas para especificar os detalhes da tarefa de correção.

Opção 3: Criar uma tarefa de correção durante a atribuição de política

Se a definição de política ou iniciativa a ser atribuída tiver um deployIfNotExists ou um modify efeito, a guia Correção do assistente oferecerá uma opção Criar uma tarefa de correção, que cria uma tarefa de correção ao mesmo tempo que a atribuição de política.

Nota

Essa é a abordagem mais simplificada para criar uma tarefa de correção e é suportada para políticas atribuídas em uma assinatura. Para políticas atribuídas a um grupo de gerenciamento, as tarefas de correção devem ser criadas usando a Opção 1 ou a Opção 2 após a avaliação ter determinado a conformidade dos recursos.

  1. No assistente de atribuição no portal, navegue até a guia Correção . Marque a caixa de seleção Criar uma tarefa de correção.

  2. Se a tarefa de correção for iniciada a partir de uma atribuição de iniciativa, selecione a política a ser corrigida na lista suspensa.

  3. Configure a identidade gerenciada e preencha o restante do assistente. A tarefa de correção é criada quando a atribuição é criada.

Etapa 2: Especificar detalhes da tarefa de correção

Esta etapa só é aplicável ao usar a Opção 1 ou a Opção 2 para iniciar a criação de tarefas de correção.

  1. Se a tarefa de correção for iniciada a partir de uma atribuição de iniciativa, selecione a política a ser corrigida na lista suspensa. Uma deployIfNotExists ou modify uma política pode ser remediada por meio de uma única tarefa de correção de cada vez.

  2. Opcionalmente, modifique as configurações de correção na página. Para obter informações sobre o que cada configuração controla, consulte Estrutura de tarefas de correção.

  3. Na mesma página, filtre os recursos a serem corrigidos usando as reticências de Escopo para selecionar recursos filho de onde a política é atribuída (inclusive até os objetos de recurso individuais). Além disso, use a lista suspensa Locais para filtrar ainda mais os recursos.

    Captura de tela do nó Remediar e da grade de recursos a serem corrigidos.

  4. Inicie a tarefa de correção depois que os recursos forem filtrados selecionando Corrigir. A página de conformidade da política é aberta na guia Tarefas de correção para mostrar o estado do progresso das tarefas. As implantações criadas pela tarefa de correção começam imediatamente.

    Captura de ecrã do separador Tarefas de correção e progresso das tarefas de correção existentes.

Etapa 3: Acompanhar o progresso da tarefa de correção

  1. Navegue até a guia Tarefas de correção na página Correção. Selecione uma tarefa de correção para exibir detalhes sobre a filtragem usada, o status atual e uma lista de recursos que estão sendo corrigidos.

  2. Na página Detalhes da tarefa de correção, clique com o botão direito do mouse em um recurso para exibir a implantação da tarefa de correção ou o recurso. No final da linha, selecione Eventos relacionados para ver detalhes como uma mensagem de erro.

    Captura de ecrã do menu de contexto de um recurso no separador Corrigir tarefa.

Os recursos implantados por meio de uma tarefa de correção são adicionados à guia Recursos Implantados na página de detalhes da atribuição de política.

Próximos passos