New-AzPolicyDefinition

Hiermee maakt u een beleidsdefinitie.

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

De cmdlet New-AzPolicyDefinition maakt een beleidsdefinitie die een beleidsregel bevat in de JSON-indeling (JavaScript Object Notation).

Voorbeelden

Voorbeeld 1: Een beleidsdefinitie maken met behulp van een beleidsbestand

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

Met deze opdracht maakt u een beleidsdefinitie met de naam LocationDefinition die de beleidsregel bevat die is opgegeven in C:\LocationPolicy.json. Voorbeeldinhoud voor het LocationPolicy.json bestand wordt hierboven weergegeven. Er worden drie indelingen voor bestandsinhoud ondersteund:

  1. Alleen beleidsregel (voorbeeld hierboven).
  2. Object met beleidseigenschappen. Deze indeling wordt weergegeven in de portal bij het bewerken van een beleidsdefinitie en kan parameters bevatten.
  3. Volledig beleidsobject. Deze indeling wordt gegenereerd door de exportfunctie van Azure Policy en kan parameters bevatten.

Opmerking: waarden die zijn opgegeven op de opdrachtregel (bijvoorbeeld parameters, metagegevens) overschrijven overeenkomende waarden die aanwezig zijn in het bestand.

Voorbeeld 2: Een geparameteriseerde beleidsdefinitie maken met behulp van inlineparameters

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

Met deze opdracht maakt u een beleidsdefinitie met de naam LocationDefinition die de beleidsregel bevat die is opgegeven in C:\LocationPolicy.json. De parameterdefinitie voor de beleidsregel wordt inline gegeven.

Voorbeeld 3: Een beleidsdefinitie inline maken in een beheergroep

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

Met deze opdracht maakt u een beleidsdefinitie met de naam VMPolicyDefinition in beheergroep Dept42. Met de opdracht geeft u het beleid op als een tekenreeks in een geldige JSON-indeling.

Voorbeeld 4: Een beleidsdefinitie inline maken met metagegevens

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

Met deze opdracht maakt u een beleidsdefinitie met de naam VMPolicyDefinition met metagegevens die aangeven dat de categorie 'Virtuele machine' is. Met de opdracht geeft u het beleid op als een tekenreeks in een geldige JSON-indeling.

Voorbeeld 5: Een beleidsdefinitie inline maken met de modus

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

Met deze opdracht maakt u een beleidsdefinitie met de naam TagsPolicyDefinition met de modus 'Geïndexeerd' die aangeeft dat het beleid alleen moet worden geëvalueerd voor resourcetypen die tags en locatie ondersteunen.

Parameters

-ApiVersion

Hiermee geeft u de versie van de resourceprovider-API die moet worden gebruikt. Als u geen versie opgeeft, gebruikt deze cmdlet de meest recente beschikbare versie.

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

-DefaultProfile

De referenties, het account, de tenant en het abonnement dat wordt gebruikt voor communicatie met Azure

Type:IAzureContextContainer
Aliases:AzContext, AzureRmContext, AzureCredential
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Description

Hiermee geeft u een beschrijving voor de beleidsdefinitie.

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

-DisplayName

Hiermee geeft u een weergavenaam voor de beleidsdefinitie.

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

-ManagementGroupName

De naam van de beheergroep van de nieuwe beleidsdefinitie.

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

-Metadata

De metagegevens voor beleidsdefinitie. Dit kan een pad zijn naar een bestandsnaam met de metagegevens of de metagegevens als tekenreeks

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

-Mode

De modus van de beleidsdefinitie

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

-Name

Hiermee geeft u een naam voor de beleidsdefinitie.

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

-Parameter

De declaratie van parameters voor beleidsdefinitie. Dit kan een pad zijn naar een bestandsnaam met de declaratie parameters of de declaratie van parameters als tekenreeks.

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

-Policy

Hiermee geeft u een beleidsregel voor de beleidsdefinitie. U kunt het pad opgeven van een .json-bestand of een tekenreeks die het beleid in JSON-indeling bevat.

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

-Pre

Hiermee wordt aangegeven dat deze cmdlet api-versies van de voorlopige versie beschouwt wanneer deze automatisch bepaalt welke versie moet worden gebruikt.

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

-SubscriptionId

De abonnements-id van de nieuwe beleidsdefinitie.

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

Invoerwaarden

String

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

Uitvoerwaarden

PSObject