Compartir a través de


Update-AzPolicyAssignment

Esta operación actualiza una asignación de directiva con el ámbito y el nombre especificados. Las asignaciones de directiva se aplican a todos los recursos contenidos dentro de su ámbito. Por ejemplo, al asignar una directiva en el ámbito del grupo de recursos, esa directiva se aplica a todos los recursos del grupo.

Sintaxis

Update-AzPolicyAssignment
      -Name <String>
      [-Scope <String>]
      [-NotScope <String[]>]
      [-DisplayName <String>]
      [-Description <String>]
      [-Metadata <String>]
      [-Location <String>]
      [-EnforcementMode <String>]
      [-IdentityType <String>]
      [-IdentityId <String>]
      [-NonComplianceMessage <PSObject[]>]
      [-Override <IOverride[]>]
      [-ResourceSelector <IResourceSelector[]>]
      [-BackwardCompatible]
      [-DefaultProfile <PSObject>]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Update-AzPolicyAssignment
      -Name <String>
      [-Scope <String>]
      [-NotScope <String[]>]
      [-DisplayName <String>]
      [-Description <String>]
      [-Metadata <String>]
      [-Location <String>]
      [-EnforcementMode <String>]
      [-IdentityType <String>]
      [-IdentityId <String>]
      [-NonComplianceMessage <PSObject[]>]
      [-Override <IOverride[]>]
      [-ResourceSelector <IResourceSelector[]>]
      [-BackwardCompatible]
      -PolicyParameterObject <PSObject>
      [-DefaultProfile <PSObject>]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Update-AzPolicyAssignment
      -Name <String>
      [-Scope <String>]
      [-NotScope <String[]>]
      [-DisplayName <String>]
      [-Description <String>]
      [-Metadata <String>]
      [-Location <String>]
      [-EnforcementMode <String>]
      [-IdentityType <String>]
      [-IdentityId <String>]
      [-NonComplianceMessage <PSObject[]>]
      [-Override <IOverride[]>]
      [-ResourceSelector <IResourceSelector[]>]
      [-BackwardCompatible]
      -PolicyParameter <String>
      [-DefaultProfile <PSObject>]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Update-AzPolicyAssignment
      -Id <String>
      [-NotScope <String[]>]
      [-DisplayName <String>]
      [-Description <String>]
      [-Metadata <String>]
      [-Location <String>]
      [-EnforcementMode <String>]
      [-IdentityType <String>]
      [-IdentityId <String>]
      [-NonComplianceMessage <PSObject[]>]
      [-Override <IOverride[]>]
      [-ResourceSelector <IResourceSelector[]>]
      [-BackwardCompatible]
      [-DefaultProfile <PSObject>]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Update-AzPolicyAssignment
      -Id <String>
      [-NotScope <String[]>]
      [-DisplayName <String>]
      [-Description <String>]
      [-Metadata <String>]
      [-Location <String>]
      [-EnforcementMode <String>]
      [-IdentityType <String>]
      [-IdentityId <String>]
      [-NonComplianceMessage <PSObject[]>]
      [-Override <IOverride[]>]
      [-ResourceSelector <IResourceSelector[]>]
      [-BackwardCompatible]
      -PolicyParameterObject <PSObject>
      [-DefaultProfile <PSObject>]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Update-AzPolicyAssignment
      -Id <String>
      [-NotScope <String[]>]
      [-DisplayName <String>]
      [-Description <String>]
      [-Metadata <String>]
      [-Location <String>]
      [-EnforcementMode <String>]
      [-IdentityType <String>]
      [-IdentityId <String>]
      [-NonComplianceMessage <PSObject[]>]
      [-Override <IOverride[]>]
      [-ResourceSelector <IResourceSelector[]>]
      [-BackwardCompatible]
      -PolicyParameter <String>
      [-DefaultProfile <PSObject>]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Update-AzPolicyAssignment
      [-NotScope <String[]>]
      [-DisplayName <String>]
      [-Description <String>]
      [-Metadata <String>]
      [-Location <String>]
      [-EnforcementMode <String>]
      [-IdentityType <String>]
      [-IdentityId <String>]
      [-NonComplianceMessage <PSObject[]>]
      [-Override <IOverride[]>]
      [-ResourceSelector <IResourceSelector[]>]
      [-BackwardCompatible]
      -InputObject <IPolicyAssignment>
      [-DefaultProfile <PSObject>]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]

