New-AzPolicyDefinition

Erstellt eine Richtliniendefinition.

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>]

Beschreibung

Das Cmdlet New-AzPolicyDefinition erstellt eine Richtliniendefinition , die eine Richtlinienregel im JSON-Format (JavaScript Object Notation) enthält.

Beispiele

Beispiel 1: Erstellen einer Richtliniendefinition mithilfe einer Richtliniendatei

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

Mit diesem Befehl wird eine Richtliniendefinition namens "LocationDefinition" erstellt, die die in "C:\LocationPolicy.json" angegebene Richtlinienregel enthält. Beispielinhalte für die LocationPolicy.json-Datei werden oben bereitgestellt. Drei Dateiformate werden unterstützt:

  1. Nur Richtlinienregel (Beispiel oben).
  2. Richtlinieneigenschaftenobjekt. Dieses Format wird beim Bearbeiten einer Richtliniendefinition im Portal angezeigt und kann Parameter enthalten.
  3. Vollständiges Richtlinienobjekt. Dieses Format wird von der Azure-Richtlinienexportfunktion generiert und kann Parameter enthalten.

Hinweis: In der Befehlszeile bereitgestellte Werte (z. B. Parameter, Metadaten) überschreiben die entsprechenden Werte, die in der Datei vorhanden sind.

Beispiel 2: Erstellen einer parametrisierten Richtliniendefinition mithilfe von Inlineparametern

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

Mit diesem Befehl wird eine Richtliniendefinition namens "LocationDefinition" erstellt, die die in "C:\LocationPolicy.json" angegebene Richtlinienregel enthält. Die Parameterdefinition für die Richtlinienregel wird inline bereitgestellt.

Beispiel 3: Erstellen einer Richtliniendefinition inline in einer Verwaltungsgruppe

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

Dieser Befehl erstellt eine Richtliniendefinition namens "VMPolicyDefinition" in der Verwaltungsgruppe "Dept42". Der Befehl gibt die Richtlinie als Zeichenfolge im gültigen JSON-Format an.

Beispiel 4: Erstellen einer Richtliniendefinition inline mit Metadaten

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

Mit diesem Befehl wird eine Richtliniendefinition namens "VMPolicyDefinition" mit Metadaten erstellt, die angibt, dass die Kategorie "Virtueller Computer" lautet. Der Befehl gibt die Richtlinie als Zeichenfolge im gültigen JSON-Format an.

Beispiel 5: Erstellen einer Richtliniendefinition inline mit 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

Dieser Befehl erstellt eine Richtliniendefinition namens TagsPolicyDefinition mit dem Modus "Indiziert", der angibt, dass die Richtlinie nur für Ressourcentypen ausgewertet werden soll, die Tags und Speicherort unterstützen.

Parameter

-ApiVersion

Gibt die version der zu verwendenden Ressourcenanbieter-API an. Wenn Sie keine Version angeben, verwendet dieses Cmdlet die neueste verfügbare Version.

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

-DefaultProfile

Anmeldeinformationen, Konto, Mandant und Abonnement für die Kommunikation mit Azure

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

-Description

Gibt eine Beschreibung für die Richtliniendefinition an.

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

-DisplayName

Gibt einen Anzeigenamen für die Richtliniendefinition an.

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

-ManagementGroupName

Der Name der Verwaltungsgruppe der neuen Richtliniendefinition.

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

-Metadata

Die Metadaten für die Richtliniendefinition. Dies kann entweder ein Pfad zu einem Dateinamen sein, der die Metadaten enthält, oder die Metadaten als Zeichenfolge

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

-Mode

Der Modus der Richtliniendefinition

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

-Name

Gibt einen Namen für die Richtliniendefinition an.

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

-Parameter

Die Parameterdeklaration für die Richtliniendefinition. Dies kann entweder ein Pfad zu einem Dateinamen sein, der die Parameterdeklaration enthält, oder die Parameterdeklaration als Zeichenfolge.

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

-Policy

Gibt eine Richtlinienregel für die Richtliniendefinition an. Sie können den Pfad einer .json Datei oder eine Zeichenfolge angeben, die die Richtlinie im JSON-Format enthält.

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

-Pre

Gibt an, dass dieses Cmdlet vorab veröffentlichte API-Versionen berücksichtigt, wenn es automatisch bestimmt, welche Version verwendet werden soll.

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

-SubscriptionId

Die Abonnement-ID der neuen Richtliniendefinition.

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

Eingaben

String

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

Ausgaben

PSObject