L’importanza delle Azure Policy nell’ambito della Cloud Technical Governance

L’adozione del cloud computing sta diventando sempre più diffusa, ma la gestione e il controllo delle risorse cloud può rappresentare una ardua sfida per le organizzazioni. In questo contesto, le Azure Policy di Microsoft rappresentano uno strumento fondamentale per la governance del cloud, in grado di aiutare le aziende a definire, applicare e far rispettare le politiche di sicurezza e conformità in modo coerente e automatizzato. Questo articolo esplorerà l’importanza delle Azure Policy nella gestione dei servizi cloud, illustrando i vantaggi che derivano dall’uso di questa soluzione e alcuni casi d’uso più comuni. Inoltre, saranno presentati alcuni consigli utili per la definizione di policy efficaci e per l’integrazione delle Azure Policy nella strategia complessiva di cloud governance.

L’esigenza comune e i possibili approcci

L’esigenza comune è di standardizzare, e in alcuni casi imporre, come vengono configurate le risorse in ambiente cloud. Tutto questo viene fatto per ottenere ambienti che rispettano specifiche normative di conformità, controllare la sicurezza, i costi delle risorse ed uniformare il design delle differenti architetture.

Ottenere questo risultato non è semplice, soprattutto in ambienti complessi dove si possono trovare differenti subscription Azure sulle quali sviluppano e operano diversi gruppi di operatori.

Questi obiettivi si possono ottenere con un approccio tradizionale, che prevede un blocco degli operatori nell’accesso diretto alle risorse cloud (tramite portale, API oppure cli):

Figura 1 – Approccio tradizionale

Tuttavia, questo tipo di approccio tradizionale risulta poco flessibile, in quanto implica una perdita di agilità nel controllare il deployment delle risorse.

A questo proposito è invece consigliato utilizzare un meccanismo che viene fornito in modo nativo dalla piattaforma Azure, che consente di pilotare i processi di governance per ottenere il controllo desiderato, ma senza impattare sulla velocità, elemento fondamentale nelle operations nell’IT moderno con risorse nel cloud:

Figura 2 – Approccio moderno con Azure Policy

Cosa è possibile ottenere grazie alle Azure Policy

Attivando le Azure Policy risulta possibile:

  • attivare ed effettuare in tempo reale la valutazione dei criteri presenti nelle policy;
  • valutare la compliance delle policy periodicamente oppure su richiesta;
  • attivare operazioni per la remediation in tempo reale, anche per risorse già esistenti.

Tutto questo si traduce nella possibilità di applicare e forzare su larga scala dei criteri di compliance e le relative azioni di remediation.

Come funziona il meccanismo delle Azure Policy

Il meccanismo di funzionamento delle Azure Policy è semplice e integrato nella piattaforma.  Nel momento in cui viene fatta una richiesta di configurazione di una risorsa Azure tramite ARM, questa viene intercettata dal layer contenente il motore che effettua la valutazione delle policy. Tale engine effettua una valutazione sulla base delle policy Azure attive e stabilisce la legittimità della richiesta.

Figura 3 – Principio di funzionamento delle Azure Policy nella creazione di risorse

Lo stesso meccanismo viene poi ripetuto periodicamente oppure su specifica richiesta per valutare lo stato di compliance delle risorse esistenti.

Figura 4 – Principio di funzionamento delle Azure Policy nel controllo delle risorse

In Azure sono già presenti molte policy built-in pronte per essere applicate oppure è possibile configurarle in base alle proprie esigenze. La definizione delle Azure Policy è fatta in JSON e segue una struttura ben precisa, descritta in questo documento Microsoft. Si ha inoltre la possibilità di creare delle Initiatives, che sono un insieme di più policy.

Nel momento in cui si possiede la definizione della policy desiderata, è possibile assegnarla a un Management Group, a una subscription ed eventualmente in modo più circoscritto ad un Resource Group specifico. Lo stesso vale per le Initiatives. Si ha inoltre la possibilità di escludere determinate risorse dall’applicazione della policy qualora necessario.

In seguito all’assegnazione è possibile valutare lo stato di compliance nel dettaglio e se lo si ritiene necessario applicare delle azioni di remediation.

Casi d’uso delle Azure policy

Si riportano i principali ambiti che è possibile governare adottando in modo opportuno le Azure Policy:

  • finanziari: risorse distribuite in Azure per le quali è necessario applicare una strategia di metadati coerente per ottenere una mappatura efficace dei costi;
  • ubicazione dei dati: requisiti di sovranità che impongono che i dati risiedano in determinate location geografiche;
  • spese non necessarie: risorse che non sono più utilizzate oppure che non sono state correttamente dismesse comportando spese non necessarie per l’azienda;
  • inefficienze di gestione: una strategia incoerente di naming e di tagging delle risorse può rendere difficile la risoluzione delle problematiche e le richieste di manutenzione ordinaria delle architetture esistenti;
  • interruzione delle attività legate al business: gli SLA sono necessari per garantire che i sistemi siano costruiti in conformità ai requisiti aziendali. Pertanto, le architetture devono essere progettate in base agli SLA e devono essere esaminate se non li rispettano.

Conclusioni

Nell’ambito della Cloud Technical Governance è fondamentale andare a definire e ad applicare delle regole che consentano di assicurarsi che le risorse Azure siano sempre conformi agli standard aziendali definiti. Grazie all’utilizzo delle Azure Policy, anche aumentando la complessità e la quantità di servizi, è sempre possibile garantire un controllo avanzato del proprio ambiente Azure.