Udostępnij za pośrednictwem


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