New-AzureRmPolicyAssignment
Crea una asignació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.
Sintaxis
New-AzureRmPolicyAssignment
-Name <String>
-Scope <String>
[-NotScope <String[]>]
[-DisplayName <String>]
[-Description <String>]
[-PolicyDefinition <PSObject>]
[-PolicySetDefinition <PSObject>]
[-Metadata <String>]
[-Sku <Hashtable>]
[-AssignIdentity]
[-Location <String>]
[-ApiVersion <String>]
[-Pre]
[-DefaultProfile <IAzureContextContainer>]
[-InformationAction <ActionPreference>]
[-InformationVariable <String>]
[<CommonParameters>]
New-AzureRmPolicyAssignment
-Name <String>
-Scope <String>
[-NotScope <String[]>]
[-DisplayName <String>]
[-Description <String>]
-PolicyDefinition <PSObject>
[-PolicySetDefinition <PSObject>]
-PolicyParameterObject <Hashtable>
[-Metadata <String>]
[-Sku <Hashtable>]
[-AssignIdentity]
[-Location <String>]
[-ApiVersion <String>]
[-Pre]
[-DefaultProfile <IAzureContextContainer>]
[-InformationAction <ActionPreference>]
[-InformationVariable <String>]
[<CommonParameters>]
New-AzureRmPolicyAssignment
-Name <String>
-Scope <String>
[-NotScope <String[]>]
[-DisplayName <String>]
[-Description <String>]
-PolicyDefinition <PSObject>
[-PolicySetDefinition <PSObject>]
-PolicyParameter <String>
[-Metadata <String>]
[-Sku <Hashtable>]
[-AssignIdentity]
[-Location <String>]
[-ApiVersion <String>]
[-Pre]
[-DefaultProfile <IAzureContextContainer>]
[-InformationAction <ActionPreference>]
[-InformationVariable <String>]
[<CommonParameters>]
New-AzureRmPolicyAssignment
-Name <String>
-Scope <String>
[-NotScope <String[]>]
[-DisplayName <String>]
[-Description <String>]
[-PolicyDefinition <PSObject>]
-PolicySetDefinition <PSObject>
-PolicyParameterObject <Hashtable>
[-Metadata <String>]
[-Sku <Hashtable>]
[-AssignIdentity]
[-Location <String>]
[-ApiVersion <String>]
[-Pre]
[-DefaultProfile <IAzureContextContainer>]
[-InformationAction <ActionPreference>]
[-InformationVariable <String>]
[<CommonParameters>]
New-AzureRmPolicyAssignment
-Name <String>
-Scope <String>
[-NotScope <String[]>]
[-DisplayName <String>]
[-Description <String>]
[-PolicyDefinition <PSObject>]
-PolicySetDefinition <PSObject>
-PolicyParameter <String>
[-Metadata <String>]
[-Sku <Hashtable>]
[-AssignIdentity]
[-Location <String>]
[-ApiVersion <String>]
[-Pre]
[-DefaultProfile <IAzureContextContainer>]
[-InformationAction <ActionPreference>]
[-InformationVariable <String>]
[<CommonParameters>]
Description
El cmdlet New-AzureRmPolicyAssignment crea una asignación de directiva. Especifique una directiva y un ámbito.
Ejemplos
Ejemplo 1: Asignación de directivas en el nivel de grupo de recursos
PS C:\> $ResourceGroup = Get-AzureRmResourceGroup -Name 'ResourceGroup11'
PS C:\> $Policy = Get-AzureRmPolicyDefinition -Name 'VirtualMachinePolicy'
PS C:\> New-AzureRmPolicyAssignment -Name 'VirtualMachinePolicyAssignment' -PolicyDefinition $Policy -Scope $ResourceGroup.ResourceId
El primer comando obtiene un grupo de recursos denominado ResourceGroup11 mediante el cmdlet Get-AzureRMResourceGroup y lo almacena en la variable $ResourceGroup. El segundo comando obtiene la definición de directiva denominada VirtualMachinePolicy mediante el cmdlet Get-AzureRmPolicyDefinition y la almacena en la variable $Policy. El comando final asigna la directiva en $Policy en el nivel del grupo de recursos identificado por la propiedad ResourceId de $ResourceGroup.
Ejemplo 2: Asignación de directivas en el nivel de grupo de recursos con el objeto de parámetro de directiva
PS C:\> $ResourceGroup = Get-AzureRmResourceGroup -Name 'ResourceGroup11'
PS C:\> $Policy = Get-AzureRmPolicyDefinition -BuiltIn | Where-Object {$_.Properties.DisplayName -eq 'Allowed locations'}
PS C:\> $Locations = Get-AzureRmLocation | where displayname -like '*east*'
PS C:\> $AllowedLocations = @{'listOfAllowedLocations'=($Locations.location)}
PS C:\> New-AzureRmPolicyAssignment -Name 'RestrictLocationPolicyAssignment' -PolicyDefinition $Policy -Scope $ResourceGroup.ResourceId -PolicyParameterObject $AllowedLocations
El primer comando obtiene un grupo de recursos denominado ResourceGroup11 mediante el cmdlet Get-AzureRMResourceGroup. El comando almacena ese objeto en la variable $ResourceGroup. El segundo comando obtiene la definición de directiva integrada para las ubicaciones permitidas mediante el cmdlet Get-AzureRmPolicyDefinition. El comando almacena ese objeto en la variable $Policy. Los comandos tercero y cuarto crean un objeto que contiene todas las regiones de Azure con "east" en el nombre. Los comandos almacenan ese objeto en la variable $AllowedLocations. El comando final asigna la directiva en $Policy en el nivel de un grupo de recursos mediante el objeto de parámetro de directiva en $AllowedLocations. La propiedad ResourceId de $ResourceGroup identifica el grupo de recursos.
Ejemplo 3: Asignación de directivas en el nivel de grupo de recursos con el archivo de parámetros de directiva
Cree un archivo denominado AllowedLocations.json en el directorio de trabajo local con el siguiente contenido.
{
"listOfAllowedLocations": {
"value": [
"westus",
"westeurope",
"japanwest"
]
}
}
PS C:\> $ResourceGroup = Get-AzureRmResourceGroup -Name 'ResourceGroup11'
PS C:\> $Policy = Get-AzureRmPolicyDefinition -BuiltIn | Where-Object {$_.Properties.DisplayName -eq 'Allowed locations'}
PS C:\> New-AzureRmPolicyAssignment -Name 'RestrictLocationPolicyAssignment' -PolicyDefinition $Policy -Scope $ResourceGroup.ResourceId -PolicyParameter .\AllowedLocations.json
El primer comando obtiene un grupo de recursos denominado ResourceGroup11 mediante el cmdlet Get-AzureRMResourceGroup y lo almacena en la variable $ResourceGroup. El segundo comando obtiene la definición de directiva integrada para las ubicaciones permitidas mediante el cmdlet Get-AzureRmPolicyDefinition y la almacena en la variable $Policy. El comando final asigna la directiva en $Policy en el grupo de recursos identificado por la propiedad ResourceId de $ResourceGroup mediante el archivo de parámetros de directiva AllowedLocations.json desde el directorio de trabajo local.
Ejemplo 4: Asignación de directivas con una identidad administrada
PS C:\> $ResourceGroup = Get-AzureRmResourceGroup -Name 'ResourceGroup11'
PS C:\> $Policy = Get-AzureRmPolicyDefinition -Name 'VirtualMachinePolicy'
PS C:\> New-AzureRmPolicyAssignment -Name 'VirtualMachinePolicyAssignment' -PolicyDefinition $Policy -Scope $ResourceGroup.ResourceId -Location 'eastus' -AssignIdentity
El primer comando obtiene un grupo de recursos denominado ResourceGroup11 mediante el cmdlet Get-AzureRMResourceGroup y lo almacena en la variable $ResourceGroup. El segundo comando obtiene la definición de directiva denominada VirtualMachinePolicy mediante el cmdlet Get-AzureRmPolicyDefinition y la almacena en la variable $Policy. El comando final asigna la directiva en $Policy al grupo de recursos. Se crea automáticamente una identidad administrada y se asigna a la asignación de directiva.
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 |
-AssignIdentity
Genere y asigne una identidad de Microsoft Entra para esta asignación de directiva. La identidad se usará al ejecutar implementaciones para las directivas "deployIfNotExists". La ubicación es necesaria al asignar una identidad.
Tipo: | SwitchParameter |
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: | 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 asignación de directivas
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 asignación de directiva.
Tipo: | String |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | True |
Aceptar caracteres comodín: | 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 |
Alias: | infa |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-InformationVariable
Especifica una variable de información.
Tipo: | String |
Alias: | iv |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-Location
Ubicación de la identidad de recurso de la asignación de directiva. Esto es necesario cuando se usa el modificador -AssignIdentity.
Tipo: | String |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | True |
Aceptar caracteres comodín: | False |
-Metadata
Metadatos de la nueva asignación de directiva. Puede ser una ruta de acceso a un nombre de archivo que contenga los metadatos o los metadatos como una cadena.
Tipo: | String |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | True |
Aceptar caracteres comodín: | False |
-Name
Especifica un nombre para la asignación de directiva.
Tipo: | String |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | True |
Aceptar entrada de canalización: | True |
Aceptar caracteres comodín: | False |
-NotScope
Los ámbitos no para la asignación de directivas.
Tipo: | String[] |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | True |
Aceptar caracteres comodín: | False |
-PolicyDefinition
Especifica una directiva, como un objeto PsPolicyDefinition que contiene la regla de directiva.
Tipo: | PSObject |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | True |
Aceptar entrada de canalización: | True |
Aceptar caracteres comodín: | False |
-PolicyParameter
Ruta de acceso del archivo de parámetros de directiva o cadena de parámetro de directiva.
Tipo: | String |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | True |
Aceptar entrada de canalización: | True |
Aceptar caracteres comodín: | False |
-PolicyParameterObject
Objeto de parámetro de directiva.
Tipo: | Hashtable |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | True |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-PolicySetDefinition
Objeto de definición del conjunto de directivas.
Tipo: | PSObject |
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 |
-Scope
Especifica el ámbito en el que se va a asignar la directiva.
Por ejemplo, para asignar una directiva a un grupo de recursos, especifique lo siguiente: nombre del grupo de recursos del identificador/resourcegroups/
de suscripción. /subscriptions/
Tipo: | String |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | True |
Aceptar entrada de canalización: | True |
Aceptar caracteres comodín: | False |
-Sku
Tabla hash que representa las propiedades de SKU. El valor predeterminado es la SKU gratuita con los valores: @{Name = 'A0'; Tier = 'Free'}
. Para usar la SKU estándar, use los valores: @{Name = 'A1'; Tier = 'Standard'}
.
Tipo: | Hashtable |
Alias: | SkuObject |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | True |
Aceptar caracteres comodín: | False |