Update-AzPolicyAssignment

Cette opération met à jour une attribution de stratégie avec l’étendue et le nom donnés. Les affectations de stratégie s’appliquent à toutes les ressources contenues dans leur étendue. Par exemple, lorsque vous affectez une stratégie à l’étendue du groupe de ressources, cette stratégie s’applique à toutes les ressources du groupe.

Syntaxe

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

Cette opération met à jour une attribution de stratégie avec l’étendue et le nom donnés. Les affectations de stratégie s’appliquent à toutes les ressources contenues dans leur étendue. Par exemple, lorsque vous affectez une stratégie à l’étendue du groupe de ressources, cette stratégie s’applique à toutes les ressources du groupe.

Exemples

Exemple 1 : Mettre à jour le nom complet

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

La première commande obtient un groupe de ressources nommé ResourceGroup11 à l’aide de l’applet de commande Get-AzResourceGroup. La commande stocke cet objet dans la variable $ResourceGroup. La deuxième commande obtient l’attribution de stratégie nommée PolicyAssignment à l’aide de l’applet de commande Get-AzPolicyAssignment. La commande stocke cet objet dans la variable $PolicyAssignment. La commande finale met à jour le nom complet sur l’affectation de stratégie sur le groupe de ressources identifié par la propriété ResourceId de $ResourceGroup.

Exemple 2 : Ajouter une identité managée affectée par le système à l’attribution de stratégie

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

La première commande obtient l’attribution de stratégie nommée PolicyAssignment à partir de l’abonnement actuel à l’aide de l’applet de commande Get-AzPolicyAssignment. La commande stocke cet objet dans la variable $PolicyAssignment. La commande finale affecte une identité managée affectée par le système à l’attribution de stratégie.

Exemple 3 : Ajouter une identité managée affectée par l’utilisateur à l’attribution de stratégie

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

La première commande obtient l’attribution de stratégie nommée PolicyAssignment à partir de l’abonnement actuel à l’aide de l’applet de commande Get-AzPolicyAssignment. La commande stocke cet objet dans la variable $PolicyAssignment. La deuxième commande obtient l’identité managée affectée par l’utilisateur nommée UserAssignedIdentity1 à l’aide de l’applet de commande Get-AzUserAssignedIdentity et la stocke dans la variable $UserAssignedIdentity. La commande finale affecte l’identité managée affectée par l’utilisateur identifiée par la propriété ID de $UserAssignedIdentity à l’attribution de stratégie.

Exemple 4 : Mettre à jour les paramètres d’attribution de stratégie avec un nouvel objet de paramètre de stratégie

$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

Les premières et deuxième commandes créent un objet contenant toutes les régions Azure dont les noms commencent par « france » ou « uk ». La deuxième commande stocke cet objet dans la variable $AllowedLocations. La troisième commande obtient l’attribution de stratégie nommée « PolicyAssignment » La commande stocke cet objet dans la variable $PolicyAssignment. La commande finale met à jour les valeurs des paramètres sur l’affectation de stratégie nommée PolicyAssignment.

Exemple 5 : Mettre à jour les paramètres d’attribution de stratégie avec le fichier de paramètres de stratégie

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

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

La commande met à jour l’attribution de stratégie nommée « PolicyAssignment » à l’aide du fichier de paramètres de stratégie AllowedLocations.json à partir du répertoire de travail local.

Exemple 6 : Mettre à jour un modèle d’application

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

La première commande obtient un groupe de ressources nommé ResourceGroup11 à l’aide de l’applet de commande Get-AzResourceGroup. La commande stocke cet objet dans la variable $ResourceGroup. La deuxième commande obtient l’attribution de stratégie nommée PolicyAssignment à l’aide de l’applet de commande Get-AzPolicyAssignment. La commande stocke cet objet dans la variable $PolicyAssignment. La commande finale met à jour la propriété enforcementMode sur l’affectation de stratégie sur le groupe de ressources identifié par la propriété ResourceId de $ResourceGroup.

Exemple 7 : Mettre à jour les messages de non-conformité

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

La première commande obtient l’attribution de stratégie nommée VirtualMachinePolicy à l’aide de l’applet de commande Get-AzPolicyAssignment et la stocke dans la variable $PolicyAssignment. La commande finale met à jour les messages de non-conformité sur l’attribution de stratégie avec un nouveau message qui s’affiche si une ressource est refusée par la stratégie.

Exemple 8 : Mettre à jour le sélecteur de ressources

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

La première commande crée un objet sélecteur de ressources qui sera utilisé pour spécifier l’affectation ne doit s’appliquer qu’aux ressources non situées dans la région USA Est ou USA Est 2 et les stocke dans la variable $ResourceSelector. La commande finale met à jour l’attribution de stratégie nommée VirtualMachinePolicyAssignment avec le sélecteur de ressources spécifié par $ResourceSelector.

Exemple 9 : Remplacement de mise à jour

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

La première commande crée un sélecteur d’emplacement spécifiant des emplacements autres que usa Est ou USA Est 2 et stocke dans la variable $Selector. La deuxième commande crée un objet de remplacement qui sera utilisé pour spécifier que la définition affectée doit avoir un effet Désactivé dans les emplacements identifiés par $Selector. La commande finale met à jour l’attribution de stratégie nommée VirtualMachinePolicyAssignment avec le remplacement spécifié par $Override.

