Determinare le cause di non conformità

Quando si determina che una risorsa di Azure non è conforme a una regola dei criteri, è utile comprendere a quale parte della regola la risorsa non è conforme. È anche importante conoscere quale modifica ha trasformato una risorsa precedentemente conforme in una risorsa non conforme. È possibile trovare queste informazioni in due modi:

Dettagli di conformità

Quando una risorsa non è conforme, è possibile trovare i dettagli di conformità della risorsa nella pagina Conformità dei criteri. Il riquadro dei dettagli di conformità include le informazioni seguenti:

  • Dettagli della risorsa, ad esempio nome, tipo, posizione e ID risorsa
  • Stato di conformità e timestamp dell'ultima valutazione per l'assegnazione dei criteri corrente
  • Elenco dei motivi per cui la risorsa non è conforme

Importante

Poiché i dettagli di conformità per una risorsa Non conforme indicano il valore corrente delle proprietà di tale risorsa, è necessario che l'utente disponga dell'operazione di lettura per la proprietà type della risorsa. Se ad esempio la risorsa Non conforme è Microsoft.Compute/virtualMachines, l'utente deve disporre dell'operazione Microsoft.Compute/virtualMachines/read. Se l'utente non dispone dell'operazione necessaria, viene visualizzato un errore di accesso.

Per visualizzare i dettagli di conformità, attenersi alla procedura seguente:

  1. Avviare il servizio Criteri di Azure nel portale di Azure facendo clic su Tutti i servizi e quindi cercando e selezionando Criteri.

  2. Nella pagina Panoramica o Conformità selezionare un criterio il cui stato di conformità sia Non conforme.

  3. Nella scheda Conformità risorse della pagina Conformità criteri selezionare e tenere premuto (o fare clic con il pulsante destro del mouse) o selezionare i puntini di sospensione di una risorsa in uno stato di conformità non conforme. Quindi selezionare Visualizzare i dettagli sulla conformità.

    Screenshot del collegamento

  4. Il riquadro Dettagli conformità visualizza le informazioni della valutazione più recente della risorsa rispetto all'assegnazione dei criteri corrente. In questo esempio il valore del campo Microsoft.Sql/servers/version è 12.0 mentre la definizione del criterio prevedeva 14.0. Se la risorsa non è conforme per più motivi, in questo riquadro vengono elencati tutti i motivi.

    Screenshot del riquadro Dettagli conformità e motivi per cui il valore corrente è dodici e il valore di destinazione è 14.

    Per una definizione dei criteri auditIfNotExists o deployIfNotExists, i dettagli includono la proprietà details.type e tutte le proprietà facoltative. Per un elenco, vedere Proprietà di AuditIfNotExists e Proprietà di DeployIfNotExists. Ultima risorsa valutata collega a una risorsa correlata della sezione dei dettagli della definizione.

    Esempio parziale della definizione di deployIfNotExists:

    {
        "if": {
            "field": "type",
            "equals": "[parameters('resourceType')]"
        },
        "then": {
            "effect": "DeployIfNotExists",
            "details": {
                "type": "Microsoft.Insights/metricAlerts",
                "existenceCondition": {
                    "field": "name",
                    "equals": "[concat(parameters('alertNamePrefix'), '-', resourcegroup().name, '-', field('name'))]"
                },
                "existenceScope": "subscription",
                "deployment": {
                    ...
                }
            }
        }
    }
    

    Screenshot del riquadro Dettagli conformità per ifNotExists, incluso il conteggio delle risorse valutato.

Nota

Per proteggere i dati, quando il valore di una proprietà è segreto, il valore corrente visualizza gli asterischi.

Questi dettagli spiegano il motivo per cui una risorsa non è attualmente conforme, ma non indicano quando è stata apportata alla risorsa la modifica che l'ha resa non conforme. Per questo tipo di informazioni, vedere la sezione Cronologia modifiche (anteprima) più avanti.

Motivi di conformità

Resource Manager modalità e modalità provider di risorse hanno motivi diversi per la non conformità.

Motivi di conformità della modalità di Resource Manager generale

