Valutare l'impatto di una nuova definizione di Criteri di Azure

Criteri di Azure è uno strumento potente per la gestione delle risorse di Azure per soddisfare le esigenze di conformità degli standard aziendali. Quando utenti, processi o pipeline creano o aggiornano le risorse, Criteri di Azure esamina la richiesta. Quando l'effetto della definizione dei criteri è Modify, Append o DeployIfNotExists, i criteri modificano la richiesta o vi aggiungono contenuto. Quando l'effetto di definizione dei criteri è Audit o AuditIfNotExists, i criteri determinano la creazione di una voce del log attività per le risorse nuove e aggiornate. Quando l'effetto di definizione dei criteri è Deny o DenyAction, policy interrompe la creazione o l'alterazione della richiesta.

Questi sono i risultati desiderati quando i criteri sono definiti correttamente. È, tuttavia, importante verificare che un nuovo criterio funzioni come previsto prima di consentire la modifica o il blocco dell'attività. La convalida deve garantire che vengano determinate come non conformi solo le risorse desiderate e che nei risultati non vengano incluse erroneamente le risorse non conformi (falsi positivi).

L'approccio consigliato per la convalida di una nuova definizione dei criteri consiste nella procedura seguente:

  • Definire i criteri in modo preciso
  • Testare l'efficacia dei criteri
  • Controllare le richieste di risorse nuove o aggiornate
  • Distribuire i criteri alle risorse
  • Monitoraggio continuo

Definire i criteri in modo preciso

È importante comprendere come vengono implementati i criteri di business come definizione dei criteri e la relazione tra le risorse di Azure e gli altri servizi di Azure. Questo passaggio viene eseguito identificando i requisiti e determinando le proprietà delle risorse. È, tuttavia, importante andare anche oltre la definizione stretta dei criteri di business. Il criterio dichiara, ad esempio, "Tutte le macchine virtuali devono..."? E per quanto riguarda gli altri servizi di Azure che usano macchine virtuali, ad esempio HDInsight o il servizio Azure Kubernetes? Quando si definisce un criterio, è necessario considerare il modo in cui influisce sulle risorse usate da altri servizi.

Per questo motivo, è importante che le definizioni dei criteri siano quanto più possibile precise e incentrate sulle risorse e le proprietà da valutare.

Testare l'efficacia dei criteri

Prima di cercare di gestire risorse nuove o aggiornate con la nuova definizione dei criteri, è preferibile analizzare come quest'ultima valuta un subset limitato di risorse esistenti, ad esempio un gruppo di risorse di test. L'estensione Criteri di Azure VS Code consente di testare isolate le definizioni rispetto alle risorse di Azure esistenti usando l'analisi di valutazione su richiesta. È anche possibile assegnare la definizione in un ambiente di sviluppo usando la modalitàdi imposizione Disabilitata (DoNotEnforce) nell'assegnazione dei criteri per impedire la creazione di voci del log attività o di attivazione.

Questo passaggio consente di valutare i risultati di conformità del nuovo criterio sulle risorse esistenti senza influire sul flusso di lavoro. Verificare che nessuna risorsa conforme venga visualizzata come non conforme (falso positivo) e che tutte le risorse che si prevede non siano conformi siano contrassegnate correttamente. Dopo la convalida del sottoinsieme iniziale di risorse come previsto, espandere lentamente la valutazione a risorse più esistenti e più ambiti.

La valutazione delle risorse esistenti in questo modo consente anche di correggere le risorse non conformi prima dell'implementazione completa del nuovo criterio. Questa pulizia può essere eseguita manualmente o tramite un'attività di correzione se l'effetto della definizione dei criteri è DeployIfNotExists o Modify.

Le definizioni dei criteri con deployIfNotExist devono sfruttare il modello di Azure Resource Manager cosa accade se convalidare e testare le modifiche che si verificano durante la distribuzione del modello di Resource Manager.

Controllare le risorse nuove o aggiornate

