Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Efekt denyAction jest używany do blokowania żądań w zależności od zamierzonego działania dla zasobów na dużą skalę. Jedynym obsługiwanym obecnie działaniem jest DELETE. Ten efekt i nazwa akcji pomagają zapobiec przypadkowemu usunięciu krytycznych zasobów.
Ocena denyAction
Kiedy zostanie wysłane wywołanie z odpowiednią nazwą akcji i zakresem docelowym, denyAction uniemożliwia sukces tego żą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.Blueprint/blueprintAssignmentsMicrosoft.Resources/deploymentStacks, , Microsoft.Resources/subscriptionsi Microsoft.Authorization/locks są zwolnione z denyAction wymuszania, aby zapobiec scenariuszom blokady.
Usuwanie subskrypcji
Polityka nie blokuje usuwania zasobów, które zachodzi podczas usuwania subskrypcji.
Usuwanie grupy zasobów
Zasady oceniają zasoby obsługujące lokalizację i tagi zgodnie z zasadami denyAction podczas usuwania grupy zasobów. Tylko zasady, które mają ustawioną cascadeBehaviorsdeny 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 nie blokują żadnych zasad związanych z mode:all.
Usuwanie kaskadowe
Usunięcie kaskadowe występuje, gdy usunięcie zasobu nadrzędnego niejawnie powoduje usunięcie wszystkich jego zasobów podrzędnych i rozszerzeń. 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 rozszerzenia Microsoft.Storage/storageaccounts.
denyAction Jeśli zasada jest skierowana na Microsoft.Insights/diagnosticSettings, próba usunięcia ustawienia diagnostycznego (podrzędnego) zakończy się niepowodzeniem, ale usunięcie konta magazynowego (nadrzędnego) niejawnie spowoduje usunięcie ustawienia diagnostycznego (rozszerzenia).
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.
| Usuwanie jednostki | 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 od cascadeBehaviors |
| Grupa zasobów | Zasób nieindeksowany | Usunięte |
| Zasób dziecko | Zasób nadrzędny | Rodzic jest chroniony; dziecko jest usuwane |
| Zasób nadrzędny | Zasób dziecko | Usunięte |
Właściwości DenyAction
Właściwość details efektu denyAction ma wszystkie podwłaściwości, które definiują akcje i zachowania.
-
actionNames(wymagane)- Tablica określająca akcje, które należy uniemożliwić przed wykonaniem.
- 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.