New-AzPolicyDefinition
Crea o actualiza una definición de directiva.
Sintaxis
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>]
Description
El cmdlet New-AzPolicyDefinition crea o actualiza una definición de directiva que incluye un formato JSON de regla de directiva.
Ejemplos
Ejemplo 1: Creación de una definición de directiva mediante un archivo de directiva
{
"if": {
"field": "location",
"notIn": ["eastus", "westus", "centralus"]
},
"then": {
"effect": "audit"
}
}
New-AzPolicyDefinition -Name 'LocationDefinition' -Policy C:\LocationPolicy.json
Este comando crea una definición de directiva denominada LocationDefinition que contiene la regla de directiva especificada en C:\LocationPolicy.jsactivado. El contenido de ejemplo del archivo LocationPolicy.json se proporciona anteriormente. Se admiten tres formatos de contenido de archivo: 1. Regla de directiva solo (ejemplo anterior). 2. Objeto de propiedades de directiva. Este formato se muestra en el portal al editar una definición de directiva y puede incluir parámetros. 3. Objeto de directiva completa. Esta función de exportación de Azure Policy genera este formato y puede incluir parámetros.
Nota: Los valores proporcionados en la línea de comandos (por ejemplo, parámetros, metadatos) invalidan los valores correspondientes presentes en el archivo.
Ejemplo 2: Creación de una definición de directiva parametrizada mediante parámetros insertados
{
"if": {
"field": "location",
"notIn": "[parameters('listOfAllowedLocations')]"
},
"then": {
"effect": "audit"
}
}
New-AzPolicyDefinition -Name 'LocationDefinition' -Policy C:\LocationPolicy.json -Parameter '{ "listOfAllowedLocations": { "type": "array" } }'
Este comando crea una definición de directiva denominada LocationDefinition que contiene la regla de directiva especificada en C:\LocationPolicy.jsactivado. La definición de parámetros de la regla de directiva se proporciona en línea.
Ejemplo 3: Creación de una definición de directiva insertada en un grupo de administración
New-AzPolicyDefinition -Name 'VMPolicyDefinition' -ManagementGroupName Dept42 -DisplayName 'Virtual Machine policy definition' -Policy '{"if":{"field":"type","equals":"Microsoft.Compute/virtualMachines"},"then":{"effect":"deny"}}'
Este comando crea una definición de directiva denominada VMPolicyDefinition en el grupo de administración Dept42. El comando especifica la directiva como una cadena en formato JSON válido.
Ejemplo 4: Creación de una definición de directiva alineada con metadatos
New-AzPolicyDefinition -Name 'VMPolicyDefinition' -Metadata '{"category":"Virtual Machine"}' -Policy '{"if":{"field":"type","equals":"Microsoft.Compute/virtualMachines"},"then":{"effect":"deny"}}' | Format-List
Este comando crea una definición de directiva denominada VMPolicyDefinition con metadatos que indican que su categoría es "Máquina virtual". El comando especifica la directiva como una cadena en formato JSON válido.
Ejemplo 5: Crear una definición de directiva alineada con el modo
New-AzPolicyDefinition -Name 'TagsPolicyDefinition' -Policy '{"if":{"value":"[less(length(field(''tags'')), 3)]","equals":true},"then":{"effect":"deny"}}' -Mode Indexed
Este comando crea una definición de directiva denominada TagsPolicyDefinition con el modo "Indexed" que indica que la directiva solo se debe evaluar para los tipos de recursos que admiten etiquetas y ubicación.
Parámetros
-BackwardCompatible
Hace que el cmdlet devuelva artefactos mediante la colocación de propiedades específicas de la directiva en un objeto contenedor de propiedades.
Tipo: | SwitchParameter |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-Confirm
Le pide confirmación antes de ejecutar el cmdlet.
Tipo: | SwitchParameter |
Alias: | cf |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-DefaultProfile
El parámetro DefaultProfile no es funcional. Use el parámetro SubscriptionId cuando esté disponible si ejecuta el cmdlet en otra suscripción.
Tipo: | PSObject |
Alias: | AzureRMContext, AzureCredential |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-Description
Descripción de la definición de directiva.
Tipo: | String |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | True |
Aceptar caracteres comodín: | False |
-DisplayName
Nombre para mostrar de la definición de directiva.
Tipo: | String |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | True |
Aceptar caracteres comodín: | False |
-ManagementGroupName
Identificador del grupo de administración.
Tipo: | String |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | True |
Aceptar entrada de canalización: | True |
Aceptar caracteres comodín: | False |
-Metadata
Metadatos de definición de directiva. Los metadatos son un objeto terminado abierto y normalmente es una colección de pares clave-valor.
Tipo: | String |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | True |
Aceptar caracteres comodín: | False |
-Mode
Modo de definición de directiva. Algunos ejemplos son All, Indexed, Microsoft.KeyVault.Data.
Tipo: | String |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | True |
Aceptar caracteres comodín: | False |
-Name
Nombre de la definición de directiva que se va a crear.
Tipo: | String |
Alias: | PolicyDefinitionName |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | True |
Aceptar entrada de canalización: | True |
Aceptar caracteres comodín: | False |
-Parameter
Definiciones de parámetros para los parámetros usados en la regla de directiva. Las claves son los nombres de parámetro.
Tipo: | String |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | True |
Aceptar caracteres comodín: | False |
-Policy
Regla de directiva.
Tipo: | String |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | True |
Aceptar entrada de canalización: | True |
Aceptar caracteres comodín: | False |
-SubscriptionId
Identificador de la suscripción de destino.
Tipo: | String |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | True |
Aceptar entrada de canalización: | True |
Aceptar caracteres comodín: | False |
-WhatIf
Muestra lo que sucedería si el cmdlet se ejecuta. El cmdlet no se ejecuta.
Tipo: | SwitchParameter |
Alias: | wi |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |