Partager via


New-AzureRmPolicyAssignment

Crée une attribution de stratégie.

Avertissement

Le module AzureRM PowerShell a été officiellement déprécié le 29 février 2024. Les utilisateurs sont invités à migrer d’AzureRM vers le module Az PowerShell afin de s’assurer d’une prise en charge et des mises à jour continues.

Il est possible que le module AzureRM fonctionne encore, mais il ne fait plus l’objet de maintenance ni de support. L’utilisateur peut continuer à s’en servir s’il le souhaite, à ses propres risques. Consultez nos ressources sur la migration pour obtenir des conseils sur la transition vers le module Az.

Syntaxe

New-AzureRmPolicyAssignment
   -Name <String>
   -Scope <String>
   [-NotScope <String[]>]
   [-DisplayName <String>]
   [-Description <String>]
   [-PolicyDefinition <PSObject>]
   [-PolicySetDefinition <PSObject>]
   [-Metadata <String>]
   [-Sku <Hashtable>]
   [-AssignIdentity]
   [-Location <String>]
   [-ApiVersion <String>]
   [-Pre]
   [-DefaultProfile <IAzureContextContainer>]
   [-InformationAction <ActionPreference>]
   [-InformationVariable <String>]
   [<CommonParameters>]
New-AzureRmPolicyAssignment
   -Name <String>
   -Scope <String>
   [-NotScope <String[]>]
   [-DisplayName <String>]
   [-Description <String>]
   -PolicyDefinition <PSObject>
   [-PolicySetDefinition <PSObject>]
   -PolicyParameterObject <Hashtable>
   [-Metadata <String>]
   [-Sku <Hashtable>]
   [-AssignIdentity]
   [-Location <String>]
   [-ApiVersion <String>]
   [-Pre]
   [-DefaultProfile <IAzureContextContainer>]
   [-InformationAction <ActionPreference>]
   [-InformationVariable <String>]
   [<CommonParameters>]
New-AzureRmPolicyAssignment
   -Name <String>
   -Scope <String>
   [-NotScope <String[]>]
   [-DisplayName <String>]
   [-Description <String>]
   -PolicyDefinition <PSObject>
   [-PolicySetDefinition <PSObject>]
   -PolicyParameter <String>
   [-Metadata <String>]
   [-Sku <Hashtable>]
   [-AssignIdentity]
   [-Location <String>]
   [-ApiVersion <String>]
   [-Pre]
   [-DefaultProfile <IAzureContextContainer>]
   [-InformationAction <ActionPreference>]
   [-InformationVariable <String>]
   [<CommonParameters>]
New-AzureRmPolicyAssignment
   -Name <String>
   -Scope <String>
   [-NotScope <String[]>]
   [-DisplayName <String>]
   [-Description <String>]
   [-PolicyDefinition <PSObject>]
   -PolicySetDefinition <PSObject>
   -PolicyParameterObject <Hashtable>
   [-Metadata <String>]
   [-Sku <Hashtable>]
   [-AssignIdentity]
   [-Location <String>]
   [-ApiVersion <String>]
   [-Pre]
   [-DefaultProfile <IAzureContextContainer>]
   [-InformationAction <ActionPreference>]
   [-InformationVariable <String>]
   [<CommonParameters>]
New-AzureRmPolicyAssignment
   -Name <String>
   -Scope <String>
   [-NotScope <String[]>]
   [-DisplayName <String>]
   [-Description <String>]
   [-PolicyDefinition <PSObject>]
   -PolicySetDefinition <PSObject>
   -PolicyParameter <String>
   [-Metadata <String>]
   [-Sku <Hashtable>]
   [-AssignIdentity]
   [-Location <String>]
   [-ApiVersion <String>]
   [-Pre]
   [-DefaultProfile <IAzureContextContainer>]
   [-InformationAction <ActionPreference>]
   [-InformationVariable <String>]
   [<CommonParameters>]

Description

L’applet de commande New-AzureRmPolicyAssignment crée une attribution de stratégie. Spécifiez une stratégie et une étendue.

Exemples

Exemple 1 : Affectation de stratégie au niveau du groupe de ressources

