Udostępnij przez


New-AzPolicyDefinition

Tworzy lub aktualizuje definicję zasad.

Składnia

Name (domyślnie)

New-AzPolicyDefinition
    -Name <String>
    -Policy <String>
    [-DisplayName <String>]
    [-Description <String>]
    [-Metadata <String>]
    [-Parameter <String>]
    [-Mode <String>]
    [-BackwardCompatible]
    [-DefaultProfile <PSObject>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

ManagementGroupName

New-AzPolicyDefinition
    -Name <String>
    -ManagementGroupName <String>
    -Policy <String>
    [-DisplayName <String>]
    [-Description <String>]
    [-Metadata <String>]
    [-Parameter <String>]
    [-Mode <String>]
    [-BackwardCompatible]
    [-DefaultProfile <PSObject>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

SubscriptionId

New-AzPolicyDefinition
    -Name <String>
    -SubscriptionId <String>
    -Policy <String>
    [-DisplayName <String>]
    [-Description <String>]
    [-Metadata <String>]
    [-Parameter <String>]
    [-Mode <String>]
    [-BackwardCompatible]
    [-DefaultProfile <PSObject>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

Opis

Polecenie cmdlet New-AzPolicyDefinition tworzy lub aktualizuje definicję zasad, która zawiera format JSON reguły zasad.

Przykłady

Przykład 1. Tworzenie definicji zasad przy użyciu pliku zasad

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

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

To polecenie tworzy definicję zasad o nazwie LocationDefinition, która zawiera regułę zasad określoną w C:\LocationPolicy.json. Przykładowa zawartość pliku LocationPolicy.json jest podana powyżej. Obsługiwane są trzy formaty zawartości pliku: 1. Tylko reguła zasad (przykład powyżej). 2. Obiekt właściwości zasad. Ten format jest wyświetlany w portalu podczas edytowania definicji zasad i może zawierać parametry. 3. Pełny obiekt zasad. Ten format jest generowany przez funkcję eksportowania usługi Azure Policy i może zawierać parametry.

Uwaga: wartości podane w wierszu polecenia (np. parametry, metadane) zastępują odpowiednie wartości obecne w pliku.

Przykład 2. Tworzenie sparametryzowanej definicji zasad przy użyciu parametrów wbudowanych

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

To polecenie tworzy definicję zasad o nazwie LocationDefinition, która zawiera regułę zasad określoną w C:\LocationPolicy.json. Definicja parametru dla reguły zasad jest podana w tekście.

Przykład 3. Tworzenie wbudowanej definicji zasad w grupie zarządzania

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

To polecenie tworzy definicję zasad o nazwie VMPolicyDefinition w grupie zarządzania Dept42. Polecenie określa zasady jako ciąg w prawidłowym formacie JSON.

Przykład 4. Tworzenie wbudowanej definicji zasad za pomocą metadanych

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

To polecenie tworzy definicję zasad o nazwie VMPolicyDefinition z metadanymi wskazującymi, że jego kategoria to "Maszyna wirtualna". Polecenie określa zasady jako ciąg w prawidłowym formacie JSON.

Przykład 5. Tworzenie definicji zasad w tekście z trybem

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

To polecenie tworzy definicję zasad o nazwie TagsPolicyDefinition z trybem "Indeksowane", wskazując, że zasady powinny być oceniane tylko dla typów zasobów, które obsługują tagi i lokalizację.

Parametry

-BackwardCompatible

Powoduje, że polecenie cmdlet zwraca artefakty przy użyciu starszego formatu umieszczania właściwości specyficznych dla zasad w obiekcie torby właściwości.

Właściwości parametru

Typ:SwitchParameter
Domyślna wartość:None
Obsługuje symbole wieloznaczne:False
DontShow:False

Zestawy parametrów

(All)
Position:Named
Obowiązkowe:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False

-Confirm

Prosi o potwierdzenie przed uruchomieniem cmdletu.

Właściwości parametru

Typ:SwitchParameter
Domyślna wartość:None
Obsługuje symbole wieloznaczne:False
DontShow:False
Aliasy:por

Zestawy parametrów

(All)
Position:Named
Obowiązkowe:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False

-DefaultProfile

Parametr DefaultProfile nie działa. Użyj parametru SubscriptionId, jeśli jest dostępny, jeśli wykonuje polecenie cmdlet dla innej subskrypcji.

Właściwości parametru

Typ:PSObject
Domyślna wartość:None
Obsługuje symbole wieloznaczne:False
DontShow:False
Aliasy:AzureRMContext, AzureCredential

Zestawy parametrów

(All)
Position:Named
Obowiązkowe:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False

-Description

Opis definicji zasad.

Właściwości parametru

Typ:String
Domyślna wartość:None
Obsługuje symbole wieloznaczne:False
DontShow:False

Zestawy parametrów

(All)
Position:Named
Obowiązkowe:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:True
Wartość z pozostałych argumentów:False

-DisplayName

Nazwa wyświetlana definicji zasad.

Właściwości parametru

Typ:String
Domyślna wartość:None
Obsługuje symbole wieloznaczne:False
DontShow:False

Zestawy parametrów

(All)
Position:Named
Obowiązkowe:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:True
Wartość z pozostałych argumentów:False

-ManagementGroupName

Identyfikator grupy zarządzania.

Właściwości parametru

Typ:String
Domyślna wartość:None
Obsługuje symbole wieloznaczne:False
DontShow:False

Zestawy parametrów

ManagementGroupName
Position:Named
Obowiązkowe:True
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:True
Wartość z pozostałych argumentów:False

-Metadata

Metadane definicji zasad. Metadane są otwartym obiektem końcowym i zazwyczaj jest kolekcją par klucz-wartość.

Właściwości parametru

Typ:String
Domyślna wartość:None
Obsługuje symbole wieloznaczne:False
DontShow:False

Zestawy parametrów

(All)
Position:Named
Obowiązkowe:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:True
Wartość z pozostałych argumentów:False

-Mode

Tryb definicji zasad. Niektóre przykłady to All, Indexed, Microsoft.KeyVault.Data.

Właściwości parametru

Typ:String
Domyślna wartość:None
Obsługuje symbole wieloznaczne:False
DontShow:False

Zestawy parametrów

(All)
Position:Named
Obowiązkowe:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:True
Wartość z pozostałych argumentów:False

-Name

Nazwa definicji zasad do utworzenia.

Właściwości parametru

Typ:String
Domyślna wartość:None
Obsługuje symbole wieloznaczne:False
DontShow:False
Aliasy:PolicyDefinitionName

Zestawy parametrów

(All)
Position:Named
Obowiązkowe:True
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:True
Wartość z pozostałych argumentów:False

-Parameter

Definicje parametrów dla parametrów używanych w regule zasad. Klucze są nazwami parametrów.

Właściwości parametru

Typ:String
Domyślna wartość:None
Obsługuje symbole wieloznaczne:False
DontShow:False

Zestawy parametrów

(All)
Position:Named
Obowiązkowe:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:True
Wartość z pozostałych argumentów:False

-Policy

Reguła zasad.

Właściwości parametru

Typ:String
Domyślna wartość:None
Obsługuje symbole wieloznaczne:False
DontShow:False

Zestawy parametrów

(All)
Position:Named
Obowiązkowe:True
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:True
Wartość z pozostałych argumentów:False

-SubscriptionId

Identyfikator subskrypcji docelowej.

Właściwości parametru

Typ:String
Domyślna wartość:None
Obsługuje symbole wieloznaczne:False
DontShow:False

Zestawy parametrów

SubscriptionId
Position:Named
Obowiązkowe:True
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:True
Wartość z pozostałych argumentów:False

-WhatIf

Pokazuje, co się stanie, jeśli polecenie cmdlet zostanie uruchomione. Cmdlet nie jest uruchomiony.

Właściwości parametru

Typ:SwitchParameter
Domyślna wartość:None
Obsługuje symbole wieloznaczne:False
DontShow:False
Aliasy:Wi

Zestawy parametrów

(All)
Position:Named
Obowiązkowe:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False

CommonParameters

To polecenie cmdlet obsługuje typowe parametry: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction i -WarningVariable. Aby uzyskać więcej informacji, zobacz about_CommonParameters.

Dane wejściowe

String

Dane wyjściowe

IPolicyDefinition