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
Ausgaben
Azure PowerShell