Set-AzPolicyAssignment
Modifie une attribution de stratégie.
Syntaxe
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 |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | 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 |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-DefaultProfile
Informations d’identification, compte, locataire et abonnement utilisés pour la communication avec Azure
Type: | IAzureContextContainer |
Alias: | AzContext, 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
Description 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 |
-DisplayName
Spécifie un nouveau nom complet pour 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 pour l’attribution de stratégie. Actuellement, les valeurs valides sont Default, DoNotEnforce.
Type: | Nullable<T>[PolicyAssignmentEnforcementMode] |
Valeurs acceptées: | Default, DoNotEnforce |
Position: | Named |
Valeur par défaut: | Default |
Obligatoire: | False |
Accepter l'entrée de pipeline: | True |
Accepter les caractères génériques: | False |
-Id
Spécifie l’ID de ressource complet de l’affectation de stratégie que cette applet de commande modifie.
Type: | String |
Alias: | ResourceId |
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
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 |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | 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] |
Valeurs acceptées: | SystemAssigned, UserAssigned, None |
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
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 |
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’identité de ressource de l’affectation de stratégie. Cela est nécessaire lorsque la valeur -IdentityType est fournie.
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 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 |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | True |
Accepter les caractères génériques: | False |
-Name
Spécifie le nom de l’affectation de stratégie que cette applet de commande modifie.
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 |
-NonComplianceMessage
Messages de non-conformité qui décrivent pourquoi une ressource n’est pas conforme à la stratégie.
Type: | PsNonComplianceMessage[] |
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
L’attribution de stratégie n’est pas étendue.
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 |
-PolicyParameter
Chemin ou chaîne du nouveau fichier de paramètres de stratégie pour l’attribution de stratégie.
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
Nouvel objet de paramètres de stratégie pour l’attribution de stratégie.
Type: | Hashtable |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | True |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | 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 |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-Scope
Spécifie l’étendue à laquelle la stratégie est appliqué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 |
Entrées
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]]