New-AzPolicyDefinition
Crée une définition de stratégie.
Syntaxe
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 :
- Règle de stratégie uniquement (exemple ci-dessus).
- 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.
- 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 |
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
Spécifie une description de la définition 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 la définition 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 |
-ManagementGroupName
Nom du groupe d’administration de la nouvelle définition 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 |
-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 |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | True |
Accepter les caractères génériques: | False |
-Mode
Mode de la définition de stratégie
Type: | String |
Position: | Named |
Valeur par défaut: | All |
Obligatoire: | False |
Accepter l'entrée de pipeline: | True |
Accepter les caractères génériques: | False |
-Name
Spécifie un nom pour la définition 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 |
-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 |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | True |
Accepter les caractères génériques: | 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 |
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 |
-SubscriptionId
ID d’abonnement de la nouvelle définition de stratégie.
Type: | Nullable<T>[Guid] |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | True |
Accepter l'entrée de pipeline: | True |
Accepter les caractères génériques: | False |
Entrées
Nullable<T>[[System.Guid, System.Private.CoreLib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]]