Compartir a través de


New-AzureRmPolicyDefinition

Crea una definición de directiva.

Advertencia

El módulo de PowerShell de AzureRM ha quedado en desuso oficialmente a partir del 29 de febrero de 2024. Se recomienda a los usuarios migrar de AzureRM al módulo Az PowerShell para seguir recibiendo soporte técnico y actualizaciones.

Aunque el módulo AzureRM puede seguir funcionando, ya no se mantiene ni se admite, colocando cualquier uso continuado a discreción y riesgo del usuario. Consulte nuestros recursos de migración para ver una guía sobre la transición al módulo Az.

Syntax

New-AzureRmPolicyDefinition
   -Name <String>
   [-DisplayName <String>]
   [-Description <String>]
   -Policy <String>
   [-Metadata <String>]
   [-Parameter <String>]
   [-Mode <PolicyDefinitionMode>]
   [-ApiVersion <String>]
   [-Pre]
   [-DefaultProfile <IAzureContextContainer>]
   [-InformationAction <ActionPreference>]
   [-InformationVariable <String>]
   [<CommonParameters>]
New-AzureRmPolicyDefinition
   -Name <String>
   [-DisplayName <String>]
   [-Description <String>]
   -Policy <String>
   [-Metadata <String>]
   [-Parameter <String>]
   [-Mode <PolicyDefinitionMode>]
   -ManagementGroupName <String>
   [-ApiVersion <String>]
   [-Pre]
   [-DefaultProfile <IAzureContextContainer>]
   [-InformationAction <ActionPreference>]
   [-InformationVariable <String>]
   [<CommonParameters>]
New-AzureRmPolicyDefinition
   -Name <String>
   [-DisplayName <String>]
   [-Description <String>]
   -Policy <String>
   [-Metadata <String>]
   [-Parameter <String>]
   [-Mode <PolicyDefinitionMode>]
   -SubscriptionId <Guid>
   [-ApiVersion <String>]
   [-Pre]
   [-DefaultProfile <IAzureContextContainer>]
   [-InformationAction <ActionPreference>]
   [-InformationVariable <String>]
   [<CommonParameters>]

Description

El cmdlet New-AzureRmPolicyDefinition 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"
   }
}

PS C:\> New-AzureRmPolicyDefinition -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.

Ejemplo 2: Creación de una definición de directiva parametrizada mediante parámetros insertados

{
   "if": {
      "field": "location",
      "notIn": "[parameters('listOfAllowedLocations')]"
   },
   "then": {
      "effect": "audit"
   }
}

PS C:\> New-AzureRmPolicyDefinition -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

PS C:\> New-AzureRmPolicyDefinition -Name 'VMPolicyDefinition' -ManagementGroupName Dept42 -DisplayName 'Virtual Machine policy definition' -Policy '{"if":{"source":"action","equals":"Microsoft.Compute/virtualMachines/write"},"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

PS C:\> New-AzureRmPolicyDefinition -Name 'VMPolicyDefinition' -Metadata '{"Category":"Virtual Machine"}' -Policy '{"if":{"source":"action","equals":"Microsoft.Compute/virtualMachines/write"},"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.

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
Position:Named
valor predeterminado:None
Requerido:False
Accept pipeline input:False
Accept wildcard characters:False

-DefaultProfile

Las credenciales, la cuenta, el inquilino y la suscripción que se usan para la comunicación con Azure

Tipo:IAzureContextContainer
Aliases:AzureRmContext, AzureCredential
Position:Named
valor predeterminado:None
Requerido:False
Accept pipeline input:False
Accept wildcard characters:False

-Description

Especifica una descripción para la definición de directiva.

Tipo:String
Position:Named
valor predeterminado:None
Requerido:False
Accept pipeline input:True
Accept wildcard characters:False

-DisplayName

Especifica un nombre para mostrar para la definición de directiva.

Tipo:String
Position:Named
valor predeterminado:None
Requerido:False
Accept pipeline input:True
Accept wildcard characters:False

-InformationAction

Especifica cómo responde este cmdlet a un evento de información. Los valores permitidos para este parámetro son los siguientes:

  • Continuar
  • Ignorar
  • Inquire
  • SilentlyContinue
  • Stop
  • Suspender
Tipo:ActionPreference
Aliases:infa
Position:Named
valor predeterminado:None
Requerido:False
Accept pipeline input:False
Accept wildcard characters:False

-InformationVariable

Especifica una variable de información.

Tipo:String
Aliases:iv
Position:Named
valor predeterminado:None
Requerido:False
Accept pipeline input:False
Accept wildcard characters:False

-ManagementGroupName

Nombre del grupo de administración de la nueva definición de directiva.

Tipo:String
Position:Named
valor predeterminado:None
Requerido:True
Accept pipeline input:True
Accept wildcard characters: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
Position:Named
valor predeterminado:None
Requerido:False
Accept pipeline input:True
Accept wildcard characters:False

-Mode

Modo de la definición de directiva

Tipo:Nullable<T>[PolicyDefinitionMode]
Position:Named
valor predeterminado:None
Requerido:False
Accept pipeline input:True
Accept wildcard characters:False

-Name

Especifica un nombre para la definición de directiva.

Tipo:String
Position:Named
valor predeterminado:None
Requerido:True
Accept pipeline input:True
Accept wildcard characters: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
Position:Named
valor predeterminado:None
Requerido:False
Accept pipeline input:True
Accept wildcard characters: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
Position:Named
valor predeterminado:None
Requerido:True
Accept pipeline input:True
Accept wildcard characters: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
Position:Named
valor predeterminado:None
Requerido:False
Accept pipeline input:False
Accept wildcard characters:False

-SubscriptionId

Identificador de suscripción de la nueva definición de directiva.

Tipo:Nullable<T>[Guid]
Position:Named
valor predeterminado:None
Requerido:True
Accept pipeline input:True
Accept wildcard characters:False