New-AzPolicyDefinition
Tworzy lub aktualizuje definicję zasad.
Składnia
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>]
Opis
Polecenie cmdlet New-AzPolicyDefinition tworzy lub aktualizuje definicję zasad zawierającą 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.
Typ: | SwitchParameter |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-Confirm
Monituje o potwierdzenie przed uruchomieniem polecenia cmdlet.
Typ: | SwitchParameter |
Aliasy: | cf |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-DefaultProfile
Parametr DefaultProfile nie działa. Użyj parametru SubscriptionId, jeśli jest dostępny, jeśli wykonuje polecenie cmdlet dla innej subskrypcji.
Typ: | PSObject |
Aliasy: | AzureRMContext, AzureCredential |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-Description
Opis definicji zasad.
Typ: | String |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | True |
Akceptowanie symboli wieloznacznych: | False |
-DisplayName
Nazwa wyświetlana definicji zasad.
Typ: | String |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | True |
Akceptowanie symboli wieloznacznych: | False |
-ManagementGroupName
Identyfikator grupy zarządzania.
Typ: | String |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | True |
Akceptowanie danych wejściowych potoku: | True |
Akceptowanie symboli wieloznacznych: | False |
-Metadata
Metadane definicji zasad. Metadane są otwartym obiektem końcowym i zazwyczaj jest kolekcją par klucz-wartość.
Typ: | String |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | True |
Akceptowanie symboli wieloznacznych: | False |
-Mode
Tryb definicji zasad. Niektóre przykłady to All, Indexed, Microsoft.KeyVault.Data.
Typ: | String |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | True |
Akceptowanie symboli wieloznacznych: | False |
-Name
Nazwa definicji zasad do utworzenia.
Typ: | String |
Aliasy: | PolicyDefinitionName |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | True |
Akceptowanie danych wejściowych potoku: | True |
Akceptowanie symboli wieloznacznych: | False |
-Parameter
Definicje parametrów dla parametrów używanych w regule zasad. Klucze są nazwami parametrów.
Typ: | String |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | True |
Akceptowanie symboli wieloznacznych: | False |
-Policy
Reguła zasad.
Typ: | String |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | True |
Akceptowanie danych wejściowych potoku: | True |
Akceptowanie symboli wieloznacznych: | False |
-SubscriptionId
Identyfikator subskrypcji docelowej.
Typ: | String |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | True |
Akceptowanie danych wejściowych potoku: | True |
Akceptowanie symboli wieloznacznych: | False |
-WhatIf
Pokazuje, co się stanie, jeśli polecenie cmdlet zostanie uruchomione. Polecenie cmdlet nie jest uruchamiane.
Typ: | SwitchParameter |
Aliasy: | wi |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |