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 utile comprendere quale modifica ha modificato una risorsa conforme in precedenza per renderla 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 di 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:
Avviare il servizio Criteri di Azure nel portale di Azure facendo clic su Tutti i servizi e quindi cercando e selezionando Criteri.
Nella pagina Panoramica o Conformità selezionare un criterio il cui stato di conformità sia Non conforme.
Nella scheda Conformità risorse 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 statodi conformità non conforme. Quindi selezionare Visualizzare i dettagli sulla conformità.
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
è 12.0 mentre la definizione dei criteri è prevista 14.0. Se la risorsa non è conforme per più motivi, in questo riquadro vengono elencati tutti i motivi.Per una definizione di criteri
auditIfNotExists
odeployIfNotExists
, 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
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": { ... } } } }
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à
Le modalità resource manager e le modalità del provider di risorse hanno motivi diversi 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 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. | Risorsa del tipo definito in then.details.type e correlata alla risorsa definita nella parte se la regola dei criteri non esiste. |
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 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 tentato di 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: definizione di criteri trovata 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. |
AmbiguoPolicyEvaluationPaths | 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 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 | Impossibile 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 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.Data
motivo 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 o un modello che non corrisponde a un vincolo/modello esistente nel cluster in base al nome dei metadati della risorsa. |
Vincolo/TemplateUpdateFailed | Impossibile aggiornare il vincolo/modello per una definizione di criteri con un vincolo/modello corrispondente a un vincolo/modello esistente nel cluster in base al nome dei metadati della risorsa. |
Vincolo/TemplateInstallFailed | Impossibile 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 usando 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 (specificando 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 segnala come non conforme fino a quando l'errore non viene risolto nell'assegnazione dei criteri o nel componente aggiuntivo viene ripristinato automaticamente. 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 una modalità Provider di risorse, selezionare la risorsa non conforme per visualizzare i record di conformità dei componenti. La scheda Conformità componente mostra altre informazioni specifiche della modalità Provider di risorse, ad esempio Nome componente, ID componente e Tipo.
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 per impostazione. Ad esempio, se si esegue il controllo per un elenco di impostazioni di sicurezza e solo uno di essi ha lo stato Non conforme, è 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.
Azure portal
Iniziare seguendo gli stessi passaggi nella sezione Dettagli conformità per visualizzare i dettagli di conformità dei criteri.
Nella visualizzazione Dettagli conformità selezionare il collegamento Ultima risorsa valutata.
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.
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 Nome.
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.
Avviare il servizio Criteri di Azure nel portale di Azure facendo clic su Tutti i servizi e quindi cercando e selezionando Criteri.
Nella pagina Panoramica o Conformità selezionare un criterio con uno stato di conformità qualsiasi.
Nella scheda Conformità risorse della pagina Conformità criteri selezionare una risorsa.
Selezionare la scheda Cronologia modifiche (anteprima) nella pagina Conformità risorsa. Verrà visualizzato un elenco delle eventuali modifiche rilevate.
Selezionare una delle modifiche rilevate. Verrà visualizzato il diff visivo per la risorsa 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
- Vedere gli esempi in Esempi di Criteri di Azure.
- Vedere la struttura delle definizioni di Criteri di Azure.
- Leggere Informazioni sugli effetti di Criteri.
- Vedere come creare criteri a livello di codice.
- Leggere le informazioni su come ottenere dati sulla conformità.
- Informazioni su come correggere le risorse non conformi.
- Rivedere le caratteristiche di un gruppo di gestione illustrate in Organizzare le risorse con i gruppi di gestione di Azure.
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per