Description

Esta operación actualiza una asignación de directiva con el ámbito y el nombre especificados. Las asignaciones de directiva se aplican a todos los recursos contenidos dentro de su ámbito. Por ejemplo, al asignar una directiva en el ámbito del grupo de recursos, esa directiva se aplica a todos los recursos del grupo.

Ejemplos

Ejemplo 1: Actualización del nombre para mostrar

$ResourceGroup = Get-AzResourceGroup -Name 'ResourceGroup11'
$PolicyAssignment = Get-AzPolicyAssignment -Name 'PolicyAssignment' -Scope $ResourceGroup.ResourceId
Update-AzPolicyAssignment -Id $PolicyAssignment.ResourceId -DisplayName 'Do not allow VM creation'

El primer comando obtiene un grupo de recursos denominado ResourceGroup11 mediante el cmdlet Get-AzResourceGroup. El comando almacena ese objeto en la variable $ResourceGroup. El segundo comando obtiene la asignación de directiva denominada PolicyAssignment mediante el cmdlet Get-AzPolicyAssignment. El comando almacena ese objeto en la variable $PolicyAssignment. El comando final actualiza el nombre para mostrar en la asignación de directiva en el grupo de recursos identificado por la propiedad ResourceId de $ResourceGroup.

Ejemplo 2: Adición de una identidad administrada asignada por el sistema a la asignación de directivas

$PolicyAssignment = Get-AzPolicyAssignment -Name 'PolicyAssignment'
Update-AzPolicyAssignment -Id $PolicyAssignment.ResourceId -IdentityType 'SystemAssigned' -Location 'westus'

El primer comando obtiene la asignación de directiva denominada PolicyAssignment de la suscripción actual mediante el cmdlet Get-AzPolicyAssignment. El comando almacena ese objeto en la variable $PolicyAssignment. El comando final asigna una identidad administrada asignada por el sistema a la asignación de directiva.

Ejemplo 3: Adición de una identidad administrada asignada por el usuario a la asignación de directiva

$PolicyAssignment = Get-AzPolicyAssignment -Name 'PolicyAssignment'
$UserAssignedIdentity = Get-AzUserAssignedIdentity -ResourceGroupName 'ResourceGroup1' -Name 'UserAssignedIdentity1'
 Update-AzPolicyAssignment -Id $PolicyAssignment.ResourceId -IdentityType 'UserAssigned' -Location 'westus' -IdentityId $UserAssignedIdentity.Id

El primer comando obtiene la asignación de directiva denominada PolicyAssignment de la suscripción actual mediante el cmdlet Get-AzPolicyAssignment. El comando almacena ese objeto en la variable $PolicyAssignment. El segundo comando obtiene la identidad administrada asignada por el usuario denominada UserAssignedIdentity1 mediante el cmdlet Get-AzUserAssignedIdentity y la almacena en la variable $UserAssignedIdentity. El comando final asigna la identidad administrada asignada por el usuario identificada por la propiedad Id de $UserAssignedIdentity a la asignación de directiva.

Ejemplo 4: Actualización de parámetros de asignación de directivas con el nuevo objeto de parámetro de directiva

$Locations = Get-AzLocation | Where-Object {($_.displayname -like 'france*') -or ($_.displayname -like 'uk*')}
$AllowedLocations = @{'listOfAllowedLocations'=($Locations.location)}
$PolicyAssignment = Get-AzPolicyAssignment -Name 'PolicyAssignment'
Update-AzPolicyAssignment -Id $PolicyAssignment.ResourceId -PolicyParameterObject $AllowedLocations

Los comandos primero y segundo crean un objeto que contiene todas las regiones de Azure cuyos nombres comienzan por "france" o "uk". El segundo comando almacena ese objeto en la variable $AllowedLocations. El tercer comando obtiene la asignación de directiva denominada "PolicyAssignment" El comando almacena ese objeto en la variable $PolicyAssignment. El comando final actualiza los valores de parámetro en la asignación de directiva denominada PolicyAssignment.

