Policy Definitions - Create Or Update
Bu işlem, verilen abonelikte verilen isimle bir politika tanımı oluşturur veya günceller.
PUT https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policyDefinitions/{policyDefinitionName}?api-version=2026-07-01
URI Parametreleri
| Name | İçinde | Gerekli | Tür | Description |
|---|---|---|---|---|
|
policy
|
path | True |
string pattern: ^[^<>%&:\?/]*[^<>%&:\?/ ]+$ |
Alınacak ilke tanımının adı. |
|
subscription
|
path | True |
string (uuid) |
Hedef aboneliğin kimliği. Değer bir UUID olmalıdır. |
|
api-version
|
query | True |
string minLength: 1 |
Bu işlem için kullanılacak API sürümü. |
İstek Gövdesi
| Name | Tür | Description |
|---|---|---|
| properties.description |
string |
İlke tanımı açıklaması. |
| properties.displayName |
string |
İlke tanımının görünen adı. |
| properties.externalEvaluationEnforcementSettings |
Zorlama değerlendirmesi sırasında ilkenin gerektirdiği dış değerlendirme sonuçlarının kaynağının ayrıntıları. |
|
| properties.metadata |
İlke tanımı meta verileri. Meta veriler açık uçlu bir nesnedir ve genellikle anahtar değer çiftleri koleksiyonudur. |
|
| properties.mode |
string |
İlke tanımı modu. Bazı örnekler All, Indexed, Microsoft.KeyVault.Data'dır. |
| properties.parameters |
<string,
Parameter |
İlke kuralında kullanılan parametreler için parametre tanımları. Anahtarlar parametre adlarıdır. |
| properties.policyRule |
İlke kuralı. |
|
| properties.policyType |
İlke tanımının türü. Olası değerler NotSpecified, BuiltIn, Custom ve Static değerleridir. |
|
| properties.version |
string |
#.#.# biçimindeki ilke tanımı sürümü. |
| properties.versions |
string[] |
Bu ilke tanımı için kullanılabilir sürümlerin listesi. |
Yanıtlar
| Name | Tür | Description |
|---|---|---|
| 201 Created |
Kaynak 'PolicyDefinition' operasyonu oluşturma başarılı oldu |
|
| Other Status Codes |
Beklenmeyen bir hata yanıtı. |
Güvenlik
azure_auth
Azure Active Directory OAuth2 Akışı.
Tür:
oauth2
Akış:
implicit
Yetkilendirme URL’si:
https://login.microsoftonline.com/common/oauth2/authorize
Kapsamlar
| Name | Description |
|---|---|
| user_impersonation | kullanıcı hesabınızı taklit etme |
Örnekler
| Create or update a policy definition |
| Create or update a policy definition with advanced parameters |
| Create or update a policy definition with external evaluation enforcement settings |
Create or update a policy definition
Örnek isteği
PUT https://management.azure.com/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming?api-version=2026-07-01
{
"properties": {
"description": "Force resource names to begin with given 'prefix' and/or end with given 'suffix'",
"displayName": "Enforce resource naming convention",
"metadata": {
"category": "Naming"
},
"mode": "All",
"parameters": {
"prefix": {
"type": "String",
"metadata": {
"description": "Resource name prefix",
"displayName": "Prefix"
}
},
"suffix": {
"type": "String",
"metadata": {
"description": "Resource name suffix",
"displayName": "Suffix"
}
}
},
"policyRule": {
"if": {
"not": {
"field": "name",
"like": "[concat(parameters('prefix'), '*', parameters('suffix'))]"
}
},
"then": {
"effect": "deny"
}
}
}
}
Örnek yanıt
{
"name": "ResourceNaming",
"type": "Microsoft.Authorization/policyDefinitions",
"id": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming",
"properties": {
"description": "Force resource names to begin with 'prefix' and end with 'suffix'",
"displayName": "Naming Convention",
"metadata": {
"category": "Naming"
},
"mode": "All",
"parameters": {
"prefix": {
"type": "String",
"metadata": {
"description": "Resource name prefix",
"displayName": "Prefix"
}
},
"suffix": {
"type": "String",
"metadata": {
"description": "Resource name suffix",
"displayName": "Suffix"
}
}
},
"policyRule": {
"if": {
"not": {
"field": "name",
"like": "[concat(parameters('prefix'), '*', parameters('suffix'))]"
}
},
"then": {
"effect": "deny"
}
},
"policyType": "Custom",
"version": "1.2.1",
"versions": [
"1.2.1",
"1.0.0"
]
}
}
Create or update a policy definition with advanced parameters
Örnek isteği
PUT https://management.azure.com/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/EventHubDiagnosticLogs?api-version=2026-07-01
{
"properties": {
"description": "Audit enabling of logs and retain them up to a year. This enables recreation of activity trails for investigation purposes when a security incident occurs or your network is compromised",
"displayName": "Event Hubs should have diagnostic logging enabled",
"metadata": {
"category": "Event Hub"
},
"mode": "Indexed",
"parameters": {
"requiredRetentionDays": {
"type": "Integer",
"allowedValues": [
0,
30,
90,
180,
365
],
"defaultValue": 365,
"metadata": {
"description": "The required diagnostic logs retention in days",
"displayName": "Required retention (days)"
}
}
},
"policyRule": {
"if": {
"equals": "Microsoft.EventHub/namespaces",
"field": "type"
},
"then": {
"effect": "AuditIfNotExists",
"details": {
"type": "Microsoft.Insights/diagnosticSettings",
"existenceCondition": {
"allOf": [
{
"equals": "true",
"field": "Microsoft.Insights/diagnosticSettings/logs[*].retentionPolicy.enabled"
},
{
"equals": "[parameters('requiredRetentionDays')]",
"field": "Microsoft.Insights/diagnosticSettings/logs[*].retentionPolicy.days"
}
]
}
}
}
}
}
}
Örnek yanıt
{
"name": "ResourceNaming",
"type": "Microsoft.Authorization/policyDefinitions",
"id": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming",
"properties": {
"description": "Audit enabling of logs and retain them up to a year. This enables recreation of activity trails for investigation purposes when a security incident occurs or your network is compromised",
"displayName": "Event Hubs should have diagnostic logging enabled",
"metadata": {
"category": "Event Hub"
},
"mode": "Indexed",
"parameters": {
"requiredRetentionDays": {
"type": "Integer",
"allowedValues": [
0,
30,
90,
180,
365
],
"defaultValue": 365,
"metadata": {
"description": "The required diagnostic logs retention in days",
"displayName": "Required retention (days)"
}
}
},
"policyRule": {
"if": {
"equals": "Microsoft.EventHub/namespaces",
"field": "type"
},
"then": {
"effect": "AuditIfNotExists",
"details": {
"type": "Microsoft.Insights/diagnosticSettings",
"existenceCondition": {
"allOf": [
{
"equals": "true",
"field": "Microsoft.Insights/diagnosticSettings/logs[*].retentionPolicy.enabled"
},
{
"equals": "[parameters('requiredRetentionDays')]",
"field": "Microsoft.Insights/diagnosticSettings/logs[*].retentionPolicy.days"
}
]
}
}
}
},
"version": "1.2.1",
"versions": [
"1.2.1",
"1.0.0"
]
}
}
Create or update a policy definition with external evaluation enforcement settings
Örnek isteği
PUT https://management.azure.com/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/RandomizeVMAllocation?api-version=2026-07-01
{
"properties": {
"description": "Randomly disable VM allocation in eastus by having policy rule reference the outcome of invoking an external endpoint using the CoinFlip endpoint that returns random values.",
"displayName": "Randomize VM Allocation",
"externalEvaluationEnforcementSettings": {
"endpointSettings": {
"kind": "CoinFlip",
"details": {
"successProbability": 0.5
}
},
"missingTokenAction": "audit",
"roleDefinitionIds": [
"subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/roleDefinitions/f0cc2aea-b517-48f6-8f9e-0c01c687907b"
]
},
"metadata": {
"category": "VM"
},
"mode": "Indexed",
"policyRule": {
"if": {
"allOf": [
{
"equals": "Microsoft.Compute/virtualMachines",
"field": "type"
},
{
"equals": "eastus",
"field": "location"
},
{
"equals": "false",
"value": "[claims().isValid]"
}
]
},
"then": {
"effect": "deny"
}
}
}
}
Örnek yanıt
{
"name": "RandomizeVMAllocation",
"type": "Microsoft.Authorization/policyDefinitions",
"id": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/RandomizeVMAllocation",
"properties": {
"description": "Randomly disable VM allocation in eastus by having policy rule reference the outcome of invoking an external endpoint using the CoinFlip endpoint that returns random values.",
"displayName": "Randomize VM Allocation",
"externalEvaluationEnforcementSettings": {
"endpointSettings": {
"kind": "CoinFlip",
"details": {
"successProbability": 0.5
}
},
"missingTokenAction": "audit",
"roleDefinitionIds": [
"subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/roleDefinitions/f0cc2aea-b517-48f6-8f9e-0c01c687907b"
]
},
"metadata": {
"category": "VM"
},
"mode": "Indexed",
"policyRule": {
"if": {
"allOf": [
{
"equals": "Microsoft.Compute/virtualMachines",
"field": "type"
},
{
"equals": "eastus",
"field": "location"
},
{
"equals": "false",
"value": "[claims().isValid]"
}
]
},
"then": {
"effect": "deny"
}
},
"policyType": "Custom",
"version": "1.2.1",
"versions": [
"1.2.1",
"1.0.0"
]
}
}
Tanımlar
| Name | Description |
|---|---|
|
created |
Kaynağı oluşturan kimliğin türü. |
|
Error |
Kaynak yönetimi hatasına ilişkin ek bilgiler. |
|
Error |
Hata ayrıntısı. |
|
Error |
Hata yanıtı |
|
External |
Değerlendirme sonuçları sağlayan bir dış uç noktanın ayarları. |
|
External |
Zorlama değerlendirmesi sırasında ilkenin gerektirdiği dış değerlendirme sonuçlarının kaynağının ayrıntıları. |
|
Parameter |
İlkeye sağlanabilir bir parametrenin tanımı. |
|
Parameter |
parametresi için genel meta veriler. |
|
Parameter |
Parametresinin veri türü. |
|
Policy |
İlke tanımı. |
|
Policy |
İlke tanımının türü. Olası değerler NotSpecified, BuiltIn, Custom ve Static değerleridir. |
|
system |
Kaynağın oluşturulması ve son değiştirilmesiyle ilgili meta veriler. |
createdByType
Kaynağı oluşturan kimliğin türü.
| Değer | Description |
|---|---|
| User | |
| Application | |
| ManagedIdentity | |
| Key |
ErrorAdditionalInfo
Kaynak yönetimi hatasına ilişkin ek bilgiler.
| Name | Tür | Description |
|---|---|---|
| info |
object |
Ek bilgiler. |
| type |
string |
Ek bilgi türü. |
ErrorDetail
Hata ayrıntısı.
| Name | Tür | Description |
|---|---|---|
| additionalInfo |
Hata ek bilgisi. |
|
| code |
string |
Hata kodu. |
| details |
Hata ayrıntıları. |
|
| message |
string |
Hata iletisi. |
| target |
string |
Hata hedefi |
ErrorResponse
Hata yanıtı
| Name | Tür | Description |
|---|---|---|
| error |
Hata nesnesi. |
ExternalEvaluationEndpointSettings
Değerlendirme sonuçları sağlayan bir dış uç noktanın ayarları.
| Name | Tür | Description |
|---|---|---|
| details |
Uç noktanın ayrıntıları. |
|
| kind |
string |
Uç noktanın türü. |
ExternalEvaluationEnforcementSettings
Zorlama değerlendirmesi sırasında ilkenin gerektirdiği dış değerlendirme sonuçlarının kaynağının ayrıntıları.
| Name | Tür | Description |
|---|---|---|
| endpointSettings |
Değerlendirme sonuçları sağlayan bir dış uç noktanın ayarları. |
|
| missingTokenAction |
string |
Dış değerlendirme gerektiren ve belirteç eksik olan bir zorlama ilkesini değerlendirirken yapılması gerekenler. Olası değerler Denetim ve Reddet'tir ve dil ifadeleri desteklenir. |
| resultLifespan |
string |
Uç nokta çağırma sonucunun kullanım ömrü, bundan sonra geçerliliğini yitirir. Değerin ISO 8601 süre biçimini izlemesi beklenir ve dil ifadeleri desteklenir. |
| roleDefinitionIds |
string[] |
Atamanın MSI'sinin uç noktayı çağırmak için ihtiyaç duyacağı rol tanımı kimlikleri dizisi. |
ParameterDefinitionsValue
İlkeye sağlanabilir bir parametrenin tanımı.
| Name | Tür | Description |
|---|---|---|
| allowedValues |
Allowed |
parametresi için izin verilen değerler. |
| defaultValue |
Değer sağlanmazsa parametresi için varsayılan değer. |
|
| metadata |
parametresi için genel meta veriler. |
|
| schema |
Kendi kendine tanımlanmış bir JSON şeması kullanarak atama sırasında parametre girişlerinin doğrulanması sağlar. Bu özellik yalnızca nesne tipi parametreler için desteklenir ve Json.NET Schema 2019-09 uygulamasını takip eder. adresinde şemaları https://json-schema.org/ kullanma hakkında daha fazla bilgi edinebilir ve adresinden taslak şemaları https://www.jsonschemavalidator.net/test edebilirsiniz. |
|
| type |
Parametresinin veri türü. |
ParameterDefinitionsValueMetadata
parametresi için genel meta veriler.
| Name | Tür | Description |
|---|---|---|
| assignPermissions |
boolean |
Politika ataması sırasında Azure portalının bu parametrenin kaynak kimliği veya kaynak kapsamı değeri üzerinde rol atamaları oluşturmasını sağlamak için doğru olarak ayarlanın. Bu özellik, atama kapsamının dışında izinler atamak istemeniz durumunda kullanışlıdır. |
| description |
string |
Parametresinin açıklaması. |
| displayName |
string |
Parametresinin görünen adı. |
| strongType |
string |
portal aracılığıyla ilke tanımı atanırken kullanılır. Kullanıcının seçileceği değerlerin bağlam bilgisi olan bir listesi sağlar. |
ParameterType
Parametresinin veri türü.
| Değer | Description |
|---|---|
| String |
Dizi parametre türü. |
| Array |
Dizi parametre türü. |
| Object |
Nesne parametre türü. |
| Boolean |
Boolean parametre türü. |
| Integer |
Tamsayı parametre türü. |
| Float |
Float parametre türü. |
| DateTime |
Tarih-saat parametre türü. |
PolicyDefinition
İlke tanımı.
| Name | Tür | Default value | Description |
|---|---|---|---|
| id |
string (arm-id) |
Kaynağın tam nitelikli kaynak kimliği. Örneğin "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" |
|
| name |
string |
Kaynağın adı |
|
| properties.description |
string |
İlke tanımı açıklaması. |
|
| properties.displayName |
string |
İlke tanımının görünen adı. |
|
| properties.externalEvaluationEnforcementSettings |
Zorlama değerlendirmesi sırasında ilkenin gerektirdiği dış değerlendirme sonuçlarının kaynağının ayrıntıları. |
||
| properties.metadata |
İlke tanımı meta verileri. Meta veriler açık uçlu bir nesnedir ve genellikle anahtar değer çiftleri koleksiyonudur. |
||
| properties.mode |
string |
Indexed |
İlke tanımı modu. Bazı örnekler All, Indexed, Microsoft.KeyVault.Data'dır. |
| properties.parameters |
<string,
Parameter |
İlke kuralında kullanılan parametreler için parametre tanımları. Anahtarlar parametre adlarıdır. |
|
| properties.policyRule |
İlke kuralı. |
||
| properties.policyType |
İlke tanımının türü. Olası değerler NotSpecified, BuiltIn, Custom ve Static değerleridir. |
||
| properties.version |
string |
#.#.# biçimindeki ilke tanımı sürümü. |
|
| properties.versions |
string[] |
Bu ilke tanımı için kullanılabilir sürümlerin listesi. |
|
| systemData |
createdBy ve modifiedBy bilgilerini içeren Azure Resource Manager meta verileri. |
||
| type |
string |
Kaynağın türü. Örneğin, "Microsoft.Compute/virtualMachines" veya "Microsoft.Storage/storageAccounts" |
PolicyType
İlke tanımının türü. Olası değerler NotSpecified, BuiltIn, Custom ve Static değerleridir.
| Değer | Description |
|---|---|
| NotSpecified |
Belirtilmemiş politika tanımı türü. |
| BuiltIn |
Yerleşik politika tanımı türü. |
| Custom |
Özel politika tanım türü. |
| Static |
Statik politika tanımı türü. |
systemData
Kaynağın oluşturulması ve son değiştirilmesiyle ilgili meta veriler.
| Name | Tür | Description |
|---|---|---|
| createdAt |
string (date-time) |
Kaynak oluşturmanın zaman damgası (UTC). |
| createdBy |
string |
Kaynağı oluşturan kimlik. |
| createdByType |
Kaynağı oluşturan kimliğin türü. |
|
| lastModifiedAt |
string (date-time) |
Kaynağın son değişikliğinin zaman damgası (UTC) |
| lastModifiedBy |
string |
Kaynağı en son değiştiren kimlik. |
| lastModifiedByType |
Kaynağı en son değiştiren kimlik türü. |