La tabella seguente esegue il mapping di ogni motivo della modalità Resource Managerallacondizione responsabile nella definizione dei criteri:

Motivo Condizione
Il valore corrente deve contenere il valore di destinazione come chiave. containsKey o not notContainsKey
Il valore corrente deve contenere il valore di destinazione. contains o not notContains
Il valore corrente deve essere uguale al valore di destinazione. equals o not notEquals
Il valore corrente deve essere minore del valore di destinazione. less o not greaterOrEquals
Il valore corrente deve essere maggiore o uguale al valore di destinazione. greaterOrEquals o not less
Il valore corrente deve essere maggiore del valore di destinazione. greater o not lessOrEquals
Il valore corrente deve essere minore o uguale al valore di destinazione. lessOrEquals o not greater
Il valore corrente deve esistere. esiste
Il valore corrente deve essere nel valore di destinazione. in o not notIn
Il valore corrente deve essere uguale al valore di destinazione. like o not notLike
Il valore corrente deve corrispondere al valore di destinazione con distinzione tra maiuscole e minuscole. match o not notMatch
Il valore corrente deve corrispondere al valore di destinazione senza distinzione tra maiuscole e minuscole. matchInsensitively o not notMatchInsensitively
Il valore corrente non deve contenere il valore di destinazione come chiave. notContainsKey o not containsKey
Il valore corrente non deve contenere il valore di destinazione. notContains o not contains
Il valore corrente non deve essere uguale al valore di destinazione. notEquals o not equals
Il valore corrente non deve esistere. not exists
Il valore corrente non deve essere nel valore di destinazione. notIn o not in
Il valore corrente non deve essere uguale al valore di destinazione. notLike o not like
Il valore corrente non deve corrispondere al valore di destinazione con distinzione tra maiuscole e minuscole. notMatch o not match
Il valore corrente non deve corrispondere al valore di destinazione senza distinzione tra maiuscole e minuscole. notMatchInsensitively o not matchInsensitively
Non esistono risorse correlate corrispondenti ai dettagli dell'effetto nella definizione dei criteri. Non esiste una risorsa del tipo definito in then.details.type e relativa alla risorsa definita nella parte if della regola dei criteri.

Criteri di Azure motivi di conformità della modalità provider di risorse

La tabella seguente esegue il mapping di ogni Microsoft.PolicyInsights codice motivo della modalità provider di risorse alla relativa spiegazione corrispondente:

