Dela via


New-AzureRmPolicyDefinition

Skapar en principdefinition.

Varning

AzureRM PowerShell-modulen är officiellt inaktuell från och med den 29 februari 2024. Användare rekommenderas att migrera från AzureRM till Az PowerShell-modulen för att säkerställa fortsatt support och uppdateringar.

Även om AzureRM-modulen fortfarande kan fungera, underhålls den inte längre eller stöds, vilket gör att användaren kan välja och riskera fortsatt användning. Se våra migreringsresurser för vägledning om övergången till Az-modulen.

Syntax

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>]

Description

Cmdleten New-AzureRmPolicyDefinition skapar en principdefinition som innehåller en principregel i JSON-format (JavaScript Object Notation).

Exempel

Exempel 1: Skapa en principdefinition med hjälp av en principfil

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

PS C:\> New-AzureRmPolicyDefinition -Name 'LocationDefinition' -Policy C:\LocationPolicy.json

Det här kommandot skapar en principdefinition med namnet LocationDefinition som innehåller principregeln som anges i C:\LocationPolicy.json. Exempelinnehåll för LocationPolicy.json-filen anges ovan.

Exempel 2: Skapa en parameteriserad principdefinition med infogade parametrar

{
   "if": {
      "field": "location",
      "notIn": "[parameters('listOfAllowedLocations')]"
   },
   "then": {
      "effect": "audit"
   }
}

PS C:\> New-AzureRmPolicyDefinition -Name 'LocationDefinition' -Policy C:\LocationPolicy.json -Parameter '{ "listOfAllowedLocations": { "type": "array" } }'

Det här kommandot skapar en principdefinition med namnet LocationDefinition som innehåller principregeln som anges i C:\LocationPolicy.json. Parameterdefinitionen för principregeln anges infogad.

Exempel 3: Skapa en principdefinition infogad i en hanteringsgrupp

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"}}'

Det här kommandot skapar en principdefinition med namnet VMPolicyDefinition i hanteringsgruppen Dept42. Kommandot anger principen som en sträng i giltigt JSON-format.

Exempel 4: Skapa en principdefinition infogad med metadata

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

Det här kommandot skapar en principdefinition med namnet VMPolicyDefinition med metadata som anger att dess kategori är "Virtuell dator". Kommandot anger principen som en sträng i giltigt JSON-format.

Parametrar

-ApiVersion

Anger vilken version av resursprovider-API:et som ska användas. Om du inte anger någon version använder den här cmdleten den senaste tillgängliga versionen.

Typ:String
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-DefaultProfile

Autentiseringsuppgifter, konto, klientorganisation och prenumeration som används för kommunikation med Azure

Typ:IAzureContextContainer
Alias:AzureRmContext, AzureCredential
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-Description

Anger en beskrivning av principdefinitionen.

Typ:String
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:True
Godkänn jokertecken:False

-DisplayName

Anger ett visningsnamn för principdefinitionen.

Typ:String
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:True
Godkänn jokertecken:False

-InformationAction

Anger hur den här cmdleten svarar på en informationshändelse. De acceptabla värdena för den här parametern är:

  • Fortsätt
  • Ignorera
  • Fråga
  • TystKontinuera
  • Stoppa
  • Suspend
Typ:ActionPreference
Alias:infa
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-InformationVariable

Anger en informationsvariabel.

Typ:String
Alias:iv
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-ManagementGroupName

Namnet på hanteringsgruppen för den nya principdefinitionen.

Typ:String
Position:Named
Standardvärde:None
Obligatorisk:True
Godkänn pipeline-indata:True
Godkänn jokertecken:False

-Metadata

Metadata för principdefinition. Detta kan antingen vara en sökväg till ett filnamn som innehåller metadata eller metadata som sträng

Typ:String
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:True
Godkänn jokertecken:False

-Mode

Läget för principdefinitionen

Typ:Nullable<T>[PolicyDefinitionMode]
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:True
Godkänn jokertecken:False

-Name

Anger ett namn för principdefinitionen.

Typ:String
Position:Named
Standardvärde:None
Obligatorisk:True
Godkänn pipeline-indata:True
Godkänn jokertecken:False

-Parameter

Parameterdeklarationen för principdefinition. Detta kan antingen vara en sökväg till ett filnamn som innehåller parameterdeklarationen eller parameterdeklarationen som sträng.

Typ:String
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:True
Godkänn jokertecken:False

-Policy

Anger en principregel för principdefinitionen. Du kan ange sökvägen till en .json fil eller en sträng som innehåller principen i JSON-format.

Typ:String
Position:Named
Standardvärde:None
Obligatorisk:True
Godkänn pipeline-indata:True
Godkänn jokertecken:False

-Pre

Anger att den här cmdleten tar hänsyn till förhandsversioner av API:et när den automatiskt avgör vilken version som ska användas.

Typ:SwitchParameter
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-SubscriptionId

Prenumerations-ID för den nya principdefinitionen.

Typ:Nullable<T>[Guid]
Position:Named
Standardvärde:None
Obligatorisk:True
Godkänn pipeline-indata:True
Godkänn jokertecken:False