A common theme in cloud environments today is the ability to define templates, policies, and procedures. These templates then dictate what can be done and verify that what does exist is correct. A service from Microsoft called Azure Policy is a great way to make that happen.
Neste artigo, você aprenderá como o Azure Policy funciona e, em seguida, verá como criar várias políticas e ações de remediação.
Criando uma Política Azure
Existem muitas maneiras de criar políticas, como através do Portal Azure, PowerShell, Azure CLI e modelos ARM.
Portal Azure
Se você prefere a rota da interface gráfica ou está explorando suas opções, começar por aqui é uma boa introdução às políticas. A interface é simples e permite que você veja quais são suas opções num relance.
- Dentro do Portal Azure, busque por Política.
- Clique em Atribuições sob a seção Autoria
- Clique em Atribuir política
- Clique nos três pontos sob Escopo para selecionar a assinatura a ser aplicada e, opcionalmente, o grupo de recursos
- Clique nos três pontos sob Definição de política para selecionar a política a definir
- Use o nome gerado automaticamente em Nome da atribuição ou insira um para identificar sua política de forma única
- Preencha quaisquer parâmetros conforme necessário com base na política escolhida
- Finalmente crie uma identidade gerenciada e defina sua localização, se necessário

PowerShell
Graças ao PowerShell, é rápido e fácil atribuir uma definição de política Azure a uma atribuição de política. Existem dois pré-requisitos, que são a necessidade da versão mais recente do Azure PowerShell instalada e o registro do provedor de recursos Azure Policy Insights.
Azure CLI
Se o PowerShell não estiver disponível ou não for preferido, usar o Azure CLI também permite que você realize grande parte do mesmo. Isso também pode ser útil em cenários multiplataforma se você não puder usar o PowerShell em todos os sistemas operacionais.
Modelos de Política do Azure
Os modelos do Gerenciador de Recursos do Azure são mais uma maneira de criar e atribuir políticas a recursos. Abaixo está um modelo inicial que você pode usar para escolher uma política a ser atribuída a um grupo de recursos, como exemplo.
Como Funciona a Atribuição de Política do Azure
Após escolher ou criar as definições de política que deseja aplicar, atribua essas definições para afetar um escopo específico. O escopo simplesmente define a que o assignment de política se aplicará, como um grupo de gerenciamento ou recurso. Algo a ser observado é que as atribuições de política são herdadas por todos os recursos filhos, mas você tem a capacidade de excluir um subescopo, se necessário.
Exemplos de Políticas do Azure
Há muitas definições de política disponíveis, e pode ser difícil decidir qual é a melhor a aplicar. Então, quais são algumas opções, quando você pode usá-las e por quê?
- Exigir Tag e seu Valor – Isso pode ser usado de várias maneiras, mas uma possibilidade é para códigos de custo ou para identificar vários recursos diferentes distribuídos por vários grupos de recursos.
- Tipos de Recursos Permitidos – E se você quiser permitir apenas recursos específicos? Isso pode ser imposto, permitindo, por exemplo, apenas a capacidade de criar um recurso de armazenamento.
- Auditar VMs do Windows com uma Reinicialização Pendente – Talvez você queira saber quais VMs do Windows requerem uma reinicialização pendente, para garantir que essas não sejam deixadas para trás? Use esta política para encontrar e possivelmente remediar aquelas em um cronograma.
- Auditar Configuração de Diagnóstico – Se as configurações de diagnóstico não estiverem habilitadas, então esta política encontrará aquelas que estão em não conformidade.
- As Portas de Gerenciamento Devem ser Fechadas em Suas Máquinas Virtuais – Verifique se as portas de gerenciamento em suas VMs estão fechadas, uma ótima política para os preocupados com a segurança.
- Contas Desativadas Devem ser Removidas da sua Assinatura – Para todas as contas que foram bloqueadas para login dentro de um diretório, encontre aquelas para potencialmente remediar conforme necessário. Embora haja muitas aqui, e ainda mais sendo criadas todos os dias, você também tem uma capacidade muito poderosa de criar suas próprias definições de políticas personalizadas. Usando um esquema de definição de consulta simples, você pode criar construções poderosas de se-então para definir o que deseja aplicar políticas.
Como Tornar as Políticas do Azure mais Reutilizáveis
Parâmetros
Uma das ferramentas mais úteis é definir parâmetros para uso em suas políticas. Se você tivesse que definir uma política única para cada variação em uma política, poderia acabar com centenas. Uma ótima solução para isso é parametrizar uma política. Com isso, você pode personalizar a política no momento da atribuição e fazer com que uma definição de política se aplique a muitos casos de uso diferentes.
Iniciativas
O próximo passo lógico é reunir várias definições em um conjunto. Isso permite atribuir todas essas definições diferentes a um escopo sem ter que atribuir individualmente cada uma repetidamente.
Parâmetros de Iniciativa
Por fim, você pode adicionar parâmetros às iniciativas que podem ser herdados para as políticas individuais. Isso significa que você não precisa atribuir individualmente parâmetros para cada política contida em uma iniciativa. Isso pode economizar muito tempo, pois você pode definir apenas algumas iniciativas que aplicam muitas políticas diferentes de várias maneiras diferentes, dependendo dos parâmetros escolhidos.
Tarefas de Remediação
E então, o que você faz quando tem uma política que avalia, mas encontra recursos fora de conformidade? Nesse ponto, você pode iniciar uma tarefa de remediação para corrigir qualquer problema que possa existir. Isso pode ser bastante poderoso, mas também bastante perigoso se configurado incorretamente. Mais uma vez, existem várias maneiras de definir essas tarefas, seja através do Portal do Azure, PowerShell ou através do Azure CLI.
Portal do Azure
Como antes, você pode usar o Portal do Azure para explorar a criação de uma tarefa de remediação. Se você descobrir que não há políticas listadas, certifique-se de ter tanto políticas de deployIfNotExists quanto aquelas que avaliaram como não conformes, caso contrário, elas não serão exibidas.
- Dentro do Portal do Azure, pesquise por Política
- Clique em Remediação no lado esquerdo
- Clique em uma política que seja do tipo deployIfNotExists e tenha recursos não conformes
- Filtre os recursos a serem remediados na página da Nova tarefa de remediação para limitar a que se aplica a tarefa
- Clique em Remediar para iniciar a própria tarefa
PowerShell
É bastante simples criar uma tarefa de remediação via PowerShell. O principal a lembrar é que você deve estar usando uma política deployIfNotExists.
Azure CLI
Em vez de usar o PowerShell, você também pode usar o Azure CLI para iniciar uma tarefa de remediação. O mesmo vale para esta tarefa como para a tarefa do PowerShell.
Resumo
O poder em usar Políticas do Azure é que para qualquer subscrição do Azure você pode definir qualquer número de políticas flexíveis para ajudá-lo a gerenciar seu ambiente. Além disso, com tempo, esforço e pensamento dedicados a como estruturar suas políticas, iniciativas e parâmetros, você pode criar uma configuração bem definida e fácil de remediar.
Considerando que as Políticas do Azure são gratuitas para qualquer subscrição do Azure, faz muito sentido dedicar tempo para implementar o que você precisa. Considerando a flexibilidade em como criar e implantar essas definições e políticas, elas podem ser aplicadas a quase tudo e ajudá-lo a manter o controle sobre seu ambiente!