Condividi tramite


Update-AzPolicyAssignment

Questa operazione aggiorna un'assegnazione di criteri con l'ambito e il nome specificati. Le assegnazioni di criteri si applicano a tutte le risorse contenute all'interno dell'ambito. Ad esempio, quando si assegna un criterio nell'ambito del gruppo di risorse, tale criterio si applica a tutte le risorse del gruppo.

Sintassi

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>]

Descrizione

Questa operazione aggiorna un'assegnazione di criteri con l'ambito e il nome specificati. Le assegnazioni di criteri si applicano a tutte le risorse contenute all'interno dell'ambito. Ad esempio, quando si assegna un criterio nell'ambito del gruppo di risorse, tale criterio si applica a tutte le risorse del gruppo.

Esempio

Esempio 1: Aggiornare il nome visualizzato

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

Il primo comando ottiene un gruppo di risorse denominato ResourceGroup11 usando il cmdlet Get-AzResourceGroup. Il comando archivia l'oggetto nella variabile $ResourceGroup. Il secondo comando ottiene l'assegnazione di criteri denominata PolicyAssignment usando il cmdlet Get-AzPolicyAssignment. Il comando archivia l'oggetto nella variabile $PolicyAssignment. Il comando finale aggiorna il nome visualizzato nell'assegnazione dei criteri nel gruppo di risorse identificato dalla proprietà ResourceId di $ResourceGroup.

Esempio 2: Aggiungere un'identità gestita assegnata dal sistema all'assegnazione dei criteri

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

Il primo comando ottiene l'assegnazione di criteri denominata PolicyAssignment dalla sottoscrizione corrente usando il cmdlet Get-AzPolicyAssignment. Il comando archivia l'oggetto nella variabile $PolicyAssignment. Il comando finale assegna un'identità gestita assegnata dal sistema all'assegnazione dei criteri.

Esempio 3: Aggiungere un'identità gestita assegnata dall'utente all'assegnazione dei criteri

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

Il primo comando ottiene l'assegnazione di criteri denominata PolicyAssignment dalla sottoscrizione corrente usando il cmdlet Get-AzPolicyAssignment. Il comando archivia l'oggetto nella variabile $PolicyAssignment. Il secondo comando ottiene l'identità gestita assegnata dall'utente denominata UserAssignedIdentity1 usando il cmdlet Get-AzUserAssignedIdentity e lo archivia nella variabile $UserAssignedIdentity. Il comando finale assegna all'assegnazione dei criteri l'identità gestita assegnata dall'utente identificata dalla proprietà Id di $UserAssignedIdentity.

Esempio 4: Aggiornare i parametri di assegnazione dei criteri con il nuovo oggetto parametro dei criteri

$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

Il primo e il secondo comando creano un oggetto contenente tutte le aree di Azure i cui nomi iniziano con "france" o "uk". Il secondo comando archivia l'oggetto nella variabile $AllowedLocations. Il terzo comando ottiene l'assegnazione di criteri denominata "PolicyAssignment" Il comando archivia tale oggetto nella variabile $PolicyAssignment. Il comando finale aggiorna i valori dei parametri nell'assegnazione di criteri denominata PolicyAssignment.

Esempio 5: Aggiornare i parametri di assegnazione dei criteri con il file dei parametri dei criteri

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

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

Il comando aggiorna l'assegnazione dei criteri denominata "PolicyAssignment" usando il file dei parametri dei criteri AllowedLocations.json dalla directory di lavoro locale.

Esempio 6: Aggiornare un enforcementMode

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

Il primo comando ottiene un gruppo di risorse denominato ResourceGroup11 usando il cmdlet Get-AzResourceGroup. Il comando archivia l'oggetto nella variabile $ResourceGroup. Il secondo comando ottiene l'assegnazione di criteri denominata PolicyAssignment usando il cmdlet Get-AzPolicyAssignment. Il comando archivia l'oggetto nella variabile $PolicyAssignment. Il comando finale aggiorna la proprietà enforcementMode nell'assegnazione di criteri nel gruppo di risorse identificato dalla proprietà ResourceId di $ResourceGroup.

Esempio 7: Aggiornare i messaggi di non conformità

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

Il primo comando ottiene l'assegnazione di criteri denominata VirtualMachinePolicy usando il cmdlet Get-AzPolicyAssignment e la archivia nella variabile $PolicyAssignment. Il comando finale aggiorna i messaggi di non conformità nell'assegnazione dei criteri con un nuovo messaggio che verrà visualizzato se una risorsa viene negata dai criteri.

Esempio 8: Aggiornare il selettore di risorse

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

Il primo comando crea un oggetto selettore di risorse che verrà usato per specificare l'assegnazione deve essere applicato solo alle risorse che non si trovano negli Stati Uniti orientali o stati Uniti orientali 2 e la archivia nella variabile $ResourceSelector. Il comando finale aggiorna l'assegnazione dei criteri denominata VirtualMachinePolicyAssignment con il selettore di risorse specificato da $ResourceSelector.

Esempio 9: Override dell'aggiornamento

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

Il primo comando crea un selettore di località che specifica le località diverse da Stati Uniti orientali o Stati Uniti orientali 2 e archivia nella variabile $Selector. Il secondo comando crea un oggetto override che verrà usato per specificare che la definizione assegnata deve avere un effetto Disabled nei percorsi identificati da $Selector. Il comando finale aggiorna l'assegnazione dei criteri denominata VirtualMachinePolicyAssignment con l'override specificato da $Override.