Dopo aver verificato che la nuova definizione dei criteri segnali correttamente le risorse esistenti, è il momento di esaminare l'effetto dei criteri quando le risorse vengono create o aggiornate. Se la definizione dei criteri supporta la parametrizzazione degli effetti, usare Audit o AuditIfNotExist. Questa configurazione consente di monitorare la creazione e l'aggiornamento delle risorse per verificare se la nuova definizione dei criteri attiva una voce nel log attività di Azure per una risorsa non conforme senza alcun effetto sull'attività o sulle richieste esistenti.

È consigliabile aggiornare e creare nuove risorse corrispondenti alla definizione dei criteri per verificare che l'effetto Audit o AuditIfNotExist venga attivato correttamente quando previsto. Cercare le richieste di risorse che non devono essere interessate dalla nuova definizione di criteri che attivano l'effetto Audit o AuditIfNotExist . Queste risorse interessate sono un altro esempio di falsi positivi e devono essere corrette nella definizione dei criteri prima dell'implementazione completa.

Nel caso in cui la definizione dei criteri venga modificata in questa fase di test, è consigliabile iniziare il processo di convalida con il controllo delle risorse esistenti. Una modifica alla definizione dei criteri per un falso positivo sulle risorse nuove o aggiornate potrebbe anche avere un impatto sulle risorse esistenti.

Distribuire i criteri alle risorse

Dopo aver completato la convalida della nuova definizione dei criteri con risorse esistenti e richieste di risorse nuove o aggiornate, si inizia il processo di implementazione dei criteri. È consigliabile creare innanzitutto l'assegnazione dei criteri per la nuova definizione dei criteri a un subset di tutte le risorse, ad esempio un gruppo di risorse. È possibile filtrare ulteriormente in base al tipo di risorsa o alla posizione usando la resourceSelectors proprietà all'interno dell'assegnazione dei criteri. Dopo aver convalidato la distribuzione iniziale, estendere l'ambito dei criteri a un gruppo di risorse più ampio. Dopo aver convalidato la distribuzione iniziale, espandere l'impatto dei criteri modificando i filtri resourceSelector in modo da specificare più posizioni o tipi di risorse oppure rimuovendo l'assegnazione e sostituendola con una nuova in ambiti più ampi, ad esempio sottoscrizioni e gruppi di gestione. Continuare questa implementazione graduale fino a quando non viene assegnata all'ambito completo delle risorse che devono essere coperte dalla nuova definizione di criteri.

Durante l'implementazione, se si trovano risorse che devono essere esentate dalla nuova definizione dei criteri, risolverle in uno dei modi seguenti:

  • Aggiornare la definizione dei criteri in modo che sia più esplicita per ridurre l'effetto imprevisto
  • Modificare l'ambito dell'assegnazione dei criteri (rimuovendo l'assegnazione e creandone una nuova)
  • Aggiungere il gruppo di risorse all'elenco di esclusione per l'assegnazione dei criteri

Tutte le modifiche apportate all'ambito (livello o esclusioni) devono essere completamente convalidate e comunicate alle organizzazioni di sicurezza e conformità per assicurarsi che la copertura sia completa.

Monitorare criteri e conformità

L'implementazione e l'assegnazione della definizione dei criteri non è il passaggio finale. Monitorare costantemente il livello di conformità delle risorse nella nuova definizione dei criteri e configurare avvisi e notifiche di Monitoraggio di Azure appropriati in caso di identificazione di dispositivi non conformi. È inoltre consigliabile valutare la definizione dei criteri e le assegnazioni correlate in base a una pianificazione, per verificare che la definizione dei criteri soddisfi le esigenze di conformità e i criteri aziendali. I criteri devono essere rimossi se non sono più necessari. I criteri devono anche essere aggiornati di tanto in tanto man mano che le risorse di Azure sottostanti si evolvono e aggiungono nuove proprietà e funzionalità.

Passaggi successivi