Exemple 10 : [Backcompat] Update an enforcementMode

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

La première commande obtient un groupe de ressources nommé ResourceGroup11 à l’aide de l’applet de commande Get-AzResourceGroup. La commande stocke cet objet dans la variable $ResourceGroup. La deuxième commande obtient l’attribution de stratégie nommée PolicyAssignment à l’aide de l’applet de commande Get-AzPolicyAssignment. La commande stocke cet objet dans la variable $PolicyAssignment. La commande finale met à jour la propriété enforcementMode sur l’affectation de stratégie sur le groupe de ressources identifié par la propriété ResourceId de $ResourceGroup.

Paramètres

-BackwardCompatible

Provoque le retour d’artefacts à l’aide d’un format hérité plaçant des propriétés propres à une stratégie dans un objet de conteneur de propriétés.

Type:SwitchParameter
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-Confirm

Vous demande une confirmation avant d’exécuter la commande cmdlet.

Type:SwitchParameter
Alias:cf
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-DefaultProfile

Le paramètre DefaultProfile n’est pas fonctionnel. Utilisez le paramètre SubscriptionId lorsqu’il est disponible si vous exécutez l’applet de commande sur un autre abonnement.

Type:PSObject
Alias:AzureRMContext, AzureCredential
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-Description

Ce message fait partie de la réponse en cas de violation de stratégie.

Type:String
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:True
Accepter les caractères génériques:False

-DisplayName

Nom complet de l’attribution de stratégie.

Type:String
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:True
Accepter les caractères génériques:False

-EnforcementMode

Mode d’application de l’attribution de stratégie. Les valeurs possibles sont Default et DoNotEnforce.

Type:String
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:True
Accepter les caractères génériques:False

-Id

ID de l’affectation de stratégie à mettre à jour. Utilisez le format « {scope}/providers/Microsoft.Authorization/policyAssignments/{policyAssignmentName} ».

Type:String
Alias:ResourceId, PolicyAssignmentId
Position:Named
Valeur par défaut:None
Obligatoire:True
Accepter l'entrée de pipeline:True
Accepter les caractères génériques:False

-IdentityId

Identité de l’utilisateur associée à la stratégie. Les références de clé de dictionnaire d’identité utilisateur seront des ID de ressource ARM sous la forme : « /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName} ».

Type:String
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-IdentityType

Type d’identité. Il s’agit du seul champ obligatoire lors de l’ajout d’une identité affectée par le système ou l’utilisateur à une ressource.

Type:String
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-InputObject

Type:IPolicyAssignment
Position:Named
Valeur par défaut:None
Obligatoire:True
Accepter l'entrée de pipeline:True
Accepter les caractères génériques:False

-Location

Emplacement de l’affectation de stratégie. Obligatoire uniquement lors de l’utilisation de l’identité managée.

Type:String
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:True
Accepter les caractères génériques:False

-Metadata

Métadonnées d’attribution de stratégie. Les métadonnées sont un objet ouvert et sont généralement une collection de paires clé-valeur.

Type:String
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:True
Accepter les caractères génériques:False

-Name

Nom de l’attribution de stratégie.

Type:String
Alias:PolicyAssignmentName
Position:Named
Valeur par défaut:None
Obligatoire:True
Accepter l'entrée de pipeline:True
Accepter les caractères génériques:False

-NonComplianceMessage

Messages qui décrivent pourquoi une ressource n’est pas conforme à la stratégie. Pour construire, consultez la section NOTES pour les propriétés NONCOMPLIANCEMESSAGE et créer une table de hachage.

Type:PSObject[]
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:True
Accepter les caractères génériques:False

-NotScope

Étendues exclues de la stratégie.

Type:String[]
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:True
Accepter les caractères génériques:False

-Override

Remplacement de la valeur de propriété de stratégie.

Type:IOverride[]
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-PolicyParameter

Valeurs des paramètres de la règle de stratégie affectée. Les clés sont les noms de paramètres.

Type:String
Position:Named
Valeur par défaut:None
Obligatoire:True
Accepter l'entrée de pipeline:True
Accepter les caractères génériques:False

-PolicyParameterObject

Valeurs des paramètres de la règle de stratégie affectée. Les clés sont les noms de paramètres.

Type:PSObject
Position:Named
Valeur par défaut:None
Obligatoire:True
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-ResourceSelector

Liste de sélecteurs de ressources pour filtrer les stratégies par propriétés de ressource.

Type:IResourceSelector[]
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-Scope

Étendue de l’attribution de stratégie. Les étendues valides sont les suivantes : groupe d’administration (format : '/providers/Microsoft.Management/managementGroups/{managementGroup}'), abonnement (format : '/subscriptions/{subscriptionId}'), groupe de ressources (format : '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}', ou ressource (format : '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}'

Type:String
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:True
Accepter les caractères génériques:False

-WhatIf

Montre ce qui se passe en cas d’exécution de l’applet de commande. L’applet de commande n’est pas exécutée.

Type:SwitchParameter
Alias:wi
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

Entrées

IPolicyAssignment

PSObject[]

String

String[]

Sorties

IPolicyAssignment

Notes

ALIAS

Set-AzPolicyAssignment