Share via


New-AzPolicyDefinition

Crea o aggiorna una definizione di criteri.

Sintassi

New-AzPolicyDefinition
   -Name <String>
   -Policy <String>
   [-DisplayName <String>]
   [-Description <String>]
   [-Metadata <String>]
   [-Parameter <String>]
   [-Mode <String>]
   [-BackwardCompatible]
   [-DefaultProfile <PSObject>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
New-AzPolicyDefinition
   -Name <String>
   -ManagementGroupName <String>
   -Policy <String>
   [-DisplayName <String>]
   [-Description <String>]
   [-Metadata <String>]
   [-Parameter <String>]
   [-Mode <String>]
   [-BackwardCompatible]
   [-DefaultProfile <PSObject>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
New-AzPolicyDefinition
   -Name <String>
   -SubscriptionId <String>
   -Policy <String>
   [-DisplayName <String>]
   [-Description <String>]
   [-Metadata <String>]
   [-Parameter <String>]
   [-Mode <String>]
   [-BackwardCompatible]
   [-DefaultProfile <PSObject>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

Descrizione

Il cmdlet New-AzPolicyDefinition crea o aggiorna una definizione di criteri che include un formato JSON della regola dei criteri.

Esempio

Esempio 1: Creare una definizione di criteri usando un file di criteri

{
   "if": {
      "field": "location",
      "notIn": ["eastus", "westus", "centralus"]
   },
   "then": {
      "effect": "audit"
   }
}

New-AzPolicyDefinition -Name 'LocationDefinition' -Policy C:\LocationPolicy.json

Questo comando crea una definizione di criteri denominata LocationDefinition che contiene la regola dei criteri specificata in C:\LocationPolicy.json. Il contenuto di esempio per il file LocationPolicy.json viene fornito in precedenza. Sono supportati tre formati di contenuto di file: 1. Solo regola dei criteri (esempio precedente). 2. Oggetto proprietà dei criteri. Questo formato viene visualizzato nel portale durante la modifica di una definizione di criteri e può includere parametri. 3. Oggetto criteri completo. Questo formato viene generato dalla funzione di esportazione Criteri di Azure e può includere parametri.

Nota: i valori forniti nella riga di comando ,ad esempio parametri, metadati, eseguono l'override dei valori corrispondenti presenti nel file.

Esempio 2: Creare una definizione di criteri con parametri usando parametri inline

{
   "if": {
      "field": "location",
      "notIn": "[parameters('listOfAllowedLocations')]"
   },
   "then": {
      "effect": "audit"
   }
}
New-AzPolicyDefinition -Name 'LocationDefinition' -Policy C:\LocationPolicy.json -Parameter '{ "listOfAllowedLocations": { "type": "array" } }'

Questo comando crea una definizione di criteri denominata LocationDefinition che contiene la regola dei criteri specificata in C:\LocationPolicy.json. La definizione del parametro per la regola dei criteri viene fornita inline.

Esempio 3: Creare una definizione di criteri inline in un gruppo di gestione

New-AzPolicyDefinition -Name 'VMPolicyDefinition' -ManagementGroupName Dept42 -DisplayName 'Virtual Machine policy definition' -Policy '{"if":{"field":"type","equals":"Microsoft.Compute/virtualMachines"},"then":{"effect":"deny"}}'

Questo comando crea una definizione di criteri denominata VMPolicyDefinition nel gruppo di gestione Dept42. Il comando specifica i criteri come stringa in formato JSON valido.

Esempio 4: Creare una definizione di criteri inline con i metadati

New-AzPolicyDefinition -Name 'VMPolicyDefinition' -Metadata '{"category":"Virtual Machine"}' -Policy '{"if":{"field":"type","equals":"Microsoft.Compute/virtualMachines"},"then":{"effect":"deny"}}' | Format-List

Questo comando crea una definizione di criteri denominata VMPolicyDefinition con metadati che indicano che la categoria è "Macchina virtuale". Il comando specifica i criteri come stringa in formato JSON valido.

Esempio 5: Creare una definizione di criteri inline con la modalità

New-AzPolicyDefinition -Name 'TagsPolicyDefinition' -Policy '{"if":{"value":"[less(length(field(''tags'')), 3)]","equals":true},"then":{"effect":"deny"}}' -Mode Indexed

Questo comando crea una definizione di criteri denominata TagsPolicyDefinition con modalità "Indicizzata" che indica che il criterio deve essere valutato solo per i tipi di risorse che supportano tag e posizione.

Parametri

-BackwardCompatible

Fa sì che il cmdlet restituisca artefatti usando il formato legacy inserendo proprietà specifiche dei criteri in un oggetto contenitore delle proprietà.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Confirm

Richiede conferma prima di eseguire il cmdlet.

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DefaultProfile

Il parametro DefaultProfile non è funzionale. Usare il parametro SubscriptionId quando disponibile se si esegue il cmdlet su una sottoscrizione diversa.

Type:PSObject
Aliases:AzureRMContext, AzureCredential
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Description

Descrizione della definizione dei criteri.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-DisplayName

Nome visualizzato della definizione dei criteri.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-ManagementGroupName

ID del gruppo di gestione.

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Metadata

Metadati della definizione dei criteri. I metadati sono un oggetto aperto terminato ed è in genere una raccolta di coppie chiave-valore.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Mode

Modalità di definizione dei criteri. Alcuni esempi sono Tutti, Indicizzati, Microsoft.KeyVault.Data.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Name

Nome della definizione di criteri da creare.

Type:String
Aliases:PolicyDefinitionName
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Parameter

Definizioni dei parametri per i parametri usati nella regola dei criteri. Le chiavi sono i nomi dei parametri.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Policy

Regola dei criteri.

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-SubscriptionId

ID della sottoscrizione di destinazione.

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-WhatIf

Mostra gli effetti dell'esecuzione del cmdlet. Il cmdlet non viene eseguito.

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Input

String

Output

IPolicyDefinition