New-AzPolicyDefinition

Crée une définition de stratégie.

Syntax

New-AzPolicyDefinition
   -Name <String>
   [-DisplayName <String>]
   [-Description <String>]
   -Policy <String>
   [-Metadata <String>]
   [-Parameter <String>]
   [-Mode <String>]
   [-ApiVersion <String>]
   [-Pre]
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]
New-AzPolicyDefinition
   -Name <String>
   [-DisplayName <String>]
   [-Description <String>]
   -Policy <String>
   [-Metadata <String>]
   [-Parameter <String>]
   [-Mode <String>]
   -ManagementGroupName <String>
   [-ApiVersion <String>]
   [-Pre]
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]
New-AzPolicyDefinition
   -Name <String>
   [-DisplayName <String>]
   [-Description <String>]
   -Policy <String>
   [-Metadata <String>]
   [-Parameter <String>]
   [-Mode <String>]
   -SubscriptionId <Guid>
   [-ApiVersion <String>]
   [-Pre]
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]

Description

L’applet de commande New-AzPolicyDefinition crée une définition de stratégie qui inclut une règle de stratégie au format JSON (JavaScript Object Notation).

Exemples

Exemple 1 : Créer une définition de stratégie à l’aide d’un fichier de stratégie

<#{
   "if": {
      "field": "location",
      "notIn": ["eastus", "westus", "centralus"]
   },
   "then": {
      "effect": "audit"
   }
}#>
New-AzPolicyDefinition -Name 'LocationDefinition' -Policy C:\LocationPolicy.json

Cette commande crée une définition de stratégie nommée LocationDefinition qui contient la règle de stratégie spécifiée dans C :\LocationPolicy.json. L’exemple de contenu du fichier LocationPolicy.json est fourni ci-dessus. Trois formats de contenu de fichier sont pris en charge :

  1. Règle de stratégie uniquement (exemple ci-dessus).
  2. Objet propriétés de stratégie. Ce format s’affiche dans le portail lors de la modification d’une définition de stratégie et peut inclure des paramètres.
  3. Objet de stratégie complet. Ce format est généré par la fonction d’exportation Azure Policy et peut inclure des paramètres.

Remarque : Les valeurs fournies sur la ligne de commande (par exemple, les paramètres, les métadonnées) remplacent les valeurs correspondantes présentes dans le fichier.

Exemple 2 : Créer une définition de stratégie paramétrable à l’aide de paramètres inline

<#{
   "if": {
      "field": "location",
      "notIn": "[parameters('listOfAllowedLocations')]"
   },
   "then": {
      "effect": "audit"
   }
}#>
New-AzPolicyDefinition -Name 'LocationDefinition' -Policy C:\LocationPolicy.json -Parameter '{ "listOfAllowedLocations": { "type": "array" } }'

Cette commande crée une définition de stratégie nommée LocationDefinition qui contient la règle de stratégie spécifiée dans C :\LocationPolicy.json. La définition de paramètre de la règle de stratégie est fournie en ligne.

Exemple 3 : Créer une définition de stratégie inline dans un groupe d’administration

New-AzPolicyDefinition -Name 'VMPolicyDefinition' -ManagementGroupName Dept42 -DisplayName 'Virtual Machine policy definition' -Policy '{"if":{"field":"type","equals":"Microsoft.Compute/virtualMachines"},"then":{"effect":"deny"}}'

Cette commande crée une définition de stratégie nommée VMPolicyDefinition dans le groupe d’administration Dept42. Cette commande spécifie la stratégie comme une chaîne au format JSON valide.

Exemple 4 : Créer une définition de stratégie incorporée avec des métadonnées

New-AzPolicyDefinition -Name 'VMPolicyDefinition' -Metadata '{"category":"Virtual Machine"}' -Policy '{"if":{"field":"type","equals":"Microsoft.Compute/virtualMachines"},"then":{"effect":"deny"}}'

Name               : VMPolicyDefinition
ResourceId         : /subscriptions/11111111-1111-1111-1111-111111111111/providers/Microsoft.Authorization/policyDefinitions/VMPolicyDefinition
ResourceName       : VMPolicyDefinition
ResourceType       : Microsoft.Authorization/policyDefinitions
SubscriptionId     : 11111111-1111-1111-1111-111111111111
Properties         : @{displayName=VMPolicyDefinition; policyType=Custom; mode=All; metadata=; policyRule=}
PolicyDefinitionId : /subscriptions/11111111-1111-1111-1111-111111111111/providers/Microsoft.Authorization/policyDefinitions/VMPolicyDefinition

Cette commande crée une définition de stratégie nommée VMPolicyDefinition avec des métadonnées indiquant que sa catégorie est « Machine virtuelle ». Cette commande spécifie la stratégie comme une chaîne au format JSON valide.

Exemple 5 : Créer une définition de stratégie en ligne avec le mode

New-AzPolicyDefinition -Name 'TagsPolicyDefinition' -Policy '{"if":{"value":"[less(length(field(''tags'')), 3)]","equals":true},"then":{"effect":"deny"}}' -Mode Indexed

Name               : TagsPolicyDefinition
ResourceId         : /subscriptions/11111111-1111-1111-1111-111111111111/providers/Microsoft.Authorization/policyDefinitions/TagsPolicyDefinition
ResourceName       : TagsPolicyDefinition
ResourceType       : Microsoft.Authorization/policyDefinitions
SubscriptionId     : 11111111-1111-1111-1111-111111111111
Properties         : @{displayName=TagsPolicyDefinition; policyType=Custom; mode=Indexed; metadata=; parameters=; policyRule=}
PolicyDefinitionId : /subscriptions/11111111-1111-1111-1111-111111111111/providers/Microsoft.Authorization/policyDefinitions/TagsPolicyDefinition

Cette commande crée une définition de stratégie nommée TagsPolicyDefinition avec le mode « Indexed » indiquant que la stratégie doit être évaluée uniquement pour les types de ressources qui prennent en charge les balises et l’emplacement.

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

-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

Spécifie une description de la définition de stratégie.

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

-DisplayName

Spécifie un nom complet pour la définition de stratégie.

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

-ManagementGroupName

Nom du groupe d’administration de la nouvelle définition de stratégie.

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

-Metadata

Métadonnées pour la définition 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

-Mode

Mode de la définition de stratégie

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

-Name

Spécifie un nom pour la définition de stratégie.

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

-Parameter

Déclaration des paramètres pour la définition de stratégie. Il peut s’agir d’un chemin d’accès à un nom de fichier contenant la déclaration de paramètres ou de la déclaration de paramètres sous forme de chaîne.

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

-Policy

Spécifie une règle de stratégie pour la définition de stratégie. Vous pouvez spécifier le chemin d’un fichier .json ou d’une chaîne qui contient la stratégie au format JSON.

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:True
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

-SubscriptionId

ID d’abonnement de la nouvelle définition de stratégie.

Type:Nullable<T>[Guid]
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

Entrées

String

Nullable<T>[[System.Guid, System.Private.CoreLib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]]

Sorties

PSObject