Ejemplo 5: Actualización de parámetros de asignación de directivas con el archivo de parámetros de directiva

{
  "listOfAllowedLocations":  {
    "value": [
      "uksouth",
      "ukwest",
      "francecentral",
      "francesouth"
    ]
  }
}

Update-AzPolicyAssignment -Name 'PolicyAssignment' -PolicyParameter .\AllowedLocations.json

El comando actualiza la asignación de directiva denominada "PolicyAssignment" mediante el archivo de parámetros de directiva AllowedLocations.json desde el directorio de trabajo local.

Ejemplo 6: Actualizar un enforcementMode

$ResourceGroup = Get-AzResourceGroup -Name 'ResourceGroup11'
$PolicyAssignment = Get-AzPolicyAssignment -Name 'PolicyAssignment' -Scope $ResourceGroup.ResourceId
Update-AzPolicyAssignment -Id $PolicyAssignment.ResourceId -EnforcementMode Default

El primer comando obtiene un grupo de recursos denominado ResourceGroup11 mediante el cmdlet Get-AzResourceGroup. El comando almacena ese objeto en la variable $ResourceGroup. El segundo comando obtiene la asignación de directiva denominada PolicyAssignment mediante el cmdlet Get-AzPolicyAssignment. El comando almacena ese objeto en la variable $PolicyAssignment. El comando final actualiza la propiedad enforcementMode en la asignación de directiva en el grupo de recursos identificado por la propiedad ResourceId de $ResourceGroup.

Ejemplo 7: Actualización de mensajes de no cumplimiento

$PolicyAssignment = Get-AzPolicyAssignment -Name 'VirtualMachinePolicy'
Update-AzPolicyAssignment -Id $PolicyAssignment.ResourceId -NonComplianceMessage @{Message="All resources must follow resource naming guidelines."}

El primer comando obtiene la asignación de directiva denominada VirtualMachinePolicy mediante el cmdlet Get-AzPolicyAssignment y la almacena en la variable $PolicyAssignment. El comando final actualiza los mensajes de no cumplimiento en la asignación de directiva con un nuevo mensaje que se mostrará si la directiva deniega un recurso.

Ejemplo 8: Actualización del selector de recursos

$ResourceSelector = @{Name = "MyLocationSelector"; Selector = @(@{Kind = "resourceLocation"; NotIn = @("eastus", "eastus2")})}
Update-AzPolicyAssignment -Name 'VirtualMachinePolicyAssignment' -ResourceSelector $ResourceSelector

El primer comando crea un objeto selector de recursos que se usará para especificar la asignación solo debe aplicarse a los recursos no ubicados en este de EE. UU. o Este de EE. UU. 2 y los almacena en la variable $ResourceSelector. El comando final actualiza la asignación de directiva denominada VirtualMachinePolicyAssignment con el selector de recursos especificado por $ResourceSelector.

Ejemplo 9: Invalidación de actualización

$Selector = @{Kind = "resourceLocation"; NotIn = @("eastus", "eastus2")}
$Override = @(@{Kind = "policyEffect"; Value = 'Disabled'; Selector = @($Selector)})
Update-AzPolicyAssignment -Name 'VirtualMachinePolicyAssignment' -Override $Override

El primer comando crea un selector de ubicación que especifica ubicaciones distintas de Este de EE. UU. o Este de EE. UU. 2 y almacena en la variable $Selector. El segundo comando crea un objeto override que se usará para especificar que la definición asignada debe tener un efecto Disabled en las ubicaciones identificadas por $Selector. El comando final actualiza la asignación de directiva denominada VirtualMachinePolicyAssignment con la invalidación especificada por $Override.

Ejemplo 10: [Backcompat] Actualizar un enforcementMode

$ResourceGroup = Get-AzResourceGroup -Name 'ResourceGroup11'
$PolicyAssignment = Get-AzPolicyAssignment -Name 'PolicyAssignment' -Scope $ResourceGroup.ResourceId
Set-AzPolicyAssignment -Id $PolicyAssignment.ResourceId -EnforcementMode Default

