Share via


Azure İlkesi tanımları denyAction etkisi

Bu denyAction etki, uygun ölçekteki kaynaklara yönelik hedeflenen eyleme dayalı istekleri engellemek için kullanılır. Bugün desteklenen tek eylem: DELETE. Bu etki ve eylem adı, kritik kaynakların yanlışlıkla silinmesini önlemeye yardımcı olur.

DenyAction değerlendirmesi

Geçerli bir eylem adına ve hedeflenen kapsama sahip bir istek çağrısı gönderildiğinde, denyAction isteğin başarılı olmasını engeller. İstek olarak 403 (Forbidden)döndürülür. portalda, Forbidden ilke ataması tarafından engellenen bir dağıtım durumu olarak görüntülenebilir.

Microsoft.Authorization/policyAssignments, Microsoft.Authorization/denyAssignments, Microsoft.Blueprint/blueprintAssignments, Microsoft.Resources/deploymentStacks, , Microsoft.Resources/subscriptionsve Microsoft.Authorization/locks tüm kilitleme senaryolarını önlemek için zorlamadan denyAction muaftır.

Abonelik silme

İlke, abonelik silme sırasında gerçekleşen kaynakların kaldırılmasını engellemez.

Kaynak grubu silme

İlke, bir kaynak grubu silme işlemi sırasında konum ve etiketleri destekleyen kaynakları ilkelere göre denyAction değerlendirir. Yalnızca ilke kuralında olarak ayarlanmış deny ilkeler cascadeBehaviors kaynak grubu silme işlemini engeller. İlke, konumu ve etiketleri desteklemeyen kaynakların kaldırılmasını veya ile mode:allherhangi bir ilkenin kaldırılmasını engellemez.

Art arda silme

Üst kaynağın silinmesi tüm alt ve uzantı kaynaklarını örtük olarak silerken art arda silme gerçekleşir. Silme eylemi üst kaynakları hedeflediğinde, ilke alt ve uzantı kaynaklarının kaldırılmasını engellemez. Örneğin, Microsoft.Insights/diagnosticSettings uzantısının kaynağıdır Microsoft.Storage/storageaccounts. İlke denyAction hedefleniyorsa Microsoft.Insights/diagnosticSettings, tanılama ayarına (alt) yönelik silme çağrısı başarısız olur, ancak depolama hesabına (üst) yapılan silme işlemi tanılama ayarını (uzantı) örtük olarak siler.

Bu tabloda, atanan denyAction ilke ve çağrının hedeflenen kapsamı için geçerli olan kaynak göz önüne alındığında bir kaynağın DELETE silinmeye karşı korunup korunmadığı açıklanır. Bu tablo bağlamında, dizine alınan kaynak etiketleri ve konumları destekleyen kaynaktır ve dizine alınamayan bir kaynak da etiketleri veya konumları desteklemeyen kaynaktır. Dizine alınan ve dizine alınamayan kaynaklar hakkında daha fazla bilgi için tanım moduna gidin. Alt kaynaklar, yalnızca başka bir kaynak bağlamında bulunan kaynaklardır. Örneğin, bir sanal makine uzantısı kaynağı, üst kaynak olan sanal makinenin alt öğesidir.

Varlık siliniyor İlke koşullarına uygulanabilir varlık Eylem gerçekleştirilen
Kaynak Kaynak Korumalı
Abonelik Kaynak Silindi
Kaynak grubu Dizine alınan kaynak Bağlı cascadeBehaviors
Kaynak grubu Dizine alınan kaynak değil Silindi
Alt kaynak Üst kaynak Üst öğe korumalıdır; alt öğe silindi
Üst kaynak Alt kaynak Silindi

DenyAction özellikleri

details Efektin denyAction özelliği, eylemi ve davranışları tanımlayan tüm alt özelliklere sahiptir.

  • actionNames (gerekli)
    • Yürütülmesini engelleyecek eylemleri belirten bir dizi.
    • Desteklenen eylem adları şunlardır: delete.
  • cascadeBehaviors (isteğe bağlı)
    • Kaynak grubu kaldırıldığında bir kaynak örtük olarak silindiğinde hangi davranışın izlendiğini tanımlayan nesne.
    • Yalnızca modu olarak ayarlanmış indexedilke tanımlarında desteklenir.
    • İzin verilen değerler veya denyşeklindedirallow.
    • Varsayılan değer deny olarak belirlenmiştir.

DenyAction örneği

Örnek: Prod değerine eşit bir etiket ortamına sahip olan veritabanı hesaplarını hedefleyen silme çağrılarını reddedin. Art arda davranış reddetme olarak ayarlandığından, geçerli bir veritabanı hesabına sahip bir kaynak grubunu hedefleyen çağrıları DELETE engelleyin.

{
  "if": {
    "allOf": [
      {
        "field": "type",
        "equals": "Microsoft.DocumentDb/accounts"
      },
      {
        "field": "tags.environment",
        "equals": "prod"
      }
    ]
  },
  "then": {
    "effect": "denyAction",
    "details": {
      "actionNames": [
        "delete"
      ],
      "cascadeBehaviors": {
        "resourceGroup": "deny"
      }
    }
  }
}

Sonraki adımlar