Set-AzPolicyAssignment

Modifie une attribution de stratégie.

Syntax

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

L’applet de commande Set-AzPolicyAssignment modifie une attribution de stratégie. Spécifiez une affectation par ID ou par nom et étendue.

Exemples

Exemple 1 : Mettre à jour le nom complet

$ResourceGroup = Get-AzResourceGroup -Name 'ResourceGroup11'
$PolicyAssignment = Get-AzPolicyAssignment -Name 'PolicyAssignment' -Scope $ResourceGroup.ResourceId
Set-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'
Set-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'
 Set-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'
Set-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

Créez un fichier appelé AllowedLocations.json dans le répertoire de travail local avec le contenu suivant.

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

Set-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
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.

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

$PolicyAssignment = Get-AzPolicyAssignment -Name 'VirtualMachinePolicy'
Set-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.

Paramètres

-ApiVersion

Spécifie la version de l’API du fournisseur de ressources à utiliser. Si vous ne spécifiez pas de version, cette applet de commande utilise la dernière version disponible.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-AssignIdentity

Générez et attribuez une identité managée affectée par le système pour cette affectation de stratégie. L’identité sera utilisée lors de l’exécution de déploiements pour les stratégies « deployIfNotExists » et « modify ». L’emplacement est requis lors de l’attribution d’une identité.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DefaultProfile

Informations d’identification, compte, locataire et abonnement utilisés pour la communication avec Azure

Type:IAzureContextContainer
Aliases:AzContext, AzureRmContext, AzureCredential
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Description

Description de l’attribution de stratégie

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-DisplayName

Spécifie un nouveau nom complet pour l’attribution de stratégie.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-EnforcementMode

Mode d’application pour l’attribution de stratégie. Actuellement, les valeurs valides sont Default, DoNotEnforce.

Type:Nullable<T>[PolicyAssignmentEnforcementMode]
Accepted values:Default, DoNotEnforce
Position:Named
Default value:Default
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Id

Spécifie l’ID de ressource complet de l’affectation de stratégie que cette applet de commande modifie.

Type:String
Aliases:ResourceId
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-IdentityId

Spécifie l’ID de l’identité managée affectée par l’utilisateur à affecter à cette attribution de stratégie. Cette valeur est requise si la valeur « UserAssigned » est passée au paramètre -IdentityType.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-IdentityType

Spécifie le type d’identité managée à affecter à cette affectation de stratégie. Si la valeur « SystemAssigned » est fournie, une identité managée affectée par le système est générée et affectée à cette affectation de stratégie. Si la valeur « UserAssigned » est fournie, l’identité affectée par l’utilisateur transmise via son ID au paramètre -IdentityId est affectée à cette attribution de stratégie. L’identité sera utilisée lors de l’exécution de déploiements pour les stratégies « deployIfNotExists » et « modify ». L’emplacement est requis lors de l’attribution d’une identité. Les autorisations doivent être accordées à l’identité à l’aide de New-AzRoleAssignment après la création de l’identité affectée par le système. Le paramètre IdentityType est prioritaire si le paramètre AssignIdentity et IdentityType sont utilisés.

Type:Nullable<T>[ManagedIdentityType]
Accepted values:SystemAssigned, UserAssigned, None
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-InputObject

Objet d’affectation de stratégie à mettre à jour qui a été généré à partir d’une autre applet de commande.

Type:PsPolicyAssignment
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Location

Emplacement de l’identité de ressource de l’affectation de stratégie. Cela est nécessaire lorsque la valeur -IdentityType est fournie.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Metadata

Métadonnées mises à jour pour l’attribution de stratégie. Il peut s’agir d’un chemin d’accès à un nom de fichier contenant les métadonnées, ou des métadonnées sous forme de chaîne.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Name

Spécifie le nom de l’affectation de stratégie que cette applet de commande modifie.

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-NonComplianceMessage

Messages de non-conformité qui décrivent pourquoi une ressource n’est pas conforme à la stratégie.

Type:PsNonComplianceMessage[]
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-NotScope

L’attribution de stratégie n’est pas étendue.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-PolicyParameter

Chemin ou chaîne du nouveau fichier de paramètres de stratégie pour l’attribution de stratégie.

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-PolicyParameterObject

Nouvel objet de paramètres de stratégie pour l’attribution de stratégie.

Type:Hashtable
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-Pre

Indique que cette applet de commande prend en compte les versions d’API en préversion lorsqu’elle détermine automatiquement la version à utiliser.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Scope

Spécifie l’étendue à laquelle la stratégie est appliquée.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

Entrées

String

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

PsPolicyAssignment

PsNonComplianceMessage[]

Sorties

PsPolicyAssignment