El primer comando obtiene un grupo de recursos denominado ResourceGroup11 mediante el cmdlet Get-AzResourceGroup. El comando almacena ese objeto en la variable $ResourceGroup. El segundo comando obtiene la asignación de directiva denominada PolicyAssignment mediante el cmdlet Get-AzPolicyAssignment. El comando almacena ese objeto en la variable $PolicyAssignment. El comando final actualiza la propiedad enforcementMode en la asignación de directiva en el grupo de recursos identificado por la propiedad ResourceId de $ResourceGroup.

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 solicita su 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

Este mensaje formará parte de la respuesta en caso de infracció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 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

-EnforcementMode

Modo de cumplimiento de asignación de directivas. Los valores posibles son Default y DoNotEnforce.

Tipo:String
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:True
Aceptar caracteres comodín:False

-Id

Identificador de la asignación de directiva que se va a actualizar. Use el formato '{scope}/providers/Microsoft.Authorization/policyAssignments/{policyAssignmentName}'.

Tipo:String
Alias:ResourceId, PolicyAssignmentId
Posición:Named
Valor predeterminado:None
Requerido:True
Aceptar entrada de canalización:True
Aceptar caracteres comodín:False

-IdentityId

Identidad de usuario asociada a la directiva. Las referencias de clave de diccionario de identidad de usuario serán identificadores de recursos de ARM con el formato: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'.

Tipo:String
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-IdentityType

Tipo de identidad. Este es el único campo obligatorio al agregar una identidad asignada por el sistema o el usuario a un recurso.

Tipo:String
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-InputObject

Tipo:IPolicyAssignment
Posición:Named
Valor predeterminado:None
Requerido:True
Aceptar entrada de canalización:True
Aceptar caracteres comodín:False

-Location

Ubicación de la asignación de directiva. Solo es necesario al usar la identidad administrada.

Tipo:String
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:True
Aceptar caracteres comodín:False

-Metadata

Metadatos de asignació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

-Name

Nombre de la asignación de directiva.

Tipo:String
Alias:PolicyAssignmentName
Posición:Named
Valor predeterminado:None
Requerido:True
Aceptar entrada de canalización:True
Aceptar caracteres comodín:False

-NonComplianceMessage

Los mensajes que describen por qué un recurso no es compatible con la directiva. Para construir, vea la sección NOTES para las propiedades NONCOMPLIANCEMESSAGE y crear una tabla hash.

Tipo:PSObject[]
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:True
Aceptar caracteres comodín:False

-NotScope

Ámbitos excluidos de la directiva.

Tipo:String[]
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:True
Aceptar caracteres comodín:False

-Override

Invalidación del valor de la propiedad de directiva.

Tipo:IOverride[]
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-PolicyParameter

Valores de parámetro para la regla de directiva asignada. Las claves son los nombres de parámetro.

Tipo:String
Posición:Named
Valor predeterminado:None
Requerido:True
Aceptar entrada de canalización:True
Aceptar caracteres comodín:False

-PolicyParameterObject

Valores de parámetro para la regla de directiva asignada. Las claves son los nombres de parámetro.

Tipo:PSObject
Posición:Named
Valor predeterminado:None
Requerido:True
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-ResourceSelector

Lista del selector de recursos para filtrar las directivas por propiedades de recursos.

Tipo:IResourceSelector[]
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-Scope

Ámbito de la asignación de directiva. Los ámbitos válidos son: grupo de administración (formato: '/providers/Microsoft.Management/managementGroups/{managementGroup}'), suscripción (formato: '/subscriptions/{subscriptionId}'), grupo de recursos (formato: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}', o recurso (formato: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}'

Tipo:String
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:True
Aceptar caracteres comodín:False

-WhatIf

Muestra lo que sucedería si se ejecutara el cmdlet. 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

Entradas

IPolicyAssignment

PSObject[]

String

String[]

Salidas

IPolicyAssignment

Notas

ALIAS

Set-AzPolicyAssignment