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
- Configurar a identidade gerenciada
- Conceder permissões à identidade gerenciada por meio de funções definidas
- Criar uma tarefa de correção
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 roleDefinitionIds
política. Como alternativa, você pode especificar uma identidade gerenciada atribuída pelo usuário que receba a mesma atribuição de função.
Para definir uma identidade gerenciada atribuída ao sistema no portal:
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.
Especifique o local no qual a identidade gerenciada deve ser localizada.
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:
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.
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.
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
oumodify
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:
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.
Selecione Atribuições no lado esquerdo da página Azure Policy.
Localize a atribuição que tem uma identidade gerenciada e selecione o nome.
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.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.
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.
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.
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
Selecione Correção no lado esquerdo da página Política do Azure.
Todas
deployIfNotExists
as atribuições demodify
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.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
Selecione Conformidade no lado esquerdo da página Política do Azure.
Selecione uma atribuição de política ou iniciativa não compatível contendo
deployIfNotExists
oumodify
efeitos.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.
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.
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.
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.
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.
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
oumodify
uma política pode ser remediada por meio de uma única tarefa de correção de cada vez.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.
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.
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.
Etapa 3: Acompanhar o progresso da tarefa de correção
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.
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.
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
- Analise exemplos em Exemplos de Política do Azure.
- Reveja a estrutura de definição do Azure Policy.
- Veja Compreender os efeitos do Policy.
- Entenda como criar políticas de forma programática.
- Saiba como obter dados de conformidade.
- Analise o que é um grupo de gerenciamento com Organize seus recursos com grupos de gerenciamento do Azure.