Set-AzPolicyAssignment
Modifica una asignación de directiva.
Sintaxis
Set-AzPolicyAssignment
-Name <String>
[-Scope <String>]
[-NotScope <String[]>]
[-DisplayName <String>]
[-Description <String>]
[-Metadata <String>]
[-AssignIdentity]
[-Location <String>]
[-EnforcementMode <PolicyAssignmentEnforcementMode>]
[-IdentityType <ManagedIdentityType>]
[-IdentityId <String>]
[-NonComplianceMessage <PsNonComplianceMessage[]>]
[-ApiVersion <String>]
[-Pre]
[-DefaultProfile <IAzureContextContainer>]
[<CommonParameters>]
Set-AzPolicyAssignment
-Name <String>
[-Scope <String>]
[-NotScope <String[]>]
[-DisplayName <String>]
[-Description <String>]
[-Metadata <String>]
-PolicyParameterObject <Hashtable>
[-AssignIdentity]
[-Location <String>]
[-EnforcementMode <PolicyAssignmentEnforcementMode>]
[-IdentityType <ManagedIdentityType>]
[-IdentityId <String>]
[-NonComplianceMessage <PsNonComplianceMessage[]>]
[-ApiVersion <String>]
[-Pre]
[-DefaultProfile <IAzureContextContainer>]
[<CommonParameters>]
Set-AzPolicyAssignment
-Name <String>
[-Scope <String>]
[-NotScope <String[]>]
[-DisplayName <String>]
[-Description <String>]
[-Metadata <String>]
-PolicyParameter <String>
[-AssignIdentity]
[-Location <String>]
[-EnforcementMode <PolicyAssignmentEnforcementMode>]
[-IdentityType <ManagedIdentityType>]
[-IdentityId <String>]
[-NonComplianceMessage <PsNonComplianceMessage[]>]
[-ApiVersion <String>]
[-Pre]
[-DefaultProfile <IAzureContextContainer>]
[<CommonParameters>]
Set-AzPolicyAssignment
[-NotScope <String[]>]
-Id <String>
[-DisplayName <String>]
[-Description <String>]
[-Metadata <String>]
[-AssignIdentity]
[-Location <String>]
[-EnforcementMode <PolicyAssignmentEnforcementMode>]
[-IdentityType <ManagedIdentityType>]
[-IdentityId <String>]
[-NonComplianceMessage <PsNonComplianceMessage[]>]
[-ApiVersion <String>]
[-Pre]
[-DefaultProfile <IAzureContextContainer>]
[<CommonParameters>]
Set-AzPolicyAssignment
[-NotScope <String[]>]
-Id <String>
[-DisplayName <String>]
[-Description <String>]
[-Metadata <String>]
-PolicyParameterObject <Hashtable>
[-AssignIdentity]
[-Location <String>]
[-EnforcementMode <PolicyAssignmentEnforcementMode>]
[-IdentityType <ManagedIdentityType>]
[-IdentityId <String>]
[-NonComplianceMessage <PsNonComplianceMessage[]>]
[-ApiVersion <String>]
[-Pre]
[-DefaultProfile <IAzureContextContainer>]
[<CommonParameters>]
Set-AzPolicyAssignment
[-NotScope <String[]>]
-Id <String>
[-DisplayName <String>]
[-Description <String>]
[-Metadata <String>]
-PolicyParameter <String>
[-AssignIdentity]
[-Location <String>]
[-EnforcementMode <PolicyAssignmentEnforcementMode>]
[-IdentityType <ManagedIdentityType>]
[-IdentityId <String>]
[-NonComplianceMessage <PsNonComplianceMessage[]>]
[-ApiVersion <String>]
[-Pre]
[-DefaultProfile <IAzureContextContainer>]
[<CommonParameters>]
Set-AzPolicyAssignment
[-NotScope <String[]>]
[-DisplayName <String>]
[-Description <String>]
[-Metadata <String>]
[-AssignIdentity]
[-Location <String>]
[-EnforcementMode <PolicyAssignmentEnforcementMode>]
[-IdentityType <ManagedIdentityType>]
[-IdentityId <String>]
-InputObject <PsPolicyAssignment>
[-NonComplianceMessage <PsNonComplianceMessage[]>]
[-ApiVersion <String>]
[-Pre]
[-DefaultProfile <IAzureContextContainer>]
[<CommonParameters>]
Description
El cmdlet Set-AzPolicyAssignment modifica una asignación de directiva. Especifique una asignación por identificador o por nombre y ámbito.
Ejemplos
Ejemplo 1: Actualización del nombre para mostrar
$ResourceGroup = Get-AzResourceGroup -Name 'ResourceGroup11'
$PolicyAssignment = Get-AzPolicyAssignment -Name 'PolicyAssignment' -Scope $ResourceGroup.ResourceId
Set-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'
Set-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'
Set-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'
Set-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
Cree un archivo denominado AllowedLocations.json en el directorio de trabajo local con el siguiente contenido.
{
"listOfAllowedLocations": {
"value": [
"uksouth",
"ukwest",
"francecentral",
"francesouth"
]
}
}
Set-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
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.
Ejemplo 7: Actualización de mensajes de no cumplimiento
$PolicyAssignment = Get-AzPolicyAssignment -Name 'VirtualMachinePolicy'
Set-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.
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 administrada asignada por el sistema para esta asignación de directiva. La identidad se usará al ejecutar implementaciones para las directivas "deployIfNotExists" y "modify". 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: | AzContext, 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 nuevo 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 |
-EnforcementMode
Modo de cumplimiento para la asignación de directivas. Actualmente, los valores válidos son Default, DoNotEnforce.
Tipo: | Nullable<T>[PolicyAssignmentEnforcementMode] |
Valores aceptados: | Default, DoNotEnforce |
Posición: | Named |
Valor predeterminado: | Default |
Requerido: | False |
Aceptar entrada de canalización: | True |
Aceptar caracteres comodín: | False |
-Id
Especifica el identificador de recurso completo para la asignación de directiva que modifica este cmdlet.
Tipo: | String |
Alias: | ResourceId |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | True |
Aceptar entrada de canalización: | True |
Aceptar caracteres comodín: | False |
-IdentityId
Especifica el identificador de la identidad administrada asignada por el usuario que se va a asignar a esta asignación de directiva. Este valor es necesario si el valor "UserAssigned" se pasa al parámetro -IdentityType.
Tipo: | String |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-IdentityType
Especifica el tipo de identidad administrada que se va a asignar a esta asignación de directiva. Si se proporciona el valor "SystemAssigned", se genera una identidad administrada asignada por el sistema y se asigna a esta asignación de directiva. Si se proporciona el valor "UserAssigned", la identidad asignada por el usuario que se pasa a través de su identificador al parámetro -IdentityId se asigna a esta asignación de directiva. La identidad se usará al ejecutar implementaciones para las directivas "deployIfNotExists" y "modify". La ubicación es necesaria al asignar una identidad. Los permisos se deben conceder a la identidad mediante New-AzRoleAssignment después de crear la identidad asignada por el sistema. El parámetro IdentityType tendrá prioridad si se usan el parámetro AssignIdentity y el parámetro IdentityType.
Tipo: | Nullable<T>[ManagedIdentityType] |
Valores aceptados: | SystemAssigned, UserAssigned, None |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-InputObject
Objeto de asignación de directiva para actualizar el resultado de otro cmdlet.
Tipo: | PsPolicyAssignment |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | True |
Aceptar entrada de canalización: | True |
Aceptar caracteres comodín: | False |
-Location
Ubicación de la identidad de recurso de la asignación de directiva. Esto es necesario cuando se proporciona el valor -IdentityType.
Tipo: | String |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | True |
Aceptar caracteres comodín: | False |
-Metadata
Metadatos actualizados para la 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 el nombre de la asignación de directiva que modifica este cmdlet.
Tipo: | String |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | True |
Aceptar entrada de canalización: | True |
Aceptar caracteres comodín: | False |
-NonComplianceMessage
Los mensajes de no cumplimiento que describen por qué un recurso no es compatible con la directiva.
Tipo: | PsNonComplianceMessage[] |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | True |
Aceptar caracteres comodín: | False |
-NotScope
La asignación de directiva no tiene ámbitos.
Tipo: | String[] |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | True |
Aceptar caracteres comodín: | False |
-PolicyParameter
La nueva ruta de acceso de archivo o cadena de parámetros de directiva 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 |
-PolicyParameterObject
Nuevo objeto de parámetros de directiva para la asignación de directiva.
Tipo: | Hashtable |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | True |
Aceptar entrada de canalización: | False |
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 aplica la directiva.
Tipo: | String |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | True |
Aceptar caracteres comodín: | False |
Entradas
String[]
Nullable<T>[[Microsoft.Azure.Commands.ResourceManager.Cmdlets.Entities.Policy.PolicyAssignmentEnforcementMode, Microsoft.Azure.PowerShell.Cmdlets.ResourceManager, Version=3.5.0.0, Culture=neutral, PublicKeyToken=null]]