Dela via


New-AzPolicyDefinition

Skapar eller uppdaterar en principdefinition.

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

Description

Cmdleten New-AzPolicyDefinition skapar eller uppdaterar en principdefinition som innehåller ett JSON-format för principregeln.

Exempel

Exempel 1: Skapa en principdefinition med hjälp av en principfil

{
   "if": {
      "field": "location",
      "notIn": ["eastus", "westus", "centralus"]
   },
   "then": {
      "effect": "audit"
   }
}

New-AzPolicyDefinition -Name 'LocationDefinition' -Policy C:\LocationPolicy.json

Det här kommandot skapar en principdefinition med namnet LocationDefinition som innehåller principregeln som anges i C:\LocationPolicy.json. Exempelinnehåll för LocationPolicy.json-filen anges ovan. Tre filinnehållsformat stöds: 1. Endast principregel (exempel ovan). 2. Objekt för principegenskaper. Det här formatet visas i portalen när du redigerar en principdefinition och kan innehålla parametrar. 3. Fullständigt principobjekt. Det här formatet genereras av azure policy-exportfunktionen och kan innehålla parametrar.

Obs! Värden som anges på kommandoraden (t.ex. parametrar, metadata) åsidosätter motsvarande värden som finns i filen.

Exempel 2: Skapa en parameteriserad principdefinition med infogade parametrar

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

Det här kommandot skapar en principdefinition med namnet LocationDefinition som innehåller principregeln som anges i C:\LocationPolicy.json. Parameterdefinitionen för principregeln anges infogad.

Exempel 3: Skapa en principdefinition infogad i en hanteringsgrupp

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

Det här kommandot skapar en principdefinition med namnet VMPolicyDefinition i hanteringsgruppen Dept42. Kommandot anger principen som en sträng i giltigt JSON-format.

Exempel 4: Skapa en principdefinition infogad med metadata

New-AzPolicyDefinition -Name 'VMPolicyDefinition' -Metadata '{"category":"Virtual Machine"}' -Policy '{"if":{"field":"type","equals":"Microsoft.Compute/virtualMachines"},"then":{"effect":"deny"}}' | Format-List

Det här kommandot skapar en principdefinition med namnet VMPolicyDefinition med metadata som anger att dess kategori är "Virtuell dator". Kommandot anger principen som en sträng i giltigt JSON-format.

Exempel 5: Skapa en principdefinition infogad med läge

New-AzPolicyDefinition -Name 'TagsPolicyDefinition' -Policy '{"if":{"value":"[less(length(field(''tags'')), 3)]","equals":true},"then":{"effect":"deny"}}' -Mode Indexed

Det här kommandot skapar en principdefinition med namnet TagsPolicyDefinition med läget "Indexerad" som anger att principen endast ska utvärderas för resurstyper som stöder taggar och platser.

Parametrar

-BackwardCompatible

Gör att cmdleten returnerar artefakter med äldre format som placerar principspecifika egenskaper i ett egenskapspåseobjekt.

Typ:SwitchParameter
Position:Named
standardvärde:None
Obligatorisk:False
Accept pipeline input:False
Accept wildcard characters:False

-Confirm

Uppmanar dig att bekräfta innan du kör cmdleten.

Typ:SwitchParameter
Aliases:cf
Position:Named
standardvärde:None
Obligatorisk:False
Accept pipeline input:False
Accept wildcard characters:False

-DefaultProfile

Parametern DefaultProfile fungerar inte. Använd parametern SubscriptionId när den är tillgänglig om du kör cmdleten mot en annan prenumeration.

Typ:PSObject
Aliases:AzureRMContext, AzureCredential
Position:Named
standardvärde:None
Obligatorisk:False
Accept pipeline input:False
Accept wildcard characters:False

-Description

Beskrivningen av principdefinitionen.

Typ:String
Position:Named
standardvärde:None
Obligatorisk:False
Accept pipeline input:True
Accept wildcard characters:False

-DisplayName

Principdefinitionens visningsnamn.

Typ:String
Position:Named
standardvärde:None
Obligatorisk:False
Accept pipeline input:True
Accept wildcard characters:False

-ManagementGroupName

ID för hanteringsgruppen.

Typ:String
Position:Named
standardvärde:None
Obligatorisk:True
Accept pipeline input:True
Accept wildcard characters:False

-Metadata

Metadata för principdefinition. Metadata är ett öppet slutobjekt och är vanligtvis en samling nyckelvärdepar.

Typ:String
Position:Named
standardvärde:None
Obligatorisk:False
Accept pipeline input:True
Accept wildcard characters:False

-Mode

Principdefinitionsläget. Några exempel är Alla, Indexerade, Microsoft.KeyVault.Data.

Typ:String
Position:Named
standardvärde:None
Obligatorisk:False
Accept pipeline input:True
Accept wildcard characters:False

-Name

Namnet på den principdefinition som ska skapas.

Typ:String
Aliases:PolicyDefinitionName
Position:Named
standardvärde:None
Obligatorisk:True
Accept pipeline input:True
Accept wildcard characters:False

-Parameter

Parameterdefinitionerna för parametrar som används i principregeln. Nycklarna är parameternamnen.

Typ:String
Position:Named
standardvärde:None
Obligatorisk:False
Accept pipeline input:True
Accept wildcard characters:False

-Policy

Principregeln.

Typ:String
Position:Named
standardvärde:None
Obligatorisk:True
Accept pipeline input:True
Accept wildcard characters:False

-SubscriptionId

ID för målprenumerationen.

Typ:String
Position:Named
standardvärde:None
Obligatorisk:True
Accept pipeline input:True
Accept wildcard characters:False

-WhatIf

Visar vad som skulle hända om cmdleten kördes. Cmdleten körs inte.

Typ:SwitchParameter
Aliases:wi
Position:Named
standardvärde:None
Obligatorisk:False
Accept pipeline input:False
Accept wildcard characters:False

Indata

String

Utdata

IPolicyDefinition