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ů:
- Pouze pravidlo zásad (příklad výše).
- Objekt vlastností zásad. Tento formát se zobrazí na portálu při úpravě definice zásady a může obsahovat parametry.
- Ú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
Nullable<T>[[System.Guid, System.Private.CoreLib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]]