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
PSObject[]
String[]
Salidas
Notas
ALIAS
Set-AzPolicyAssignment