Determinare le cause della 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. Ad esempio, se la risorsa Non conforme è Microsoft.Compute/virtualMachines, l'utente deve avere l'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à risorsa della pagina Conformità criteri selezionare e tenere premuto (o fare clic con il pulsante destro del mouse) oppure 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 Visualizzare i dettagli sulla conformità nella scheda Conformità risorsa.

  4. Il riquadro Dettagli conformità visualizza le informazioni della valutazione più recente della risorsa rispetto all'assegnazione dei criteri corrente. In questo esempio il campo Microsoft.Sql/servers/version risulta essere 12.0 mentre la definizione di criteri si aspettava 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 la mancata conformità, ovvero il valore corrente è 12 e il valore di destinazione è 14.

    Per una definizione di criteri auditIfNotExists o deployIfNotExists, i dettagli includono la proprietà details.type e le eventuali 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.

    Definizione parziale di deployIfNotExists di esempio:

    {
      "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 valutate.

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 queste informazioni, vedere Cronologia modifiche (anteprima).

Motivi di conformità

Ogni modalità Resource Manager e modalità provider di risorse ha diversi motivi per la mancata conformità.

Motivi generali per la conformità della modalità Resource Manager

La tabella seguente esegue il mapping di ogni motivo della modalità Resource Manager alla condizione responsabile nella definizione di 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/minuscole. match o not notMatch
Il valore corrente deve corrispondere al valore di destinazione senza distinzione tra maiuscole/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/minuscole. notMatch o not match
Il valore corrente non deve corrispondere al valore di destinazione senza distinzione tra maiuscole/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 correlata alla risorsa definita nella parte if della regola dei criteri.

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

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

Codice motivo conformità Messaggio di errore e spiegazione
NonModifiablePolicyAlias NonModifiableAliasConflict: l'alias "{alias}" non è modificabile nelle richieste usando la versione API "{apiVersion}". Questo errore si verifica quando una richiesta usa una versione dell'API in cui l'alias non supporta l'effetto "modify" o supporta solo l'effetto "modify" con un tipo di token diverso.
AppendPoliciesNotApplicable AppendPoliciesUnableToAppend: gli alias "{ alias }" non sono modificabili nelle richieste tramite la versione API "{ apiVersion }". Ciò può verificarsi nelle richieste che usano versioni API per cui gli alias non supportano l'effetto "modify" o supportano l'effetto "modify" con un tipo di token diverso.
ConflictingAppendPolicies ConflictingAppendPolicies: sono state trovate assegnazioni di criteri in conflitto che modificano il campo "{notApplicableFields}". Identificatori dei criteri: "{policy}". Contattare l'amministratore della sottoscrizione per aggiornare le assegnazioni dei criteri.
AppendPoliciesFieldsExist AppendPoliciesFieldsExistWithDifferentValues: le assegnazioni dei criteri hanno provato ad accodare campi già esistenti nella richiesta con valori diversi. Campi: "{existingFields}". Identificatori dei criteri: "{policy}". Contattare l'amministratore della sottoscrizione per aggiornare i criteri.
AppendPoliciesUndefinedFields AppendPoliciesUndefinedFields: è stata trovata una definizione di criteri che fa riferimento a una proprietà di campo non definita per la versione dell'API "{apiVersion}". Campi: "{nonExistingFields}". Identificatori dei 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.
AmbiguousPolicyEvaluationPaths Il contenuto della richiesta contiene uno o più percorsi ambigui "{0}" richiesti dai criteri "{1}".
InvalidResourceNameWildcardPosition Non è stato possibile valutare l'assegnazione di criteri "{0}" associata alla definizione di 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 trovarsi solo alla fine del nome in un segmento da soli, ad esempio TopLevelResourceName/?. Correggere il criterio o rimuovere l'assegnazione dei criteri per sbloccare.
TooManyResourceNameSegments Non è stato possibile valutare l'assegnazione di criteri "{0}" associata alla definizione di criteri "{1}". Il nome della risorsa "{2}" all'interno di una condizione ifNotExists contiene troppi segmenti nome. Il numero di segmenti di nome deve essere uguale o inferiore a quello dei segmenti di tipo, escluso lo spazio dei nomi del provider di risorse. Correggere la definizione del criterio o rimuovere l'assegnazione di criteri per sbloccare.
InvalidPolicyFieldPath Il percorso del campo "{0}" all'interno della definizione di 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 motivo della Microsoft.Kubernetes.Datamodalità provider di risorse allo stato responsabile del modello di vincolo nella definizione di criteri:

Motivo Descrizione del motivo del modello di vincolo
Constraint/TemplateCreateFailed Non è stato possibile creare la risorsa per una definizione di criteri con un vincolo o un modello che non corrisponde a un vincolo o modello esistente nel cluster in base al nome dei metadati della risorsa.
Constraint/TemplateUpdateFailed Non è stato possibile aggiornare il vincolo o il modello per una definizione di criteri con un vincolo o un modello che corrisponde a un vincolo o modello esistente nel cluster in base al nome dei metadati della risorsa.
Constraint/TemplateInstallFailed Non è stato possibile compilare il vincolo o il modello e non è stato possibile installarlo nel cluster per l'operazione di creazione o aggiornamento.
ConstraintTemplateConflicts Il modello presenta un conflitto con una o più definizioni di criteri che usano lo stesso nome modello con un'origine diversa.
ConstraintStatusStale Esiste uno stato "Audit" esistente, 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 La risorsa è stata rifiutata a causa di uno dei motivi seguenti: contenuto Rego del modello di vincolo non valido, YAML non valido o mancata corrispondenza del tipo di parametro tra vincolo e modello di vincolo (viene specificato un valore stringa quando è previsto 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 risulta non conforme fino a quando l'errore non viene risolto nell'assegnazione dei criteri o il componente aggiuntivo viene ripristinato automaticamente. Per altre informazioni sulla gestione dei conflitti, vedere Conflitti di modelli di vincolo.

Dettagli del componente per le modalità provider di risorse

Per le assegnazioni con una modalità provider di risorse, selezionare la risorsa Non conforme per visualizzare i record di conformità dei componenti. La scheda Conformità del componente mostra altre informazioni specifiche per la modalità provider di risorse, ad esempio Nome componente, ID componentee Tipo.

Screenshot del dashboard Conformità del componente e dei dettagli di conformità per le assegnazioni con una modalità provider di risorse.

Dettagli di conformità per la configurazione guest

Per le definizioni di criteri nella categoria Configurazione guest, è possibile che vengano valutate più impostazioni nella macchina virtuale e che sia necessario visualizzare i dettagli per ogni impostazione. Ad esempio, se si esegue il controllo per un elenco di impostazioni di protezione e solo uno di essi ha lo stato Non conforme, è necessario conoscere quali impostazioni specifiche non sono conformi e perché.

Potrebbe anche non essere possibile accedere direttamente alla macchina virtuale, ma è necessario segnalare perché la macchina virtuale è Non conforme.

Azure portal

Iniziare seguendo gli stessi passaggi nella sezione Dettagli conformità per visualizzare i dettagli di conformità dei criteri.

Nel riquadro 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 all'esterno delle assegnazioni di Criteri di Azure. Ad esempio, Gestione automatica di Azure crea assegnazioni di configurazione guest oppure è possibile assegnare configurazioni quando si distribuiscono computer.

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

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. Viene attivato un rilevamento delle modifiche ogni volta che 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à risorsa.

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

    Screenshot dell'oggetto visivo Diff di Cronologia modifiche relativo allo 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