Esempio 10: [Backcompat] Aggiornare un enforcementMode

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

Il primo comando ottiene un gruppo di risorse denominato ResourceGroup11 usando il cmdlet Get-AzResourceGroup. Il comando archivia l'oggetto nella variabile $ResourceGroup. Il secondo comando ottiene l'assegnazione di criteri denominata PolicyAssignment usando il cmdlet Get-AzPolicyAssignment. Il comando archivia l'oggetto nella variabile $PolicyAssignment. Il comando finale aggiorna la proprietà enforcementMode nell'assegnazione di criteri nel gruppo di risorse identificato dalla proprietà ResourceId di $ResourceGroup.

Parametri

-BackwardCompatible

Fa sì che il cmdlet restituisca artefatti usando il formato legacy inserendo proprietà specifiche dei criteri in un oggetto contenitore delle proprietà.

Tipo:SwitchParameter
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-Confirm

Richiede conferma prima di eseguire il cmdlet.

Tipo:SwitchParameter
Alias:cf
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-DefaultProfile

Il parametro DefaultProfile non è funzionale. Usare il parametro SubscriptionId quando disponibile se si esegue il cmdlet su una sottoscrizione diversa.

Tipo:PSObject
Alias:AzureRMContext, AzureCredential
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-Description

Questo messaggio farà parte della risposta in caso di violazione dei criteri.

Tipo:String
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:True
Accettare caratteri jolly:False

-DisplayName

Nome visualizzato dell'assegnazione dei criteri.

Tipo:String
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:True
Accettare caratteri jolly:False

-EnforcementMode

Modalità di imposizione dell'assegnazione dei criteri. I valori possibili sono Default e DoNotEnforce.

Tipo:String
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:True
Accettare caratteri jolly:False

-Id

ID dell'assegnazione dei criteri da aggiornare. Usare il formato '{scope}/providers/Microsoft.Authorization/policyAssignments/{policyAssignmentName}'.

Tipo:String
Alias:ResourceId, PolicyAssignmentId
Posizione:Named
Valore predefinito:None
Necessario:True
Accettare l'input della pipeline:True
Accettare caratteri jolly:False

-IdentityId

Identità utente associata al criterio. I riferimenti alla chiave del dizionario delle identità utente saranno id risorsa ARM nel formato :'/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'.

Tipo:String
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-IdentityType

Tipo di identità. Questo è l'unico campo obbligatorio quando si aggiunge un'identità assegnata dal sistema o dall'utente a una risorsa.

Tipo:String
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-InputObject

Tipo:IPolicyAssignment
Posizione:Named
Valore predefinito:None
Necessario:True
Accettare l'input della pipeline:True
Accettare caratteri jolly:False

-Location

Posizione dell'assegnazione dei criteri. Obbligatorio solo quando si usa l'identità gestita.

Tipo:String
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:True
Accettare caratteri jolly:False

-Metadata

Metadati dell'assegnazione dei criteri. I metadati sono un oggetto aperto terminato ed è in genere una raccolta di coppie chiave-valore.

Tipo:String
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:True
Accettare caratteri jolly:False

-Name

Nome dell'assegnazione dei criteri.

Tipo:String
Alias:PolicyAssignmentName
Posizione:Named
Valore predefinito:None
Necessario:True
Accettare l'input della pipeline:True
Accettare caratteri jolly:False

-NonComplianceMessage

Messaggi che descrivono il motivo per cui una risorsa non è conforme ai criteri. Per costruire, vedere la sezione NOTES per le proprietà NONCOMPLIANCEMESSAGE e creare una tabella hash.

Tipo:PSObject[]
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:True
Accettare caratteri jolly:False

-NotScope

Ambiti esclusi dai criteri.

Tipo:String[]
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:True
Accettare caratteri jolly:False

-Override

Override del valore della proprietà dei criteri.

Tipo:IOverride[]
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-PolicyParameter

Valori dei parametri per la regola dei criteri assegnata. Le chiavi sono i nomi dei parametri.

Tipo:String
Posizione:Named
Valore predefinito:None
Necessario:True
Accettare l'input della pipeline:True
Accettare caratteri jolly:False

-PolicyParameterObject

Valori dei parametri per la regola dei criteri assegnata. Le chiavi sono i nomi dei parametri.

Tipo:PSObject
Posizione:Named
Valore predefinito:None
Necessario:True
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-ResourceSelector

Elenco di selettore di risorse per filtrare i criteri in base alle proprietà delle risorse.

Tipo:IResourceSelector[]
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-Scope

Ambito dell'assegnazione dei criteri. Gli ambiti validi sono: gruppo di gestione (formato: '/providers/Microsoft.Management/managementGroups/{managementGroup}'), sottoscrizione (formato: '/subscriptions/{subscriptionId}'), gruppo di risorse (formato: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}', o risorsa (formato: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}'

Tipo:String
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:True
Accettare caratteri jolly:False

-WhatIf

Mostra gli effetti dell'esecuzione del cmdlet. Il cmdlet non viene eseguito.

Tipo:SwitchParameter
Alias:wi
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

Input

IPolicyAssignment

PSObject[]

String

String[]

Output

IPolicyAssignment

Note

ALIAS

Set-AzPolicyAssignment