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:
- Nur Richtlinienregel (Beispiel oben).
- Richtlinieneigenschaftenobjekt. Dieses Format wird beim Bearbeiten einer Richtliniendefinition im Portal angezeigt und kann Parameter enthalten.
- 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.
Typ: | String |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-DefaultProfile
Anmeldeinformationen, Konto, Mandant und Abonnement für die Kommunikation mit Azure
Typ: | IAzureContextContainer |
Aliases: | AzContext, AzureRmContext, AzureCredential |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Description
Gibt eine Beschreibung für die Richtliniendefinition an.
Typ: | String |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-DisplayName
Gibt einen Anzeigenamen für die Richtliniendefinition an.
Typ: | String |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-ManagementGroupName
Der Name der Verwaltungsgruppe der neuen Richtliniendefinition.
Typ: | String |
Position: | Named |
Standardwert: | None |
Erforderlich: | 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
Typ: | String |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Mode
Der Modus der Richtliniendefinition
Typ: | String |
Position: | Named |
Standardwert: | All |
Erforderlich: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Name
Gibt einen Namen für die Richtliniendefinition an.
Typ: | String |
Position: | Named |
Standardwert: | None |
Erforderlich: | 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.
Typ: | String |
Position: | Named |
Standardwert: | None |
Erforderlich: | 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.
Typ: | String |
Position: | Named |
Standardwert: | None |
Erforderlich: | 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.
Typ: | SwitchParameter |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-SubscriptionId
Die Abonnement-ID der neuen Richtliniendefinition.
Typ: | Nullable<T>[Guid] |
Position: | Named |
Standardwert: | None |
Erforderlich: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
Eingaben
Nullable<T>[[System.Guid, System.Private.CoreLib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]]