New-AzureRmPolicyDefinition
Tworzy definicję zasad.
Ostrzeżenie
Moduł AzureRM PowerShell jest oficjalnie przestarzały od 29 lutego 2024 r. Zaleca się migrowanie użytkowników z modułu AzureRM do modułu Az programu PowerShell w celu zapewnienia ciągłej obsługi i aktualizacji.
Mimo że moduł AzureRM może nadal działać, nie jest już utrzymywany ani obsługiwany, umieszczając wszelkie dalsze zastosowania według uznania i ryzyka użytkownika. Zapoznaj się z naszymi zasobami migracji, aby uzyskać wskazówki dotyczące przejścia do modułu Az.
Składnia
New-AzureRmPolicyDefinition
-Name <String>
[-DisplayName <String>]
[-Description <String>]
-Policy <String>
[-Metadata <String>]
[-Parameter <String>]
[-Mode <PolicyDefinitionMode>]
[-ApiVersion <String>]
[-Pre]
[-DefaultProfile <IAzureContextContainer>]
[-InformationAction <ActionPreference>]
[-InformationVariable <String>]
[<CommonParameters>]
New-AzureRmPolicyDefinition
-Name <String>
[-DisplayName <String>]
[-Description <String>]
-Policy <String>
[-Metadata <String>]
[-Parameter <String>]
[-Mode <PolicyDefinitionMode>]
-ManagementGroupName <String>
[-ApiVersion <String>]
[-Pre]
[-DefaultProfile <IAzureContextContainer>]
[-InformationAction <ActionPreference>]
[-InformationVariable <String>]
[<CommonParameters>]
New-AzureRmPolicyDefinition
-Name <String>
[-DisplayName <String>]
[-Description <String>]
-Policy <String>
[-Metadata <String>]
[-Parameter <String>]
[-Mode <PolicyDefinitionMode>]
-SubscriptionId <Guid>
[-ApiVersion <String>]
[-Pre]
[-DefaultProfile <IAzureContextContainer>]
[-InformationAction <ActionPreference>]
[-InformationVariable <String>]
[<CommonParameters>]
Opis
Polecenie cmdlet New-AzureRmPolicyDefinition tworzy definicję zasad, która zawiera regułę zasad w formacie JavaScript Object Notation (JSON).
Przykłady
Przykład 1. Tworzenie definicji zasad przy użyciu pliku zasad
{
"if": {
"field": "location",
"notIn": ["eastus", "westus", "centralus"]
},
"then": {
"effect": "audit"
}
}
PS C:\> New-AzureRmPolicyDefinition -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 udostępniana powyżej.
Przykład 2. Tworzenie sparametryzowanej definicji zasad przy użyciu parametrów wbudowanych
{
"if": {
"field": "location",
"notIn": "[parameters('listOfAllowedLocations')]"
},
"then": {
"effect": "audit"
}
}
PS C:\> New-AzureRmPolicyDefinition -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
PS C:\> New-AzureRmPolicyDefinition -Name 'VMPolicyDefinition' -ManagementGroupName Dept42 -DisplayName 'Virtual Machine policy definition' -Policy '{"if":{"source":"action","equals":"Microsoft.Compute/virtualMachines/write"},"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
PS C:\> New-AzureRmPolicyDefinition -Name 'VMPolicyDefinition' -Metadata '{"Category":"Virtual Machine"}' -Policy '{"if":{"source":"action","equals":"Microsoft.Compute/virtualMachines/write"},"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
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.
Parametry
-ApiVersion
Określa wersję interfejsu API dostawcy zasobów do użycia. Jeśli nie określisz wersji, to polecenie cmdlet używa najnowszej dostępnej wersji.
Typ: | String |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-DefaultProfile
Poświadczenia, konto, dzierżawa i subskrypcja używane do komunikacji z platformą Azure
Typ: | IAzureContextContainer |
Aliasy: | AzureRmContext, AzureCredential |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-Description
Określa opis definicji zasad.
Typ: | String |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | True |
Akceptowanie symboli wieloznacznych: | False |
-DisplayName
Określa nazwę wyświetlaną definicji zasad.
Typ: | String |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | True |
Akceptowanie symboli wieloznacznych: | False |
-InformationAction
Określa, jak to polecenie cmdlet reaguje na zdarzenie informacyjne. Dopuszczalne wartości tego parametru to:
- Kontynuuj
- Ignoruj
- Zapytać
- SilentlyContinue
- Zatrzymaj
- Wstrzymanie
Typ: | ActionPreference |
Aliasy: | infa |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-InformationVariable
Określa zmienną informacyjną.
Typ: | String |
Aliasy: | iv |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-ManagementGroupName
Nazwa grupy zarządzania nowej definicji zasad.
Typ: | String |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | True |
Akceptowanie danych wejściowych potoku: | True |
Akceptowanie symboli wieloznacznych: | False |
-Metadata
Metadane definicji zasad. Może to być ścieżka do nazwy pliku zawierającej metadane lub metadanych jako ciąg
Typ: | String |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | True |
Akceptowanie symboli wieloznacznych: | False |
-Mode
Tryb definicji zasad
Typ: | Nullable<T>[PolicyDefinitionMode] |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | True |
Akceptowanie symboli wieloznacznych: | False |
-Name
Określa nazwę definicji zasad.
Typ: | String |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | True |
Akceptowanie danych wejściowych potoku: | True |
Akceptowanie symboli wieloznacznych: | False |
-Parameter
Deklaracja parametrów definicji zasad. Może to być ścieżka do nazwy pliku zawierającej deklarację parametrów lub deklarację parametrów jako ciąg.
Typ: | String |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | True |
Akceptowanie symboli wieloznacznych: | False |
-Policy
Określa regułę zasad dla definicji zasad. Możesz określić ścieżkę pliku .json lub ciąg zawierający zasady w formacie JSON.
Typ: | String |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | True |
Akceptowanie danych wejściowych potoku: | True |
Akceptowanie symboli wieloznacznych: | False |
-Pre
Wskazuje, że to polecenie cmdlet uwzględnia wersje interfejsu API wersji wstępnej, gdy automatycznie określa wersję do użycia.
Typ: | SwitchParameter |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-SubscriptionId
Identyfikator subskrypcji nowej definicji zasad.
Typ: | Nullable<T>[Guid] |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | True |
Akceptowanie danych wejściowych potoku: | True |
Akceptowanie symboli wieloznacznych: | False |