New-AzPolicyDefinition
Crea una definición de directiva.
Sintaxis
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>]
Description
El cmdlet New-AzPolicyDefinition crea una definición de directiva que incluye una regla de directiva en formato De notación de objetos JavaScript (JSON).
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.json. El contenido de ejemplo del archivo LocationPolicy.json se proporciona anteriormente. Se admiten tres formatos de contenido de archivo:
- Solo regla de directiva (ejemplo anterior).
- Objeto de propiedades de directiva. Este formato se muestra en el portal al editar una definición de directiva y puede incluir parámetros.
- 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.json. 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"}}'
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
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
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
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
-ApiVersion
Especifica la versión de la API del proveedor de recursos que se va a usar. Si no especifica una versión, este cmdlet usa la versión más reciente disponible.
Tipo: | String |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-DefaultProfile
Las credenciales, la cuenta, el inquilino y la suscripción que se usan para la comunicación con Azure
Tipo: | IAzureContextContainer |
Alias: | AzContext, AzureRmContext, AzureCredential |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-Description
Especifica una descripción para 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
Especifica un nombre para mostrar para 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
Nombre del grupo de administración de la nueva definición de directiva.
Tipo: | String |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | True |
Aceptar entrada de canalización: | True |
Aceptar caracteres comodín: | False |
-Metadata
Metadatos para la definición de directiva. Puede ser una ruta de acceso a un nombre de archivo que contenga los metadatos o los metadatos como cadena.
Tipo: | String |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | True |
Aceptar caracteres comodín: | False |
-Mode
Modo de la definición de directiva
Tipo: | String |
Posición: | Named |
Valor predeterminado: | All |
Requerido: | False |
Aceptar entrada de canalización: | True |
Aceptar caracteres comodín: | False |
-Name
Especifica un nombre para la definición de directiva.
Tipo: | String |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | True |
Aceptar entrada de canalización: | True |
Aceptar caracteres comodín: | False |
-Parameter
Declaración de parámetros para la definición de directiva. Puede ser una ruta de acceso a un nombre de archivo que contenga la declaración de parámetros o la declaración de parámetros como cadena.
Tipo: | String |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | True |
Aceptar caracteres comodín: | False |
-Policy
Especifica una regla de directiva para la definición de directiva. Puede especificar la ruta de acceso de un archivo .json o una cadena que contenga la directiva en formato JSON.
Tipo: | String |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | True |
Aceptar entrada de canalización: | True |
Aceptar caracteres comodín: | False |
-Pre
Indica que este cmdlet considera las versiones de API de versión preliminar cuando determina automáticamente qué versión se va a usar.
Tipo: | SwitchParameter |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-SubscriptionId
Identificador de suscripción de la nueva definición de directiva.
Tipo: | Nullable<T>[Guid] |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | True |
Aceptar entrada de canalización: | True |
Aceptar caracteres comodín: | False |
Entradas
Nullable<T>[[System.Guid, System.Private.CoreLib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]]