New-AzPolicyDefinition

İlke tanımı oluşturur.

Syntax

New-AzPolicyDefinition
   -Name <String>
   [-DisplayName <String>]
   [-Description <String>]
   -Policy <String>
   [-Metadata <String>]
   [-Parameter <String>]
   [-Mode <String>]
   [-ApiVersion <String>]
   [-Pre]
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]
New-AzPolicyDefinition
   -Name <String>
   [-DisplayName <String>]
   [-Description <String>]
   -Policy <String>
   [-Metadata <String>]
   [-Parameter <String>]
   [-Mode <String>]
   -ManagementGroupName <String>
   [-ApiVersion <String>]
   [-Pre]
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]
New-AzPolicyDefinition
   -Name <String>
   [-DisplayName <String>]
   [-Description <String>]
   -Policy <String>
   [-Metadata <String>]
   [-Parameter <String>]
   [-Mode <String>]
   -SubscriptionId <Guid>
   [-ApiVersion <String>]
   [-Pre]
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]

Description

New-AzPolicyDefinition cmdlet'i, JavaScript Nesne Gösterimi (JSON) biçiminde bir ilke kuralı içeren bir ilke tanımı oluşturur.

Örnekler

Örnek 1: İlke dosyası kullanarak ilke tanımı oluşturma

<#{
   "if": {
      "field": "location",
      "notIn": ["eastus", "westus", "centralus"]
   },
   "then": {
      "effect": "audit"
   }
}#>
New-AzPolicyDefinition -Name 'LocationDefinition' -Policy C:\LocationPolicy.json

Bu komut, C:\LocationPolicy.json içinde belirtilen ilke kuralını içeren LocationDefinition adlı bir ilke tanımı oluşturur. LocationPolicy.json dosyası için örnek içerik yukarıda verilmiştir. Üç dosya içerik biçimi desteklenir:

  1. Yalnızca ilke kuralı (yukarıdaki örnek).
  2. İlke özellikleri nesnesi. Bu biçim, bir ilke tanımı düzenlenirken portalda görüntülenir ve parametreler içerebilir.
  3. Tam ilke nesnesi. Bu biçim Azure İlkesi dışarı aktarma işlevi tarafından oluşturulur ve parametreler içerebilir.

Not: Komut satırında sağlanan değerler (örn. parametreler, meta veriler) dosyada bulunan karşılık gelen değerleri geçersiz kılar.

Örnek 2: Satır içi parametreleri kullanarak parametreli ilke tanımı oluşturma

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

Bu komut, C:\LocationPolicy.json içinde belirtilen ilke kuralını içeren LocationDefinition adlı bir ilke tanımı oluşturur. İlke kuralı için parametre tanımı satır içinde sağlanır.

Örnek 3: Yönetim grubunda satır içi ilke tanımı oluşturma

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

Bu komut, Dept42 yönetim grubunda VMPolicyDefinition adlı bir ilke tanımı oluşturur. komutu, ilkeyi geçerli JSON biçiminde bir dize olarak belirtir.

Örnek 4: Meta verilerle satır içi bir ilke tanımı oluşturma

New-AzPolicyDefinition -Name 'VMPolicyDefinition' -Metadata '{"category":"Virtual Machine"}' -Policy '{"if":{"field":"type","equals":"Microsoft.Compute/virtualMachines"},"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

Bu komut, kategorisinin "Sanal Makine" olduğunu belirten meta verilerle VMPolicyDefinition adlı bir ilke tanımı oluşturur. komutu, ilkeyi geçerli JSON biçiminde bir dize olarak belirtir.

Örnek 5: Modla satır içi bir ilke tanımı oluşturma

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

Name               : TagsPolicyDefinition
ResourceId         : /subscriptions/11111111-1111-1111-1111-111111111111/providers/Microsoft.Authorization/policyDefinitions/TagsPolicyDefinition
ResourceName       : TagsPolicyDefinition
ResourceType       : Microsoft.Authorization/policyDefinitions
SubscriptionId     : 11111111-1111-1111-1111-111111111111
Properties         : @{displayName=TagsPolicyDefinition; policyType=Custom; mode=Indexed; metadata=; parameters=; policyRule=}
PolicyDefinitionId : /subscriptions/11111111-1111-1111-1111-111111111111/providers/Microsoft.Authorization/policyDefinitions/TagsPolicyDefinition

Bu komut, ilkenin yalnızca etiketleri ve konumu destekleyen kaynak türleri için değerlendirilmesi gerektiğini belirten "Dizinli" moduyla TagsPolicyDefinition adlı bir ilke tanımı oluşturur.

Parametreler

-ApiVersion

Kullanılacak kaynak sağlayıcısı API'sinin sürümünü belirtir. Bir sürüm belirtmezseniz, bu cmdlet kullanılabilir en son sürümü kullanır.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DefaultProfile

Azure ile iletişim için kullanılan kimlik bilgileri, hesap, kiracı ve abonelik

Type:IAzureContextContainer
Aliases:AzContext, AzureRmContext, AzureCredential
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Description

İlke tanımı için bir açıklama belirtir.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-DisplayName

İlke tanımı için bir görünen ad belirtir.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-ManagementGroupName

Yeni ilke tanımının yönetim grubunun adı.

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Metadata

İlke tanımı için meta veriler. Bu, meta verileri içeren bir dosya adının yolu veya dize olarak meta veriler olabilir

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Mode

İlke tanımının modu

Type:String
Position:Named
Default value:All
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Name

İlke tanımı için bir ad belirtir.

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Parameter

İlke tanımı için parametre bildirimi. Bu, parametre bildirimini içeren bir dosya adının yolu veya dize olarak parametre bildirimi olabilir.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Policy

İlke tanımı için bir ilke kuralı belirtir. bir .json dosyasının veya ilkeyi içeren bir dizenin yolunu JSON biçiminde belirtebilirsiniz.

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Pre

Bu cmdlet'in hangi sürümün kullanılacağını otomatik olarak belirlediğinde yayın öncesi API sürümlerini göz önünde bulundurduğunu gösterir.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-SubscriptionId

Yeni ilke tanımının abonelik kimliği.

Type:Nullable<T>[Guid]
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

Girişler

String

Nullable<T>[[System.Guid, System.Private.CoreLib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]]

Çıkışlar

PSObject