Sdílet prostřednictvím


New-AzPolicyDefinition

Vytvoří definici zásady.

Syntaxe

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

Description

Rutina New-AzPolicyDefinition vytvoří definici zásady, která obsahuje pravidlo zásad ve formátu JSON (JavaScript Object Notation).

Příklady

Příklad 1: Vytvoření definice zásady pomocí souboru zásad

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

Tento příkaz vytvoří definici zásady s názvem LocationDefinition, která obsahuje pravidlo zásady zadané v C:\LocationPolicy.json. Příklad obsahu souboru LocationPolicy.json je uvedený výše. Podporují se tři formáty obsahu souborů:

  1. Pouze pravidlo zásad (příklad výše).
  2. Objekt vlastností zásad. Tento formát se zobrazí na portálu při úpravě definice zásady a může obsahovat parametry.
  3. Úplný objekt zásady. Tento formát vygeneruje funkce exportu služby Azure Policy a může obsahovat parametry.

Poznámka: Hodnoty zadané na příkazovém řádku (např. parametry, metadata) přepíší odpovídající hodnoty, které jsou v souboru.

Příklad 2: Vytvoření definice parametrizované zásady pomocí vložených parametrů

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

Tento příkaz vytvoří definici zásady s názvem LocationDefinition, která obsahuje pravidlo zásady zadané v C:\LocationPolicy.json. Definice parametru pravidla zásad je uvedená v textu.

Příklad 3: Vytvoření definice zásady vložené do skupiny pro správu

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

Tento příkaz vytvoří definici zásady s názvem VMPolicyDefinition ve skupině pro správu Dept42. Příkaz určuje zásadu jako řetězec v platném formátu JSON.

Příklad 4: Vytvoření definice zásady vložené s metadaty

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

Tento příkaz vytvoří definici zásady s názvem VMPolicyDefinition s metadaty označujícími, že je její kategorie "Virtuální počítač". Příkaz určuje zásadu jako řetězec v platném formátu JSON.

Příklad 5: Vytvoření definice zásady vložené s režimem

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

Tento příkaz vytvoří definici zásady s názvem TagsPolicyDefinition s režimem Indexováno, což znamená, že zásady by se měly vyhodnotit pouze pro typy prostředků, které podporují značky a umístění.

Parametry

-ApiVersion

Určuje verzi rozhraní API poskytovatele prostředků, která se má použít. Pokud nezadáte verzi, použije tato rutina nejnovější dostupnou verzi.

Typ:String
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-DefaultProfile

Přihlašovací údaje, účet, tenant a předplatné používané ke komunikaci s Azure

Typ:IAzureContextContainer
Aliasy:AzContext, AzureRmContext, AzureCredential
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-Description

Určuje popis definice zásady.

Typ:String
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:True
Přijmout zástupné znaky:False

-DisplayName

Určuje zobrazovaný název definice zásady.

Typ:String
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:True
Přijmout zástupné znaky:False

-ManagementGroupName

Název skupiny pro správu nové definice zásady.

Typ:String
Position:Named
Default value:None
Vyžadováno:True
Přijmout vstup kanálu:True
Přijmout zástupné znaky:False

-Metadata

Metadata pro definici zásad. Může to být cesta k názvu souboru, který obsahuje metadata, nebo metadata jako řetězec.

Typ:String
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:True
Přijmout zástupné znaky:False

-Mode

Režim definice zásady

Typ:String
Position:Named
Default value:All
Vyžadováno:False
Přijmout vstup kanálu:True
Přijmout zástupné znaky:False

-Name

Určuje název definice zásady.

Typ:String
Position:Named
Default value:None
Vyžadováno:True
Přijmout vstup kanálu:True
Přijmout zástupné znaky:False

-Parameter

Deklarace parametrů pro definici zásady. Může to být cesta k názvu souboru, který obsahuje deklaraci parametrů, nebo deklaraci parametrů jako řetězec.

Typ:String
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:True
Přijmout zástupné znaky:False

-Policy

Určuje pravidlo zásad pro definici zásady. Můžete zadat cestu k souboru .json nebo řetězci, který obsahuje zásadu ve formátu JSON.

Typ:String
Position:Named
Default value:None
Vyžadováno:True
Přijmout vstup kanálu:True
Přijmout zástupné znaky:False

-Pre

Označuje, že tato rutina bere v úvahu předběžné verze rozhraní API, když automaticky určí, kterou verzi použít.

Typ:SwitchParameter
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-SubscriptionId

ID předplatného nové definice zásady.

Typ:Nullable<T>[Guid]
Position:Named
Default value:None
Vyžadováno:True
Přijmout vstup kanálu:True
Přijmout zástupné znaky:False

Vstupy

String

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

Výstupy

PSObject