PS C:\> $ResourceGroup = Get-AzureRmResourceGroup -Name 'ResourceGroup11'
PS C:\> $Policy = Get-AzureRmPolicyDefinition -Name 'VirtualMachinePolicy'
PS C:\> New-AzureRmPolicyAssignment -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-AzureRMResourceGroup 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-AzureRmPolicyDefinition 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 2 : Affectation de stratégie au niveau du groupe de ressources avec l’objet de paramètre de stratégie

PS C:\> $ResourceGroup = Get-AzureRmResourceGroup -Name 'ResourceGroup11'
PS C:\> $Policy = Get-AzureRmPolicyDefinition -BuiltIn | Where-Object {$_.Properties.DisplayName -eq 'Allowed locations'}
PS C:\> $Locations = Get-AzureRmLocation | where displayname -like '*east*'
PS C:\> $AllowedLocations = @{'listOfAllowedLocations'=($Locations.location)}
PS C:\> New-AzureRmPolicyAssignment -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-AzureRMResourceGroup. 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-AzureRmPolicyDefinition. 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 3 : Affectation de stratégie au niveau du groupe de ressources 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": [
        "westus",
        "westeurope",
        "japanwest"
      ]
    }
}

PS C:\> $ResourceGroup = Get-AzureRmResourceGroup -Name 'ResourceGroup11'
PS C:\> $Policy = Get-AzureRmPolicyDefinition -BuiltIn | Where-Object {$_.Properties.DisplayName -eq 'Allowed locations'}
PS C:\> New-AzureRmPolicyAssignment -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-AzureRMResourceGroup 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-AzureRmPolicyDefinition 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 4 : Affectation de stratégie avec une identité managée

PS C:\> $ResourceGroup = Get-AzureRmResourceGroup -Name 'ResourceGroup11'
PS C:\> $Policy = Get-AzureRmPolicyDefinition -Name 'VirtualMachinePolicy'
PS C:\> New-AzureRmPolicyAssignment -Name 'VirtualMachinePolicyAssignment' -PolicyDefinition $Policy -Scope $ResourceGroup.ResourceId -Location 'eastus' -AssignIdentity

La première commande obtient un groupe de ressources nommé ResourceGroup11 à l’aide de l’applet de commande Get-AzureRMResourceGroup 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-AzureRmPolicyDefinition et la stocke dans la variable $Policy. La commande finale affecte la stratégie dans $Policy au groupe de ressources. Une identité managée est automatiquement créée et affectée à l’attribution de 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é Microsoft Entra pour cette affectation de stratégie. L’identité sera utilisée lors de l’exécution de déploiements pour les stratégies « deployIfNotExists ». 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: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 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

-InformationAction

Spécifie la façon dont cette applet de commande répond à un événement d’information. Les valeurs valides pour ce paramètre sont :

  • Continuer
  • Ignorer
  • Demander
  • SilentlyContinue
  • Arrêter
  • Suspendre
Type:ActionPreference
Alias:infa
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-InformationVariable

Spécifie une variable d’informations.

Type:String
Alias:iv
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
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 le commutateur -AssignIdentity est utilisé.

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 de la nouvelle affectation 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 un nom 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

-NotScope

Les étendues d’affectation de stratégie ne sont pas étendues.

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

-PolicyDefinition

Spécifie une stratégie, en tant qu’objet PsPolicyDefinition qui contient la règle de stratégie.

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

-PolicyParameter

Chemin d’accès du fichier de paramètre de stratégie ou chaîne de paramètre 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

Objet de paramètre 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

-PolicySetDefinition

Objet de définition du jeu de stratégies.

Type:PSObject
Position:Named
Valeur par défaut:None
Obligatoire:True
Accepter l'entrée de pipeline:True
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 affecter la stratégie. Par exemple, pour affecter une stratégie à un groupe de ressources, spécifiez les éléments suivants : /subscriptions/nom du groupe de ressources ID d’abonnement/resourcegroups/

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

-Sku

Table de hachage qui représente les propriétés de la référence SKU. Valeur par défaut de la référence SKU Free avec les valeurs suivantes : @{Name = 'A0'; Tier = 'Free'}. Pour utiliser la référence SKU Standard, utilisez les valeurs suivantes : @{Name = 'A1'; Tier = 'Standard'}.

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