Freigeben über


New-AzPolicyDefinition

Erstellt oder aktualisiert eine Richtliniendefinition.

Syntax

New-AzPolicyDefinition
   -Name <String>
   -Policy <String>
   [-DisplayName <String>]
   [-Description <String>]
   [-Metadata <String>]
   [-Parameter <String>]
   [-Mode <String>]
   [-BackwardCompatible]
   [-DefaultProfile <PSObject>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
New-AzPolicyDefinition
   -Name <String>
   -ManagementGroupName <String>
   -Policy <String>
   [-DisplayName <String>]
   [-Description <String>]
   [-Metadata <String>]
   [-Parameter <String>]
   [-Mode <String>]
   [-BackwardCompatible]
   [-DefaultProfile <PSObject>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
New-AzPolicyDefinition
   -Name <String>
   -SubscriptionId <String>
   -Policy <String>
   [-DisplayName <String>]
   [-Description <String>]
   [-Metadata <String>]
   [-Parameter <String>]
   [-Mode <String>]
   [-BackwardCompatible]
   [-DefaultProfile <PSObject>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

Beschreibung

Das Cmdlet New-AzPolicyDefinition erstellt oder aktualisiert eine Richtliniendefinition, die ein JSON-Format für Richtlinienregel 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. Richtlinienregel nur (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"}}' | Format-List

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

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

-BackwardCompatible

Bewirkt, dass cmdlet Artefakte mithilfe von richtlinienspezifischen Eigenschaften im Legacyformat in einem Eigenschaftenbehälterobjekt zurückgibt.

Typ:SwitchParameter
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-Confirm

Hiermit werden Sie vor der Ausführung des Cmdlets zur Bestätigung aufgefordert.

Typ:SwitchParameter
Aliase:cf
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-DefaultProfile

Der Parameter DefaultProfile ist nicht funktionsfähig. Verwenden Sie den Parameter "SubscriptionId", wenn sie verfügbar ist, wenn Sie das Cmdlet für ein anderes Abonnement ausführen.

Typ:PSObject
Aliase:AzureRMContext, AzureCredential
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-Description

Die Beschreibung der Richtliniendefinition.

Typ:String
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:True
Platzhalterzeichen akzeptieren:False

-DisplayName

Der Anzeigename der Richtliniendefinition.

Typ:String
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:True
Platzhalterzeichen akzeptieren:False

-ManagementGroupName

Die ID der Verwaltungsgruppe.

Typ:String
Position:Named
Standardwert:None
Erforderlich:True
Pipelineeingabe akzeptieren:True
Platzhalterzeichen akzeptieren:False

-Metadata

Die Metadaten der Richtliniendefinition. Metadaten sind ein offenes beendetes Objekt und sind in der Regel eine Sammlung von Schlüsselwertpaaren.

Typ:String
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:True
Platzhalterzeichen akzeptieren:False

-Mode

Der Richtliniendefinitionsmodus. Einige Beispiele sind "All", "Indexed", "Microsoft.KeyVault.Data".

Typ:String
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:True
Platzhalterzeichen akzeptieren:False

-Name

Der Name der zu erstellenden Richtliniendefinition.

Typ:String
Aliase:PolicyDefinitionName
Position:Named
Standardwert:None
Erforderlich:True
Pipelineeingabe akzeptieren:True
Platzhalterzeichen akzeptieren:False

-Parameter

Die Parameterdefinitionen für Parameter, die in der Richtlinienregel verwendet werden. Die Schlüssel sind die Parameternamen.

Typ:String
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:True
Platzhalterzeichen akzeptieren:False

-Policy

Die Richtlinienregel.

Typ:String
Position:Named
Standardwert:None
Erforderlich:True
Pipelineeingabe akzeptieren:True
Platzhalterzeichen akzeptieren:False

-SubscriptionId

Hierbei handelt es sich um die ID des Zielabonnements.

Typ:String
Position:Named
Standardwert:None
Erforderlich:True
Pipelineeingabe akzeptieren:True
Platzhalterzeichen akzeptieren:False

-WhatIf

Zeigt, was geschieht, wenn das Cmdlet ausgeführt wird. Das Cmdlet wird nicht ausgeführt.

Typ:SwitchParameter
Aliase:wi
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

Eingaben

String

Ausgaben

IPolicyDefinition