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.
In questo articolo, imparerai come funziona Azure Policy e poi vedrai come creare varie politiche e azioni di rimedio.
Creazione di una politica Azure
Esistono molti modi per creare politiche come tramite il portale Azure, PowerShell, Azure CLI e modelli ARM.
Portale Azure
Se preferisci il percorso GUI o stai esplorando le tue opzioni, iniziare qui è una buona introduzione alle politiche. L’interfaccia è semplice e ti permette di vedere quali sono le tue opzioni in un colpo d’occhio.
- All’interno del Portale Azure, cerca Politica.
- Fai clic su Assegnazioni sotto la sezione Creazione
- Fai clic su Assegna politica
- Fai clic sui puntini di sospensione sotto Ambito per selezionare la sottoscrizione a cui applicare e facoltativamente il gruppo di risorse
- Fai clic sui puntini di sospensione sotto Definizione politica per selezionare la politica da definire
- Utilizza il nome generato predefinito sotto Nome Assegnazione n oppure inseriscine uno per identificare univocamente la tua politica
- Compila eventuali parametri necessari in base alla politica scelta
- Infine crea un identità gestita e definisci la sua posizione se necessario

PowerShell
Fortunatamente, PowerShell rende rapido e semplice assegnare una definizione di politica Azure a un’assegnazione di politica. Ci sono due prerequisiti, che sono necessariamente l’installazione della versione più recente di Azure PowerShell e la registrazione del provider di risorse Azure Policy Insights.
Azure CLI
Se PowerShell non è disponibile o non è preferito, utilizzare anche Azure CLI consente di ottenere molto dello stesso risultato. Questo può essere utile anche in scenari multi-piattaforma se non è possibile utilizzare PowerShell su tutti i sistemi operativi.
Modelli di Azure Policy
I modelli di Azure Resource Manager sono un altro modo per creare ed assegnare criteri alle risorse. Di seguito è riportato un modello di base che è possibile utilizzare per scegliere un criterio da assegnare a un gruppo di risorse come esempio.
Come funziona l’assegnazione di criteri di Azure Policy
Dopo aver scelto o creato le definizioni di criteri che si desidera applicare, assegnare tali definizioni per influenzare un ambito specifico. L’ambito definisce semplicemente a cosa si applica l’assegnazione del criterio, come un gruppo di gestione o di risorse. Da notare che le assegnazioni di criteri vengono ereditate da tutte le risorse figlio, ma è possibile escludere un sotto-ambito se necessario.
Esempi di criteri di Azure
Ci sono molte definizioni di criteri là fuori e può essere difficile decidere quale sia il migliore da applicare. Quindi quali sono alcune delle opzioni, quando potresti usarle e perché?
- Richiedi Tag e il suo Valore – Questo può essere utilizzato in vari modi, ma una possibilità è ad esempio per i codici di costo, o per identificare diverse risorse distribuite su più gruppi di risorse.
- Tipi di risorse consentiti – E se si desidera consentire solo risorse specifiche? Questo può essere impostato per, ad esempio, solo la possibilità di creare una risorsa di archiviazione.
- Audit dei VM Windows con un Reboot in sospeso – Forse vuoi sapere quali VM Windows richiedono un riavvio in sospeso, per assicurarti che quelli non vengano lasciati indietro? Utilizza questa policy per individuare e eventualmente risolvere quei problemi su un programma.
- Audit delle Impostazioni Diagnostiche – Se le impostazioni diagnostiche non sono abilitate, allora questa policy troverà quelle non conformi.
- Le porte di gestione dovrebbero essere chiuse sulle tue Virtual Machines – Verifica che le porte di gestione sulle tue VM siano chiuse, una grande policy per chi tiene alla sicurezza.
- Gli Account Deprecati Dovrebbero essere Rimossi dalla tua Sottoscrizione – Per tutti gli account che sono stati bloccati dall’accesso all’interno di una directory, individua quelli da risolvere eventualmente secondo necessità. Anche se ce ne sono molti qui, e ne vengono creati sempre di più ogni giorno, hai anche una capacità molto potente di creare le tue definizioni di policy personalizzate. Utilizzando uno schema di definizione di query semplice puoi creare costruzioni potenti se-then per definire a quali policy desideri applicare.
Come Rendere le Policy di Azure più Riutilizzabili
Parametri
Uno degli strumenti più utili è definire parametri per l’uso nelle tue policy. Se dovessi definire una policy unica per ogni variazione in una policy, potresti finire con centinaia. Una grande soluzione a questo è parametrizzare una policy. Con questo puoi personalizzare la policy al momento dell’assegnazione e fare in modo che una definizione di policy si applichi a molti casi d’uso diversi.
Iniziative
Il prossimo passo logico è raccogliere diverse definizioni insieme in un insieme. Ciò ti consente di assegnare tutte quelle diverse definizioni a uno scope senza doverle assegnare singolarmente più volte.
Parametri di Iniziativa
Infine, puoi aggiungere parametri alle iniziative che possono essere ereditati fino alle singole policy. Ciò significa che non è necessario assegnare singolarmente i parametri per ogni policy contenuta in un’iniziativa. Ciò può risparmiare molto tempo, in quanto è possibile definire solo alcune iniziative che applicano molte diverse policy in modi diversi a seconda dei parametri scelti.
Compiti di Risanamento
Quindi, cosa fai quando hai una policy che valuta ma trova risorse non conformi? A quel punto, puoi avviare un compito di risanamento per correggere qualunque sia il problema. Questo può essere molto potente, ma anche molto pericoloso se configurato in modo errato. Ancora una volta ci sono diversi modi per definire questi compiti, sia attraverso il Portale di Azure, PowerShell o attraverso Azure CLI.
Portale di Azure
Come prima, puoi utilizzare il Portale di Azure per esplorare la creazione di un compito di risanamento. Se scopri che non ci sono policy elencate, assicurati di avere sia le policy deployIfNotExists sia quelle valutate come non conformi altrimenti non verranno visualizzate.
- All’interno del Portale di Azure, cerca Policy
- Fai clic su Risanamento sul lato sinistro
- Fai clic su una policy che è del tipo deployIfNotExists e ha risorse non conformi
- Filtra le risorse da rimediare sulla pagina del nuovo compito di Rimediare per limitare l’applicazione del compito stesso
- Clicca su Rimediare per avviare il compito in sé
PowerShell
È piuttosto semplice creare un compito di rimedio tramite PowerShell. La cosa principale da ricordare è che devi utilizzare una politica di deployIfNotExists.
Azure CLI
Al posto di utilizzare PowerShell, puoi anche usare Azure CLI per avviare un compito di rimedio. Lo stesso vale per questo compito come per quello PowerShell.
Riepilogo
Il potere nell’uso delle Azure Policies sta nel fatto che per qualsiasi abbonamento Azure puoi definire un numero qualsiasi di politiche flessibili per aiutarti a gestire il tuo ambiente. Inoltre, con tempo, impegno e riflessione sulla struttura delle tue politiche, iniziative e parametri, puoi creare un setup ben definito e facile da rimediare.
Tenendo presente che le Azure Policies sono gratuite per qualsiasi abbonamento Azure, ha senso dedicare del tempo per implementare ciò di cui hai bisogno. Considerando la flessibilità nel modo di creare e distribuire queste definizioni e politiche, può essere applicato a quasi tutto e aiutarti a mantenere il controllo del tuo ambiente!