Az Azure Policy-definíciók megtagadási hatása

Az denyAction effektus a nagy léptékű erőforrásokra irányuló tervezett műveleten alapuló kérések letiltására szolgál. Az egyetlen támogatott művelet ma az DELETE. Ez az effektus és műveletnév segít megelőzni a kritikus erőforrások véletlen törlését.

DenyAction kiértékelése

Ha egy vonatkozó műveletnévvel és célzott hatókörrel rendelkező kérelemhívást küld, megakadályozza a denyAction kérés sikerességét. A kérést a visszaadott fájl a következőként 403 (Forbidden)adja vissza: . A portálon a Forbidden házirend-hozzárendelés által megakadályozott üzembe helyezési állapot tekinthető meg.

Microsoft.Authorization/policyAssignments, Microsoft.Authorization/denyAssignments, Microsoft.Blueprint/blueprintAssignments, Microsoft.Resources/deploymentStacks, Microsoft.Resources/subscriptions, és Microsoft.Authorization/locks mind mentesülnek a kényszerítés alól denyAction a zárolási forgatókönyvek elkerülése érdekében.

Előfizetés törlése

A szabályzat nem blokkolja az előfizetések törlése során előforduló erőforrások eltávolítását.

Erőforráscsoport törlése

A szabályzat kiértékeli azokat az erőforrásokat, amelyek támogatják a helyet és a címkéket denyAction az erőforráscsoportok törlése során. Csak azok a szabályzatok tiltják le az cascadeBehaviors erőforráscsoport törlését, amelyek a szabályzatszabályban beállítottak deny . A házirend nem blokkolja az olyan erőforrások eltávolítását, amelyek nem támogatják a helyet és a címkéket, sem a házirendeket mode:all.

Kaszkádolt törlés

A kaszkádolt törlés akkor fordul elő, ha egy szülőerőforrás törlése implicit módon törli az összes gyermek- és bővítményerőforrást. A házirend nem blokkolja a gyermek- és bővítményerőforrások eltávolítását, ha egy törlési művelet a szülőerőforrásokat célozza. Például Microsoft.Insights/diagnosticSettings a bővítmény erőforrása Microsoft.Storage/storageaccounts. Ha egy denyAction szabályzat célja Microsoft.Insights/diagnosticSettings, a diagnosztikai beállítás (gyermek) törlési hívása meghiúsul, de a tárfiók (szülő) törlése implicit módon törli a diagnosztikai beállítást (bővítményt).

Ez a táblázat azt ismerteti, hogy egy erőforrás védett-e a törléstől a hozzárendelt denyAction házirendre és a hívás célzott hatókörére DELETE vonatkozó erőforrás alapján. A táblázat kontextusában az indexelt erőforrás támogatja a címkéket és a helyeket, a nem indexelt erőforrások pedig nem támogatják a címkéket vagy helyeket. Az indexelt és nem indexelt erőforrásokról a definíciós módba léphet. A gyermekerőforrások olyan erőforrások, amelyek csak egy másik erőforrás környezetében léteznek. A virtuális gépek bővítményerőforrása például a virtuális gép gyermeke, amely a szülőerőforrás.

Törölendő entitás Szabályzatfeltételekre alkalmazható entitás Végrehajtott művelet
Erőforrás Erőforrás Védett
Előfizetés Erőforrás Törölve
Erőforráscsoport Indexelt erőforrás Függ cascadeBehaviors
Erőforráscsoport Nem indexelt erőforrás Törölve
Gyermekerőforrás Szülőerőforrás A szülő védett; a gyermek törlődik
Szülőerőforrás Gyermekerőforrás Törölve

DenyAction tulajdonságai

Az details effektus tulajdonsága denyAction minden olyan altulajdonságtal rendelkezik, amely meghatározza a műveletet és a viselkedést.

  • actionNames (kötelező)
    • Egy tömb , amely meghatározza, hogy mely műveletek ne legyenek végrehajtva.
    • A támogatott műveletnevek a következők: delete.
  • cascadeBehaviors (nem kötelező)
    • Egy objektum , amely meghatározza, hogy mely viselkedést követi az erőforrás implicit törlése egy erőforráscsoport eltávolításakor.
    • Csak a szabályzatdefiníciókban támogatott, a mód pedig a következőre indexedvan állítva: .
    • Az engedélyezett értékek a következők: allow vagy deny.
    • Az alapértelmezett érték deny.

DenyAction példa

Példa: Tiltsa le azokat a törlési hívásokat, amelyek olyan adatbázisfiókokat céloznak meg, amelyek címkekörnyezete egyenlő prod. Mivel a kaszkádolt viselkedés elutasításra van állítva, tiltsa le azokat DELETE a hívásokat, amelyek egy adott adatbázisfiókkal rendelkező erőforráscsoportot céloznak meg.

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

Következő lépések