New-AzPolicyDefinition
Crea una definizione di criteri.
Sintassi
New-AzPolicyDefinition
-Name <String>
[-DisplayName <String>]
[-Description <String>]
-Policy <String>
[-Metadata <String>]
[-Parameter <String>]
[-Mode <String>]
[-ApiVersion <String>]
[-Pre]
[-DefaultProfile <IAzureContextContainer>]
[<CommonParameters>]
New-AzPolicyDefinition
-Name <String>
[-DisplayName <String>]
[-Description <String>]
-Policy <String>
[-Metadata <String>]
[-Parameter <String>]
[-Mode <String>]
-ManagementGroupName <String>
[-ApiVersion <String>]
[-Pre]
[-DefaultProfile <IAzureContextContainer>]
[<CommonParameters>]
New-AzPolicyDefinition
-Name <String>
[-DisplayName <String>]
[-Description <String>]
-Policy <String>
[-Metadata <String>]
[-Parameter <String>]
[-Mode <String>]
-SubscriptionId <Guid>
[-ApiVersion <String>]
[-Pre]
[-DefaultProfile <IAzureContextContainer>]
[<CommonParameters>]
Descrizione
Il cmdlet New-AzPolicyDefinition crea una definizione di criteri che include una regola dei criteri in formato JSON (JavaScript Object Notation).
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:
- Solo regola dei criteri (esempio precedente).
- Oggetto proprietà dei criteri. Questo formato viene visualizzato nel portale durante la modifica di una definizione di criteri e può includere parametri.
- 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"}}'
Name : VMPolicyDefinition
ResourceId : /subscriptions/11111111-1111-1111-1111-111111111111/providers/Microsoft.Authorization/policyDefinitions/VMPolicyDefinition
ResourceName : VMPolicyDefinition
ResourceType : Microsoft.Authorization/policyDefinitions
SubscriptionId : 11111111-1111-1111-1111-111111111111
Properties : @{displayName=VMPolicyDefinition; policyType=Custom; mode=All; metadata=; policyRule=}
PolicyDefinitionId : /subscriptions/11111111-1111-1111-1111-111111111111/providers/Microsoft.Authorization/policyDefinitions/VMPolicyDefinition
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
Name : TagsPolicyDefinition
ResourceId : /subscriptions/11111111-1111-1111-1111-111111111111/providers/Microsoft.Authorization/policyDefinitions/TagsPolicyDefinition
ResourceName : TagsPolicyDefinition
ResourceType : Microsoft.Authorization/policyDefinitions
SubscriptionId : 11111111-1111-1111-1111-111111111111
Properties : @{displayName=TagsPolicyDefinition; policyType=Custom; mode=Indexed; metadata=; parameters=; policyRule=}
PolicyDefinitionId : /subscriptions/11111111-1111-1111-1111-111111111111/providers/Microsoft.Authorization/policyDefinitions/TagsPolicyDefinition
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
-ApiVersion
Specifica la versione dell'API del provider di risorse da usare. Se non si specifica una versione, questo cmdlet usa la versione più recente disponibile.
Tipo: | String |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-DefaultProfile
Credenziali, account, tenant e sottoscrizione usati per la comunicazione con Azure
Tipo: | IAzureContextContainer |
Alias: | AzContext, AzureRmContext, AzureCredential |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-Description
Specifica una descrizione per la definizione dei criteri.
Tipo: | String |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | True |
Accettare caratteri jolly: | False |
-DisplayName
Specifica un nome visualizzato per la definizione dei criteri.
Tipo: | String |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | True |
Accettare caratteri jolly: | False |
-ManagementGroupName
Nome del gruppo di gestione della nuova definizione di criteri.
Tipo: | String |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | True |
Accettare l'input della pipeline: | True |
Accettare caratteri jolly: | False |
-Metadata
Metadati per la definizione dei criteri. Può trattarsi di un percorso di un nome di file contenente i metadati o dei metadati come stringa
Tipo: | String |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | True |
Accettare caratteri jolly: | False |
-Mode
Modalità della definizione dei criteri
Tipo: | String |
Posizione: | Named |
Valore predefinito: | All |
Necessario: | False |
Accettare l'input della pipeline: | True |
Accettare caratteri jolly: | False |
-Name
Specifica un nome per la definizione dei criteri.
Tipo: | String |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | True |
Accettare l'input della pipeline: | True |
Accettare caratteri jolly: | False |
-Parameter
Dichiarazione di parametri per la definizione dei criteri. Può trattarsi di un percorso di un nome file contenente la dichiarazione di parametri o della dichiarazione di parametri come stringa.
Tipo: | String |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | True |
Accettare caratteri jolly: | False |
-Policy
Specifica una regola dei criteri per la definizione dei criteri. È possibile specificare il percorso di un file .json o di una stringa che contiene i criteri in formato JSON.
Tipo: | String |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | True |
Accettare l'input della pipeline: | True |
Accettare caratteri jolly: | False |
-Pre
Indica che questo cmdlet considera le versioni api non definitive quando determina automaticamente la versione da usare.
Tipo: | SwitchParameter |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-SubscriptionId
ID sottoscrizione della nuova definizione di criteri.
Tipo: | Nullable<T>[Guid] |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | True |
Accettare l'input della pipeline: | True |
Accettare caratteri jolly: | False |
Input
Nullable<T>[[System.Guid, System.Private.CoreLib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]]