Codice motivo di conformità Messaggio di errore e spiegazione
NonModifiablePolicyAlias NonModifiableAliasConflict: l'alias '{alias}' non è modificabile nelle richieste usando la versione dell'API '{apiVersion}'. Questo errore si verifica quando una richiesta usa una versione API in cui l'alias non supporta l'effetto "modifica" o supporta solo l'effetto "modifica" con un tipo di token diverso.
AppendPoliciesNotApplicable AppendPoliciesUnableToAppend: gli alias: '{ alias }' non sono modificabili nelle richieste usando la versione dell'API: '{ apiVersion }'. Ciò può verificarsi nelle richieste usando le versioni dell'API per cui gli alias non supportano l'effetto "modifica" o supportano l'effetto "modifica" con un tipo di token diverso.
ConflittoAppendPolicies ConflittoAppendPolicies: trovato assegnazioni di criteri in conflitto che modificano il campo '{notApplicableFields}'. Identificatori di criteri: '{policy}'. Contattare l'amministratore della sottoscrizione per aggiornare le assegnazioni dei criteri.
AppendPoliciesFieldsExist AppendPoliciesFieldsExistWithDifferentValues: le assegnazioni dei criteri hanno tentato di accodare i campi che esistono già nella richiesta con valori diversi. Campi: '{existingFields}'. Identificatori di criteri: '{policy}'. Contattare l'amministratore della sottoscrizione per aggiornare i criteri.
AppendPoliciesUndefinedFields AppendPoliciesUndefinedFields: definizione dei criteri trovata che fa riferimento a una proprietà di campo non definita per la versione dell'API '{apiVersion}'. Campi: '{nonExistingFields}'. Identificatori di criteri: '{policy}'. Contattare l'amministratore della sottoscrizione per aggiornare i criteri.
MissingRegistrationForType MissingRegistrationForResourceType: la sottoscrizione non è registrata per il tipo di risorsa '{ResourceType}'. Verificare che il tipo di risorsa esista e che il tipo di risorsa sia registrato.
AmbiguPolicyEvaluationPaths Il contenuto della richiesta ha uno o più percorsi ambigui: '{0}' richiesti dai criteri: '{1}'.
InvalidResourceNameWildcardPosition Impossibile valutare l'assegnazione di criteri '{0}' associata alla definizione dei criteri '{1}'. Il nome della risorsa '{2}' all'interno di una condizione ifNotExists contiene il carattere jolly '?' in una posizione non valida. I caratteri jolly possono essere posizionati solo alla fine del nome in un segmento stesso (ad esempio TopLevelResourceName/?). Correggere il criterio o rimuovere l'assegnazione dei criteri per sbloccare.
TooManyResourceNameSegments Impossibile valutare l'assegnazione di criteri '{0}' associata alla definizione dei criteri '{1}'. Il nome della risorsa '{2}' all'interno di una condizione ifNotExists contiene troppi segmenti di nome. Il numero di segmenti di nome deve essere uguale o minore del numero di segmenti di tipo (escluso lo spazio dei nomi del provider di risorse). Correggere la definizione dei criteri o rimuovere l'assegnazione dei criteri per sbloccare.
InvalidPolicyFieldPath Il percorso del campo '{0}' all'interno della definizione dei criteri non è valido. I percorsi dei campi non devono contenere segmenti vuoti. Possono contenere solo caratteri alfanumerici ad eccezione del carattere '.' per la suddivisione dei segmenti e la sequenza di caratteri '[*]' per accedere alle proprietà della matrice.

Motivi di conformità della modalità provider di risorse del servizio Azure Kubernetes

La tabella seguente esegue il mapping di ogni Microsoft.Kubernetes.Datamotivo della modalità provider di risorse allo stato responsabile del modello di vincolo nella definizione dei criteri:

Motivo Descrizione del motivo del modello di vincolo
Vincolo/ModelloCreateFailed Impossibile creare la risorsa per una definizione di criteri con un vincolo/modello che non corrisponde a un vincolo/modello esistente nel cluster in base al nome dei metadati della risorsa.
Vincolo/TemplateUpdateFailed L'aggiornamento del vincolo/modello per una definizione di criteri con vincolo/modello corrispondente a un vincolo/modello esistente nel cluster in base al nome dei metadati della risorsa.
Vincolo/ModelloInstallFailed Il vincolo/modello non è riuscito a compilare ed è stato impossibile installarlo nel cluster per l'operazione di creazione o aggiornamento.
ConstraintTemplateConflicts Il modello presenta un conflitto con una o più definizioni di criteri usando lo stesso nome di modello con un'origine diversa.
ConstraintStatusStale Esiste uno stato "Audit", ma Gatekeeper non ha eseguito un controllo nell'ultima ora.
ConstraintNotProcessed Non esiste alcuno stato e Gatekeeper non ha eseguito un controllo nell'ultima ora.
InvalidConstraint/Template Il server API ha rifiutato la risorsa a causa di un YAML non valido. Questo motivo può anche essere causato da una mancata corrispondenza del tipo di parametro (ad esempio: stringa fornita per un numero intero)

Nota

Per le assegnazioni di criteri esistenti e i modelli di vincolo già presenti nel cluster, se il vincolo/modello ha esito negativo, il cluster viene protetto mantenendo il vincolo/modello esistente. Il cluster segnala come non conforme fino a quando l'errore non viene risolto nell'assegnazione dei criteri o nel componente aggiuntivo. Per altre informazioni sulla gestione dei conflitti, vedere Conflitti di modelli di vincolo.

Dettagli del componente per le modalità del provider di risorse

Per le assegnazioni con modalità Provider di risorse, selezionare la risorsa non conforme per aprire una visualizzazione più approfondita. Nella scheda Conformità componente sono riportate informazioni aggiuntive specifiche per la modalità Provider di risorse nei criteri assegnati che mostrano l'IDcomponente e componente non conforme.

