New-AzPolicyDefinition

Crea o actualiza una definición de directiva.

Sintaxis

Name (valor predeterminado)

New-AzPolicyDefinition
    -Name <String>
    -Policy <String>
    [-DisplayName <String>]
    [-Description <String>]
    [-Metadata <String>]
    [-Parameter <String>]
    [-Mode <String>]
    [-Version <String>]
    [-ExternalEvaluationEnforcementSettingMissingTokenAction <String>]
    [-ExternalEvaluationEnforcementSettingResultLifespan <String>]
    [-ExternalEvaluationEnforcementSettingRoleDefinitionId <String[]>]
    [-EndpointSettingKind <String>]
    [-EndpointSettingDetail <String>]
    [-DefaultProfile <PSObject>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

ManagementGroupName

New-AzPolicyDefinition
    -Name <String>
    -ManagementGroupName <String>
    -Policy <String>
    [-DisplayName <String>]
    [-Description <String>]
    [-Metadata <String>]
    [-Parameter <String>]
    [-Mode <String>]
    [-Version <String>]
    [-ExternalEvaluationEnforcementSettingMissingTokenAction <String>]
    [-ExternalEvaluationEnforcementSettingResultLifespan <String>]
    [-ExternalEvaluationEnforcementSettingRoleDefinitionId <String[]>]
    [-EndpointSettingKind <String>]
    [-EndpointSettingDetail <String>]
    [-DefaultProfile <PSObject>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

SubscriptionId

New-AzPolicyDefinition
    -Name <String>
    -SubscriptionId <String>
    -Policy <String>
    [-DisplayName <String>]
    [-Description <String>]
    [-Metadata <String>]
    [-Parameter <String>]
    [-Mode <String>]
    [-Version <String>]
    [-ExternalEvaluationEnforcementSettingMissingTokenAction <String>]
    [-ExternalEvaluationEnforcementSettingResultLifespan <String>]
    [-ExternalEvaluationEnforcementSettingRoleDefinitionId <String[]>]
    [-EndpointSettingKind <String>]
    [-EndpointSettingDetail <String>]
    [-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. Este formato lo genera la función de exportación Azure Policy 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.

Ejemplo 6: Creación de una definición de directiva alineada con la versión

New-AzPolicyDefinition -Name 'VMPolicyDefinition' -Policy '{"if":{"field":"type","equals":"Microsoft.Compute/virtualMachines"},"then":{"effect":"deny"}}' -Version '2.0.0'

Este comando crea una definición de directiva denominada VMPolicyDefinition con la versión incrementada 2.0.0. El comando especifica la directiva como una cadena en formato JSON válido.

Ejemplo 7: Crear una definición de directiva con la configuración de cumplimiento de la evaluación externa

New-AzPolicyDefinition -Name 'InvokePolicy' -Policy '{"if":{"value":"[claims().isValid]","equals":false},"then":{"effect":"deny"}}' -EndpointSettingKind 'CoinFlip' -ExternalEvaluationEnforcementSettingRoleDefinitionId @( "/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c" )

Este comando crea una definición de directiva denominada InvokePolicy con la configuración de cumplimiento de evaluación externa para llamar al punto de conexión de CoinFlip, que requiere la definición de rol especificada.

Parámetros

-Confirm

Le pide confirmación antes de ejecutar el cmdlet.

Propiedades de parámetro

Tipo:SwitchParameter
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False
Alias:cf

Conjuntos de parámetros

(All)
Posición:Named
Obligatorio:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes: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.

Propiedades de parámetro

Tipo:PSObject
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False
Alias:AzureRMContext, AzureCredential

Conjuntos de parámetros

(All)
Posición:Named
Obligatorio:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-Description

Descripción de la definición de directiva.

Propiedades de parámetro

Tipo:String
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

(All)
Posición:Named
Obligatorio:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:True
Valor de los argumentos restantes:False

-DisplayName

Nombre para mostrar de la definición de directiva.

Propiedades de parámetro

Tipo:String
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

(All)
Posición:Named
Obligatorio:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:True
Valor de los argumentos restantes:False

-EndpointSettingDetail

Detalles del punto de conexión.

Propiedades de parámetro

Tipo:String
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

(All)
Posición:Named
Obligatorio:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:True
Valor de los argumentos restantes:False

-EndpointSettingKind

El tipo del punto de conexión.

Propiedades de parámetro

Tipo:String
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

(All)
Posición:Named
Obligatorio:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:True
Valor de los argumentos restantes:False

-ExternalEvaluationEnforcementSettingMissingTokenAction

Qué hacer al evaluar una directiva de cumplimiento que requiere una evaluación externa y falta el token. Los valores posibles son Audit y Deny y se admiten expresiones de lenguaje.

Propiedades de parámetro

Tipo:String
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

(All)
Posición:Named
Obligatorio:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:True
Valor de los argumentos restantes:False

-ExternalEvaluationEnforcementSettingResultLifespan

La duración del resultado de la invocación del punto de conexión después del cual ya no es válido.

Se espera que el valor siga el formato de duración ISO 8601 y se admiten expresiones de lenguaje.

Propiedades de parámetro

Tipo:String
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

(All)
Posición:Named
Obligatorio:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:True
Valor de los argumentos restantes:False

-ExternalEvaluationEnforcementSettingRoleDefinitionId

Para invocar el punto de conexión, necesitará una matriz de los identificadores de definición de rol que necesitará el MSI de la asignación.

Propiedades de parámetro

Tipo:

String[]

Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

(All)
Posición:Named
Obligatorio:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:True
Valor de los argumentos restantes:False

-ManagementGroupName

Identificador del grupo de administración.

Propiedades de parámetro

Tipo:String
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

ManagementGroupName
Posición:Named
Obligatorio:True
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:True
Valor de los argumentos restantes: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.

Propiedades de parámetro

Tipo:String
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

(All)
Posición:Named
Obligatorio:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:True
Valor de los argumentos restantes:False

-Mode

Modo de definición de directiva. Algunos ejemplos son All, Indexed, Microsoft.KeyVault.Data.

Propiedades de parámetro

Tipo:String
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

(All)
Posición:Named
Obligatorio:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:True
Valor de los argumentos restantes:False

-Name

Nombre de la definición de directiva que se va a crear.

Propiedades de parámetro

Tipo:String
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False
Alias:PolicyDefinitionName

Conjuntos de parámetros

(All)
Posición:Named
Obligatorio:True
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:True
Valor de los argumentos restantes:False

-Parameter

Definiciones de parámetros para los parámetros usados en la regla de directiva. Las claves son los nombres de parámetro.

Propiedades de parámetro

Tipo:String
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

(All)
Posición:Named
Obligatorio:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:True
Valor de los argumentos restantes:False

-Policy

Regla de directiva.

Propiedades de parámetro

Tipo:String
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

(All)
Posición:Named
Obligatorio:True
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:True
Valor de los argumentos restantes:False

-SubscriptionId

Identificador de la suscripción de destino.

Propiedades de parámetro

Tipo:String
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

SubscriptionId
Posición:Named
Obligatorio:True
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:True
Valor de los argumentos restantes:False

-Version

La versión de definición de directiva en formato #.#.#

Propiedades de parámetro

Tipo:String
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False
Alias:PolicyDefinitionVersion

Conjuntos de parámetros

(All)
Posición:Named
Obligatorio:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:True
Valor de los argumentos restantes:False

-WhatIf

Muestra lo que sucedería si el cmdlet se ejecuta. El cmdlet no se ejecuta.

Propiedades de parámetro

Tipo:SwitchParameter
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False
Alias:Wi

Conjuntos de parámetros

(All)
Posición:Named
Obligatorio:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

CommonParameters

Este cmdlet admite los parámetros comunes: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction y -WarningVariable. Para obtener más información, vea about_CommonParameters.

Entradas

String

String

Salidas

IPolicyDefinition