Nozioni di base sulla struttura di definizione Criteri di Azure

Criteri di Azure definizioni descrivono le condizioni di conformità delle risorse e l'effetto da adottare se viene soddisfatta una condizione. Una condizione confronta un valore o un campo proprietà della risorsa con un valore richiesto. È possibile accedere ai campi delle proprietà delle risorse usando gli alias. Quando un campo proprietà della risorsa è una matrice, è possibile usare un alias di matrice speciale per selezionare i valori di tutti i membri della matrice e applicare una condizione a ognuno. Altre informazioni sulle condizioni.

Usando le assegnazioni di criteri, è possibile controllare i costi e gestire le risorse. È ad esempio possibile specificare che vengano consentiti solo determinati tipi di macchine virtuali. In alternativa, è possibile richiedere che le risorse abbiano un tag specifico. Le assegnazioni in un ambito si applicano a tutte le risorse nell'ambito e di seguito. Se un'assegnazione dei criteri viene applicata a un gruppo di risorse, è applicabile a tutte le risorse in tale gruppo.

È possibile usare JSON per creare una definizione di criteri che contiene elementi per:

  • displayName
  • description
  • mode
  • metadata
  • parameters
  • policyRule
    • valutazioni logiche
    • effect

Ad esempio, la notazione JSON seguente illustra un criterio che limita i punti in cui vengono distribuite le risorse:

{
  "properties": {
    "displayName": "Allowed locations",
    "description": "This policy enables you to restrict the locations your organization can specify when deploying resources.",
    "mode": "Indexed",
    "metadata": {
      "version": "1.0.0",
      "category": "Locations"
    },
    "parameters": {
      "allowedLocations": {
        "type": "array",
        "metadata": {
          "description": "The list of locations that can be specified when deploying resources",
          "strongType": "location",
          "displayName": "Allowed locations"
        },
        "defaultValue": [
          "westus2"
        ]
      }
    },
    "policyRule": {
      "if": {
        "not": {
          "field": "location",
          "in": "[parameters('allowedLocations')]"
        }
      },
      "then": {
        "effect": "deny"
      }
    }
  }
}

Per altre informazioni, vedere schema di definizione dei criteri. Criteri di Azure modelli e incorporati si trovano in Criteri di Azure esempi.

Nome visualizzato e descrizione

displayName Usare e description per identificare la definizione dei criteri e fornire il contesto per quando viene usata la definizione. Ha displayName una lunghezza massima di 128 caratteri e description una lunghezza massima di 512 caratteri.

Nota

Durante la creazione o l'aggiornamento di una definizione di criteri, id, typee name sono definiti dalle proprietà esterne al file JSON e non sono necessarie nel file JSON. Il recupero della definizione dei criteri tramite SDK restituisce le idproprietà , typee name come parte del codice JSON, ma ognuna di esse è informazioni di sola lettura correlate alla definizione dei criteri.

Tipo di criterio

Anche se la policyType proprietà non può essere impostata, esistono tre valori restituiti dall'SDK e visibili nel portale:

  • Builtin: Microsoft fornisce e gestisce queste definizioni di criteri.
  • Custom: tutte le definizioni dei criteri create dai clienti hanno questo valore.
  • Static: indica una definizione di criteri di conformità alle normative con la proprietà Microsoft. I risultati della conformità per queste definizioni di criteri sono i risultati dei controlli non Microsoft dell'infrastruttura Microsoft. Nella portale di Azure questo valore viene talvolta visualizzato come gestito da Microsoft. Per altre informazioni, vedere Responsabilità condivisa nel cloud.

Modalità

L'oggetto mode viene configurato a seconda che il criterio sia destinato a una proprietà di Azure Resource Manager o a una proprietà del provider di risorse.

Modalità di Resource Manager

Determina mode quali tipi di risorsa vengono valutati per una definizione di criteri. Le modalità supportate sono:

  • all: vengono valutati i gruppi di risorse, le sottoscrizioni e tutti i tipi di risorse
  • indexed: vengono valutati solo i tipi di risorse che supportano tag e il percorso

Ad esempio, la risorsa Microsoft.Network/routeTables supporta i tag e il percorso e viene valutata in entrambe le modalità. Tuttavia, la risorsa Microsoft.Network/routeTables/routes non può essere contrassegnata e non viene valutata in modalità Indexed.

È consigliabile impostare su modeall nella maggior parte dei casi. Tutte le definizioni di criteri create tramite il portale usano la modalità all. Se si usa PowerShell o l'interfaccia della riga di comando di Azure, è possibile specificare il mode parametro manualmente. Se la definizione dei criteri non include un mode valore, per impostazione predefinita all in Azure PowerShell e nell'interfaccia della riga di comando di null Azure. Una null modalità è identica a quella usata indexed per supportare la compatibilità con le versioni precedenti.

indexed deve essere usato durante la creazione di criteri che applicano tag o percorsi. Sebbene non sia necessario, evita che le risorse che non supportano tag e percorsi vengano visualizzate come non conformi nei risultati sulla conformità. L'eccezione è rappresentata dai gruppi di risorse e dalle sottoscrizioni. Le definizioni di criteri che applicano la posizione o i tag in un gruppo di risorse o una sottoscrizione devono essere impostate su modeall e specificamente come destinazione del Microsoft.Resources/subscriptions/resourceGroups tipo o Microsoft.Resources/subscriptions . Per un esempio, vedere Modello: Tag - Esempio 1. Per un elenco di risorse che supportano i tag, vedere Supporto dei tag per le risorse di Azure.

Modalità provider di risorse

Sono supportate completamente le modalità provider di risorse seguenti:

  • Microsoft.Kubernetes.Data per la gestione di cluster e componenti Kubernetes, ad esempio pod, contenitori e ingresso. Supportato per i cluster servizio Azure Kubernetes e i cluster Kubernetes abilitati per Azure Arc. Le definizioni che usano questa modalità provider di risorse usano il controllo degli effetti, nega e disabilitato.
  • Microsoft.KeyVault.Data per la gestione di insiemi di credenziali e certificati in Azure Key Vault. Per altre informazioni su queste definizioni di criteri, vedere Integrare Azure Key Vault con Criteri di Azure.
  • Microsoft.Network.Dataper la gestione dei criteri di appartenenza personalizzati di Azure Rete virtuale Manager tramite Criteri di Azure.

Le modalità provider di risorse seguenti sono attualmente supportate come anteprima:

  • Microsoft.ManagedHSM.Dataper la gestione delle chiavi HSM (Managed Hardware Security Module) tramite Criteri di Azure.
  • Microsoft.DataFactory.Dataper l'uso di Criteri di Azure per negare i nomi di dominio del traffico in uscita di Azure Data Factory non specificati in un elenco elementi consentiti. Questa modalità provider di risorse è solo imposizione e non segnala la conformità nell'anteprima pubblica.
  • Microsoft.MachineLearningServices.v2.Data per la gestione delle distribuzioni di modelli di Azure Machine Learning . Questa modalità provider di risorse segnala la conformità per i componenti appena creati e aggiornati. Durante l'anteprima pubblica, i record di conformità rimangono per 24 ore. Le distribuzioni di modelli esistenti prima dell'assegnazione di queste definizioni di criteri non segnalano la conformità.

Nota

Se non specificato in modo esplicito, le modalità provider di risorse supportano solo le definizioni di criteri predefinite e le esenzioni non sono supportate a livello di componente.

Metadati UFX

La proprietà facoltativa metadata archivia informazioni sulla definizione dei criteri. I clienti possono definire qualsiasi proprietà e valori utili per l'organizzazione in metadata. Esistono tuttavia alcune proprietà comuni usate da Criteri di Azure e nelle funzionalità predefinite. Ogni metadata proprietà ha un limite di 1.024 caratteri.

Proprietà comuni dei metadati

  • version (stringa): tiene traccia dei dettagli sulla versione del contenuto di una definizione di criteri.
  • category(stringa): determina in quale categoria nella portale di Azure viene visualizzata la definizione dei criteri.
  • preview (booleano): flag True o false per se la definizione dei criteri è in anteprima.
  • deprecated (booleano): flag True o false per se la definizione dei criteri è contrassegnata come deprecata.
  • portalReview (stringa): determina se i parametri devono essere esaminati nel portale, indipendentemente dall'input richiesto.

Nota

Il servizio Criteri di Azure usa le proprietà version, preview e deprecated per fornire il livello di modifica a una definizione o un'iniziativa di criteri predefinita e uno stato. Il formato di version è: {Major}.{Minor}.{Patch}. Gli stati specifici, ad esempio deprecato o anteprima, vengono aggiunti alla proprietà version o a un'altra proprietà come booleano. Per altre informazioni sul modo in cui Criteri di Azure versioni predefinite, vedere Controllo delle versioni predefinito. Per altre informazioni su cosa significa che un criterio deve essere deprecato o in anteprima, vedere Criteri di anteprima e deprecati.

Posizione della definizione

Durante la creazione di iniziative o criteri è importante specificare la posizione della definizione. La posizione della definizione deve essere specificata come un gruppo di gestione o una sottoscrizione. Tale posizione determina l'ambito al quale la definizione delle iniziative o dei criteri può essere assegnata. Le risorse devono essere membri diretti o elementi figli all'interno della gerarchia della posizione della definizione da destinare all'assegnazione.

Se la posizione della definizione è:

  • Sottoscrizione : solo le risorse all'interno della sottoscrizione possono essere assegnate alla definizione dei criteri.
  • Gruppo di gestione: è possibile assegnare alla definizione dei criteri solo le risorse all'interno dei gruppi di gestione figlio e delle sottoscrizioni figlio. Se si prevede di applicare la definizione dei criteri a più sottoscrizioni, il percorso deve essere un gruppo di gestione che contiene ogni sottoscrizione.

Per altre informazioni, vedere Informazioni sull'ambito in Criteri di Azure.

Passaggi successivi