Efekt denyAction definicji usługi Azure Policy
Efekt denyAction
jest używany do blokowania żądań na podstawie zamierzonej akcji dla zasobów na dużą skalę. Jedyną obsługiwaną obecnie akcją jest DELETE
. Ten efekt i nazwa akcji pomagają zapobiec przypadkowemu usunięciu krytycznych zasobów.
Ocena denyAction
Gdy zostanie przesłane wywołanie żądania z odpowiednią nazwą akcji i zakresem docelowym, denyAction
uniemożliwia powodzenie żądania. Żądanie jest zwracane jako 403 (Forbidden)
. W portalu Forbidden
można wyświetlić stan wdrożenia, który został uniemożliwiony przez przypisanie zasad.
Microsoft.Authorization/policyAssignments
, , Microsoft.Authorization/denyAssignments
, Microsoft.Resources/deploymentStacks
Microsoft.Blueprint/blueprintAssignments
, , Microsoft.Resources/subscriptions
i Microsoft.Authorization/locks
są zwolnione z denyAction
wymuszania, aby zapobiec scenariuszom blokady.
Usuwanie subskrypcji
Zasady nie blokują usuwania zasobów występujących podczas usuwania subskrypcji.
Usuwanie grupy zasobów
Zasady oceniają zasoby, które obsługują lokalizację i tagi względem denyAction
zasad podczas usuwania grupy zasobów. Tylko zasady, które mają ustawioną cascadeBehaviors
deny
wartość w regule zasad, blokują usunięcie grupy zasobów. Zasady nie blokują usuwania zasobów, które nie obsługują lokalizacji i tagów ani żadnych zasad za pomocą polecenia mode:all
.
Usuwanie kaskadowe
Usunięcie kaskadowe występuje, gdy usunięcie zasobu nadrzędnego jest niejawnie usuwa wszystkie zasoby podrzędne i rozszerzenia. Zasady nie blokują usuwania zasobów podrzędnych i rozszerzeń, gdy akcja usuwania jest przeznaczona dla zasobów nadrzędnych. Na przykład Microsoft.Insights/diagnosticSettings
to zasób Microsoft.Storage/storageaccounts
rozszerzenia . denyAction
Jeśli zasady są docelowe Microsoft.Insights/diagnosticSettings
, wywołanie usuwania do ustawienia diagnostycznego (podrzędne) zakończy się niepowodzeniem, ale usunięcie konta magazynu (nadrzędnego) niejawnie spowoduje usunięcie ustawienia diagnostycznego (rozszerzenie).
W tej tabeli opisano, czy zasób jest chroniony przed usunięciem, biorąc pod uwagę zasób mający zastosowanie do przypisanych denyAction
zasad i docelowy zakres wywołania DELETE
. W kontekście tej tabeli zasób indeksowany jest taki, który obsługuje tagi i lokalizacje, a nieindeksowany zasób jest taki, który nie obsługuje tagów ani lokalizacji. Aby uzyskać więcej informacji na temat indeksowanych i nieindeksowanych zasobów, przejdź do trybu definicji. Zasoby podrzędne to zasoby, które istnieją tylko w kontekście innego zasobu. Na przykład zasób rozszerzenia maszyn wirtualnych jest elementem podrzędnym maszyny wirtualnej, która jest zasobem nadrzędnym.
Usunięto jednostkę | Jednostka mająca zastosowanie do warunków zasad | Podjęto akcję |
---|---|---|
Zasób | Zasób | Chronione |
Subskrypcja | Zasób | Usunięte |
Grupa zasobów | Zasób indeksowany | Zależy cascadeBehaviors |
Grupa zasobów | Zasób nieindeksowany | Usunięte |
Zasób podrzędny | Zasób nadrzędny | Element nadrzędny jest chroniony; element podrzędny jest usuwany |
Zasób nadrzędny | Zasób podrzędny | Usunięte |
Właściwości DenyAction
Właściwość details
denyAction
efektu ma wszystkie podwłaściwości, które definiują akcję i zachowania.
actionNames
(wymagane)- Tablica określająca akcje, które mają uniemożliwić wykonywanie.
- Obsługiwane nazwy akcji to:
delete
.
cascadeBehaviors
(opcjonalnie)
Przykład denyAction
Przykład: Odmów wszelkich wywołań usuwania przeznaczonych dla kont bazy danych, które mają środowisko tagów równe prod. Ponieważ zachowanie kaskadowe jest ustawione na odmowę, należy zablokować każde DELETE
wywołanie, które jest przeznaczone dla grupy zasobów z odpowiednim kontem bazy danych.
{
"if": {
"allOf": [
{
"field": "type",
"equals": "Microsoft.DocumentDb/accounts"
},
{
"field": "tags.environment",
"equals": "prod"
}
]
},
"then": {
"effect": "denyAction",
"details": {
"actionNames": [
"delete"
],
"cascadeBehaviors": {
"resourceGroup": "deny"
}
}
}
}
Następne kroki
- Zapoznaj się z przykładami w przykładach usługi Azure Policy.
- Przejrzyj temat Struktura definicji zasad Azure Policy.
- Dowiedz się, jak programowo tworzyć zasady.
- Dowiedz się, jak uzyskać dane zgodności.
- Dowiedz się, jak korygować niezgodne zasoby.
- Przejrzyj grupy zarządzania platformy Azure.