New-AzPolicyAssignment
Crée ou met à jour une attribution de stratégie.
Syntax
New-AzPolicyAssignment
-Name <String>
[-Scope <String>]
[-NotScope <String[]>]
[-DisplayName <String>]
[-Description <String>]
[-Metadata <String>]
[-EnforcementMode <String>]
[-IdentityType <String>]
[-IdentityId <String>]
[-Location <String>]
[-NonComplianceMessage <PSObject[]>]
[-BackwardCompatible]
[-DefaultProfile <PSObject>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
New-AzPolicyAssignment
-Name <String>
[-Scope <String>]
[-NotScope <String[]>]
[-DisplayName <String>]
[-Description <String>]
[-Metadata <String>]
[-EnforcementMode <String>]
[-IdentityType <String>]
[-IdentityId <String>]
[-Location <String>]
[-NonComplianceMessage <PSObject[]>]
[-BackwardCompatible]
[-PolicyDefinition <PSObject>]
-PolicyParameterObject <Hashtable>
[-DefaultProfile <PSObject>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
New-AzPolicyAssignment
-Name <String>
[-Scope <String>]
[-NotScope <String[]>]
[-DisplayName <String>]
[-Description <String>]
[-Metadata <String>]
[-EnforcementMode <String>]
[-IdentityType <String>]
[-IdentityId <String>]
[-Location <String>]
[-NonComplianceMessage <PSObject[]>]
[-BackwardCompatible]
[-PolicyDefinition <PSObject>]
-PolicyParameter <String>
[-DefaultProfile <PSObject>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
New-AzPolicyAssignment
-Name <String>
[-Scope <String>]
[-NotScope <String[]>]
[-DisplayName <String>]
[-Description <String>]
[-Metadata <String>]
[-EnforcementMode <String>]
[-IdentityType <String>]
[-IdentityId <String>]
[-Location <String>]
[-NonComplianceMessage <PSObject[]>]
[-BackwardCompatible]
-PolicyDefinition <PSObject>
[-DefaultProfile <PSObject>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
L’applet de commande New-AzPolicyAssignment crée ou 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 : Attribution de stratégie au niveau de l’abonnement
$Subscription = Get-AzSubscription -SubscriptionName 'Subscription01'
$Policy = Get-AzPolicyDefinition -Name 'VirtualMachinePolicy'
New-AzPolicyAssignment -Name 'VirtualMachinePolicyAssignment' -PolicyDefinition $Policy -Scope "/subscriptions/$($Subscription.Id)"
La première commande obtient un abonnement nommé Subscription01 à l’aide de l’applet de commande Get-AzSubscription et la stocke dans la variable $Subscription. La deuxième commande obtient la définition de stratégie nommée VirtualMachinePolicy à l’aide de l’applet de commande Get-AzPolicyDefinition et la stocke dans la variable $Policy. La commande finale affecte la stratégie dans $Policy au niveau de l’abonnement identifié par la chaîne d’étendue de l’abonnement.
Exemple 2 : Affectation de stratégie au niveau du groupe de ressources
$ResourceGroup = Get-AzResourceGroup -Name 'ResourceGroup11'
$Policy = Get-AzPolicyDefinition -Name 'VirtualMachinePolicy'
New-AzPolicyAssignment -Name 'VirtualMachinePolicyAssignment' -PolicyDefinition $Policy -Scope $ResourceGroup.ResourceId
La première commande obtient un groupe de ressources nommé ResourceGroup11 à l’aide de l’applet de commande Get-AzResourceGroup et le stocke dans la variable $ResourceGroup. La deuxième commande obtient la définition de stratégie nommée VirtualMachinePolicy à l’aide de l’applet de commande Get-AzPolicyDefinition et la stocke dans la variable $Policy. La commande finale affecte la stratégie dans $Policy au niveau du groupe de ressources identifié par la propriété ResourceId de $ResourceGroup.
Exemple 3 : Affectation de stratégie au niveau du groupe de ressources avec l’objet de paramètre de stratégie
$ResourceGroup = Get-AzResourceGroup -Name 'ResourceGroup11'
$Policy = Get-AzPolicyDefinition -BuiltIn | Where-Object {$_.DisplayName -eq 'Allowed locations'}
$Locations = Get-AzLocation | Where-Object displayname -like '*east*'
$AllowedLocations = @{'listOfAllowedLocations'=($Locations.location)}
New-AzPolicyAssignment -Name 'RestrictLocationPolicyAssignment' -PolicyDefinition $Policy -Scope $ResourceGroup.ResourceId -PolicyParameterObject $AllowedLocations
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 la définition de stratégie intégrée pour les emplacements autorisés à l’aide de l’applet de commande Get-AzPolicyDefinition. La commande stocke cet objet dans la variable $Policy. Les troisième et quatrième commandes créent un objet contenant toutes les régions Azure avec « est » dans le nom. Les commandes stockent cet objet dans la variable $AllowedLocations. La commande finale affecte la stratégie dans $Policy au niveau d’un groupe de ressources à l’aide de l’objet de paramètre de stratégie dans $AllowedLocations. La propriété ResourceId de $ResourceGroup identifie le groupe de ressources.
Exemple 4 : Affectation de stratégie au niveau du groupe de ressources avec le fichier de paramètres de stratégie
{
"listOfAllowedLocations": {
"value": [
"westus",
"westeurope",
"japanwest"
]
}
}
$ResourceGroup = Get-AzResourceGroup -Name 'ResourceGroup11'
$Policy = Get-AzPolicyDefinition -BuiltIn | Where-Object {$_.DisplayName -eq 'Allowed locations'}
New-AzPolicyAssignment -Name 'RestrictLocationPolicyAssignment' -PolicyDefinition $Policy -Scope $ResourceGroup.ResourceId -PolicyParameter .\AllowedLocations.json
La première commande obtient un groupe de ressources nommé ResourceGroup11 à l’aide de l’applet de commande Get-AzResourceGroup et le stocke dans la variable $ResourceGroup. La deuxième commande obtient la définition de stratégie intégrée pour les emplacements autorisés à l’aide de l’applet de commande Get-AzPolicyDefinition et la stocke dans la variable $Policy. La commande finale affecte la stratégie dans $Policy au groupe de ressources identifié par la propriété ResourceId de $ResourceGroup à l’aide du fichier de paramètres de stratégie AllowedLocations.json à partir du répertoire de travail local.
Exemple 5 : Attribution de stratégie avec une identité managée affectée par le système
$ResourceGroup = Get-AzResourceGroup -Name 'ResourceGroup11'
$Policy = Get-AzPolicyDefinition -Name 'VirtualMachinePolicy'
New-AzPolicyAssignment -Name 'VirtualMachinePolicyAssignment' -PolicyDefinition $Policy -Scope $ResourceGroup.ResourceId -Location 'eastus' -IdentityType 'SystemAssigned'
La première commande obtient un groupe de ressources nommé ResourceGroup11 à l’aide de l’applet de commande Get-AzResourceGroup et le stocke dans la variable $ResourceGroup. La deuxième commande obtient la définition de stratégie nommée VirtualMachinePolicy à l’aide de l’applet de commande Get-AzPolicyDefinition et la stocke dans la variable $Policy. La commande finale affecte la stratégie dans $Policy au groupe de ressources. Une identité managée affectée par le système est automatiquement créée et affectée à l’attribution de stratégie.
Exemple 6 : Attribution de stratégie avec une identité managée affectée par l’utilisateur
$ResourceGroup = Get-AzResourceGroup -Name 'ResourceGroup11'
$Policy = Get-AzPolicyDefinition -Name 'VirtualMachinePolicy'
$UserAssignedIdentity = Get-AzUserAssignedIdentity -ResourceGroupName 'ResourceGroup1' -Name 'UserAssignedIdentity1'
New-AzPolicyAssignment -Name 'VirtualMachinePolicyAssignment' -PolicyDefinition $Policy -Scope $ResourceGroup.ResourceId -Location 'eastus' -IdentityType 'UserAssigned' -IdentityId $UserAssignedIdentity.Id
La première commande obtient un groupe de ressources nommé ResourceGroup11 à l’aide de l’applet de commande Get-AzResourceGroup et le stocke dans la variable $ResourceGroup. La deuxième commande obtient la définition de stratégie nommée VirtualMachinePolicy à l’aide de l’applet de commande Get-AzPolicyDefinition et la stocke dans la variable $Policy. La troisiè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 la stratégie dans $Policy au groupe de ressources. L’identité managée affectée par l’utilisateur identifiée par la propriété ID de $UserAssignedIdentity est affectée à l’attribution de stratégie en passant la propriété Id* au paramètre IdentityId.
Exemple 7 : Affectation de stratégie avec une propriété en mode d’application
$Subscription = Get-AzSubscription -SubscriptionName 'Subscription01'
$Policy = Get-AzPolicyDefinition -Name 'VirtualMachinePolicy'
New-AzPolicyAssignment -Name 'VirtualMachinePolicyAssignment' -PolicyDefinition $Policy -Scope "/subscriptions/$($Subscription.Id)" -EnforcementMode DoNotEnforce
La première commande obtient un abonnement nommé Subscription01 à l’aide de l’applet de commande Get-AzSubscription et la stocke dans la variable $Subscription. La deuxième commande obtient la définition de stratégie nommée VirtualMachinePolicy à l’aide de l’applet de commande Get-AzPolicyDefinition et la stocke dans la variable $Policy. La commande finale affecte la stratégie dans $Policy au niveau de l’abonnement identifié par la chaîne d’étendue de l’abonnement.
L’affectation est définie avec une valeur EnforcementMode de DoNotEnforce, c’est-à-dire que l’effet de stratégie n’est pas appliqué lors de la création ou de la mise à jour des ressources.
Exemple 8 : Attribution de stratégie avec des messages de non-conformité
$PolicySet = Get-AzPolicySetDefinition -Name 'VirtualMachinePolicySet'
$NonComplianceMessages = @(@{Message="Only DsV2 SKUs are allowed."; PolicyDefinitionReferenceId="DefRef1"}, @{Message="Virtual machines must follow cost management best practices."})
New-AzPolicyAssignment -Name 'VirtualMachinePolicyAssignment' -PolicySetDefinition $PolicySet -NonComplianceMessage $NonComplianceMessages
La première commande obtient la définition de jeu de stratégies nommée VirtualMachinePolicySet à l’aide de l’applet de commande Get-AzPolicySetDefinition et la stocke dans la variable $PolicySet. La deuxième commande crée un tableau de messages de non-conformité. Un message à usage général pour l’ensemble de l’affectation et un message spécifique à une stratégie de restriction de référence SKU dans la définition du jeu de stratégies affecté. La commande finale affecte la définition du jeu de stratégies dans $PolicySet à l’abonnement avec deux messages de non-conformité qui seront affichés si une ressource est refusée par la stratégie.
Exemple 9 : [Backcompat] Affectation de stratégie au niveau du groupe de ressources avec l’objet de paramètre de stratégie
$ResourceGroup = Get-AzResourceGroup -Name 'ResourceGroup11'
$Policy = Get-AzPolicyDefinition -BuiltIn | Where-Object {$_.Properties.DisplayName -eq 'Allowed locations'}
$Locations = Get-AzLocation | Where-Object displayname -like '*east*'
$AllowedLocations = @{'listOfAllowedLocations'=($Locations.location)}
New-AzPolicyAssignment -Name 'RestrictLocationPolicyAssignment' -PolicyDefinition $Policy -Scope $ResourceGroup.ResourceId -PolicyParameterObject $AllowedLocations
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 la définition de stratégie intégrée pour les emplacements autorisés à l’aide de l’applet de commande Get-AzPolicyDefinition. La commande stocke cet objet dans la variable $Policy. Les troisième et quatrième commandes créent un objet contenant toutes les régions Azure avec « est » dans le nom. Les commandes stockent cet objet dans la variable $AllowedLocations. La commande finale affecte la stratégie dans $Policy au niveau d’un groupe de ressources à l’aide de l’objet de paramètre de stratégie dans $AllowedLocations. La propriété ResourceId de $ResourceGroup identifie le groupe de ressources.
Exemple 10 : [Backcompat] Affectation de stratégie au niveau du groupe de ressources avec le fichier de paramètres de stratégie
{
"listOfAllowedLocations": {
"value": [
"westus",
"westeurope",
"japanwest"
]
}
}
$ResourceGroup = Get-AzResourceGroup -Name 'ResourceGroup11'
$Policy = Get-AzPolicyDefinition -BuiltIn | Where-Object {$_.Properties.DisplayName -eq 'Allowed locations'}
New-AzPolicyAssignment -Name 'RestrictLocationPolicyAssignment' -PolicyDefinition $Policy -Scope $ResourceGroup.ResourceId -PolicyParameter .\AllowedLocations.json
La première commande obtient un groupe de ressources nommé ResourceGroup11 à l’aide de l’applet de commande Get-AzResourceGroup et le stocke dans la variable $ResourceGroup. La deuxième commande obtient la définition de stratégie intégrée pour les emplacements autorisés à l’aide de l’applet de commande Get-AzPolicyDefinition et la stocke dans la variable $Policy. La commande finale affecte la stratégie dans $Policy au groupe de ressources identifié par la propriété ResourceId de $ResourceGroup à l’aide du fichier de paramètres de stratégie AllowedLocations.json à partir du répertoire de travail local.
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 |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Confirm
Vous demande une confirmation avant d’exécuter l’applet de commande.
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
valeur par défaut: | None |
Obligatoire: | False |
Accept pipeline input: | False |
Accept wildcard characters: | 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 |
Aliases: | AzureRMContext, AzureCredential |
Position: | Named |
valeur par défaut: | None |
Obligatoire: | False |
Accept pipeline input: | False |
Accept wildcard characters: | 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 |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-DisplayName
Nom complet de l’attribution de stratégie.
Type: | String |
Position: | Named |
valeur par défaut: | None |
Obligatoire: | False |
Accept pipeline input: | True |
Accept wildcard characters: | 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 |
Accept pipeline input: | True |
Accept wildcard characters: | 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 |
Accept pipeline input: | False |
Accept wildcard characters: | 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 |
Accept pipeline input: | False |
Accept wildcard characters: | 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 |
Accept pipeline input: | True |
Accept wildcard characters: | 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 |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Name
Nom de l’attribution de stratégie.
Type: | String |
Aliases: | PolicyAssignmentName |
Position: | Named |
valeur par défaut: | None |
Obligatoire: | True |
Accept pipeline input: | True |
Accept wildcard characters: | 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 |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-NotScope
Étendues exclues de la stratégie.
Type: | String[] |
Position: | Named |
valeur par défaut: | None |
Obligatoire: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-PolicyDefinition
Accepter la définition de stratégie ou l’objet de définition de jeu de stratégies
Type: | PSObject |
Aliases: | PolicySetDefinition |
Position: | Named |
valeur par défaut: | None |
Obligatoire: | True |
Accept pipeline input: | True |
Accept wildcard characters: | 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 |
Accept pipeline input: | False |
Accept wildcard characters: | 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: | Hashtable |
Position: | Named |
valeur par défaut: | None |
Obligatoire: | True |
Accept pipeline input: | False |
Accept wildcard characters: | 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 |
Accept pipeline input: | True |
Accept wildcard characters: | 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 |
Aliases: | wi |
Position: | Named |
valeur par défaut: | None |
Obligatoire: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Entrées
PSObject[]
String[]
Sorties
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour