New-AzPolicyDefinition
İlke tanımı oluşturur.
Sözdizimi
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:
- Yalnızca ilke kuralı (yukarıdaki örnek).
- İlke özellikleri nesnesi. Bu biçim, bir ilke tanımı düzenlenirken portalda görüntülenir ve parametreler içerebilir.
- 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.
Tür: | String |
Position: | Named |
Default value: | None |
Gerekli: | False |
İşlem hattı girişini kabul et: | False |
Joker karakterleri kabul et: | False |
-DefaultProfile
Azure ile iletişim için kullanılan kimlik bilgileri, hesap, kiracı ve abonelik
Tür: | IAzureContextContainer |
Diğer adlar: | AzContext, AzureRmContext, AzureCredential |
Position: | Named |
Default value: | None |
Gerekli: | False |
İşlem hattı girişini kabul et: | False |
Joker karakterleri kabul et: | False |
-Description
İlke tanımı için bir açıklama belirtir.
Tür: | String |
Position: | Named |
Default value: | None |
Gerekli: | False |
İşlem hattı girişini kabul et: | True |
Joker karakterleri kabul et: | False |
-DisplayName
İlke tanımı için bir görünen ad belirtir.
Tür: | String |
Position: | Named |
Default value: | None |
Gerekli: | False |
İşlem hattı girişini kabul et: | True |
Joker karakterleri kabul et: | False |
-ManagementGroupName
Yeni ilke tanımının yönetim grubunun adı.
Tür: | String |
Position: | Named |
Default value: | None |
Gerekli: | True |
İşlem hattı girişini kabul et: | True |
Joker karakterleri kabul et: | 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
Tür: | String |
Position: | Named |
Default value: | None |
Gerekli: | False |
İşlem hattı girişini kabul et: | True |
Joker karakterleri kabul et: | False |
-Mode
İlke tanımının modu
Tür: | String |
Position: | Named |
Default value: | All |
Gerekli: | False |
İşlem hattı girişini kabul et: | True |
Joker karakterleri kabul et: | False |
-Name
İlke tanımı için bir ad belirtir.
Tür: | String |
Position: | Named |
Default value: | None |
Gerekli: | True |
İşlem hattı girişini kabul et: | True |
Joker karakterleri kabul et: | 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.
Tür: | String |
Position: | Named |
Default value: | None |
Gerekli: | False |
İşlem hattı girişini kabul et: | True |
Joker karakterleri kabul et: | 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.
Tür: | String |
Position: | Named |
Default value: | None |
Gerekli: | True |
İşlem hattı girişini kabul et: | True |
Joker karakterleri kabul et: | 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.
Tür: | SwitchParameter |
Position: | Named |
Default value: | None |
Gerekli: | False |
İşlem hattı girişini kabul et: | False |
Joker karakterleri kabul et: | False |
-SubscriptionId
Yeni ilke tanımının abonelik kimliği.
Tür: | Nullable<T>[Guid] |
Position: | Named |
Default value: | None |
Gerekli: | True |
İşlem hattı girişini kabul et: | True |
Joker karakterleri kabul et: | False |
Girişler
Nullable<T>[[System.Guid, System.Private.CoreLib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]]