Screenshot della scheda Conformità dei componenti e dei dettagli di conformità per un'assegnazione della modalità provider di risorse.

Dettagli di conformità per la configurazione guest

Per le definizioni dei criteri nella categoria Configurazione guest , potrebbero essere valutate più impostazioni all'interno della macchina virtuale ed è necessario visualizzare i dettagli relativi alle impostazioni. Ad esempio, se si esegue il controllo per un elenco di impostazioni di sicurezza e solo uno di essi ha lo stato Non conforme, sarà necessario sapere quali impostazioni specifiche non sono conformi e perché.

Potrebbe anche non essere possibile accedere direttamente alla macchina virtuale, ma è necessario segnalare il motivo per cui la macchina virtuale non è conforme.

Portale di Azure

Per iniziare, seguire la stessa procedura descritta nella sezione precedente per visualizzare i dettagli di conformità dei criteri.

Nella visualizzazione Dettagli conformità selezionare il collegamento Ultima risorsa valutata.

Screenshot della visualizzazione dei dettagli di conformità della definizione auditIfNotExists.

Nella pagina Assegnazione guest vengono visualizzati tutti i dettagli di conformità disponibili. Ogni riga della vista rappresenta una valutazione eseguita all'interno del computer. Nella colonna Motivo viene visualizzata una frase che descrive il motivo per cui l'assegnazione guest è Non conforme. Se ad esempio si controllano i criteri password, nella colonna Motivo verrà visualizzato il testo che include il valore corrente per ogni impostazione.

Screenshot dei dettagli di conformità dell'assegnazione guest.

Visualizzare i dettagli dell'assegnazione di configurazione su larga scala

La funzionalità di configurazione guest può essere usata al di fuori delle assegnazioni di Criteri di Azure. Ad esempio, Gestione automatica di Azure crea assegnazioni di configurazione guest oppure è possibile assegnare configurazioni quando si distribuiscono i computer.

Per visualizzare tutte le assegnazioni di configurazione guest nel tenant, nella portale di Azure aprire la pagina Assegnazioni guest. Per visualizzare informazioni dettagliate sulla conformità, selezionare ogni assegnazione usando il collegamento nella colonna "Name".

Screenshot della pagina Assegnazione guest.

Cronologia modifiche (anteprima)

La nuova anteprima pubblica include gli ultimi 14 giorni di cronologia delle modifiche per tutte le risorse di Azure che supportano l'eliminazione in modalità completa. La cronologia modifiche fornisce informazioni dettagliate su quando è stata rilevata una modifica e offre un diff visivo per ogni modifica. Un rilevamento delle modifiche viene attivato quando vengono aggiunte, rimosse o modificate le proprietà di Azure Resource Manager.

  1. Avviare il servizio Criteri di Azure nel portale di Azure facendo clic su Tutti i servizi e quindi cercando e selezionando Criteri.

  2. Nella pagina Panoramica o Conformità selezionare un criterio con uno stato di conformità qualsiasi.

  3. Nella scheda Conformità risorsa della pagina Conformità dei criteri selezionare una risorsa.

  4. Selezionare la scheda Cronologia modifiche (anteprima) nella pagina Conformità risorsa. Verrà visualizzato un elenco delle eventuali modifiche rilevate.

    Screenshot della scheda Cronologia modifiche e dei tempi di modifica rilevati nella pagina Conformità risorse.

  5. Selezionare una delle modifiche rilevate. Verrà visualizzato il diff visivo per la risorsa nella pagina Cronologia modifiche.

    Screenshot dell'oggetto visivo Cronologia modifiche dello stato precedente e successivo delle proprietà nella pagina Cronologia modifiche.

Il diff visivo facilita l'identificazione delle modifiche di una risorsa. Le modifiche rilevate potrebbero non essere correlate allo stato di conformità corrente della risorsa.

I dati della cronologia delle modifiche vengono forniti da Azure Resource Graph. Per eseguire una query su queste informazioni all'esterno del portale di Azure, vedere Ottenere le modifiche delle risorse.

Passaggi successivi