Určení příčiny nedodržování předpisů

Pokud se prostředek Azure určí jako nevyhovující pravidlu zásad, je užitečné pochopit, se kterou částí pravidla prostředek nedodržující předpisy. Je také užitečné pochopit, jakou změnou se dříve vyhovující prostředek změnil, aby nedodržující předpisy. Existují dva způsoby, jak tyto informace najít:

Podrobnosti dodržování předpisů

Pokud prostředek nedodrží předpisy, jsou podrobnosti o dodržování předpisů pro tento prostředek k dispozici na stránce Dodržování zásad. Podokno podrobností dodržování předpisů obsahuje následující informace:

  • Podrobnosti o prostředku, jako je název, typ, umístění a ID prostředku
  • Stav dodržování předpisů a časové razítko posledního vyhodnocení pro aktuální přiřazení zásad
  • Seznam důvodů, proč prostředek nedodrží předpisy

Důležité

Vzhledem k tomu, že podrobnosti o dodržování předpisů pro prostředek nedodržující předpisy zobrazují aktuální hodnotu vlastností tohoto prostředku, musí mít uživatel operaci čtení pro typ prostředku. Pokud je například prostředek Nedodržující předpisy Microsoft.Compute/virtualMachines, musí mít uživatel operaci Microsoft.Compute/virtualMachines/read. Pokud uživatel nemá potřebnou operaci, zobrazí se chyba přístupu.

Pokud chcete zobrazit podrobnosti o dodržování předpisů, postupujte takto:

  1. Spusťte službu Azure Policy ve službě Azure Portal tak, že vyberete Všechny služby a pak vyhledáte a vyberete Zásady.

  2. Na stránce Přehled nebo Kompatibilita vyberte zásadu ve stavu dodržování předpisů, která není kompatibilní.

  3. Na kartě Dodržování předpisů prostředky na stránce Dodržování zásad vyberte a podržte (nebo klikněte pravým tlačítkem) nebo vyberte tři tečky prostředku ve stavu dodržování předpisů, který předpisy nedodrží. Pak vyberte Zobrazit podrobnosti o dodržování předpisů.

    Snímek obrazovky s odkazem Zobrazit podrobnosti o dodržování předpisů na kartě Dodržování předpisů prostředky

  4. V podokně Podrobnosti o dodržování předpisů se zobrazují informace z nejnovějšího vyhodnocení prostředku k aktuálnímu přiřazení zásady. V tomto příkladu se zjistilo, že pole Microsoft.Sql/servers/version je 12.0, zatímco definice zásady očekávala verzi 14.0. Pokud prostředek není kompatibilní z několika důvodů, je každý uvedený v tomto podokně.

    Snímek obrazovky s podoknem Podrobnosti o dodržování předpisů a důvody nedodržení předpisů, že aktuální hodnota je 12 a cílová hodnota je 14

    Pro definici zásady auditIfNotExists nebo deployIfNotExists obsahují podrobnosti vlastnost details.type a všechny volitelné vlastnosti. Seznam najdete v tématu auditIfNotExists – vlastnosti a deployIfNotExists – vlastnosti. Naposledy vyhodnocený prostředek je související prostředek z části podrobností definice.

    Příklad částečné definice deployIfNotExists:

    {
        "if": {
            "field": "type",
            "equals": "[parameters('resourceType')]"
        },
        "then": {
            "effect": "DeployIfNotExists",
            "details": {
                "type": "Microsoft.Insights/metricAlerts",
                "existenceCondition": {
                    "field": "name",
                    "equals": "[concat(parameters('alertNamePrefix'), '-', resourcegroup().name, '-', field('name'))]"
                },
                "existenceScope": "subscription",
                "deployment": {
                    ...
                }
            }
        }
    }
    

    Snímek obrazovky s podoknem Podrobnosti dodržování předpisů pro ifNotExists včetně vyhodnocených počtu prostředků

Poznámka

Pokud chcete chránit data, když je hodnota vlastnosti tajným kódem, aktuální hodnota zobrazí hvězdičky.

Tyto podrobnosti vysvětlují, proč prostředek aktuálně nedodržoval předpisy, ale nezmiňoval se, kdy byla provedena změna prostředku, která způsobila jeho nedodržující předpisy. Tyto informace najdete níže v tématu Historie změn (Preview).

Důvody dodržování předpisů

Resource Manager režimy a režimy poskytovatele prostředků mají různé důvody pro nedodržování předpisů.

Obecné Resource Manager dodržování předpisů v režimu ladění

Následující tabulka mapuje jednotlivé Resource Manager režimu na zodpovědnou podmínku v definici zásady:

Důvod Podmínka
Aktuální hodnota musí obsahovat cílovou hodnotu jako klíč. containsKey nebo notContainsKey
Aktuální hodnota musí obsahovat cílovou hodnotu. contains or notContains
Aktuální hodnota musí být rovna cílové hodnotě. equals nebo notEquals
Aktuální hodnota musí být menší než cílová hodnota. less nebo not greaterOrEquals
Aktuální hodnota musí být větší nebo rovna cílové hodnotě. greaterOrEquals nebo not less
Aktuální hodnota musí být větší než cílová hodnota. greater nebo not lessOrEquals
Aktuální hodnota musí být menší nebo rovna cílové hodnotě. lessOrEquals nebo není větší
Aktuální hodnota musí existovat. Existuje
Aktuální hodnota musí být v cílové hodnotě. in nebo notIn
Aktuální hodnota musí být podobná cílové hodnotě. like or notLike
Aktuální hodnota musí rozlišovat malá a velká písmena a odpovídat cílové hodnotě. match nebo notMatch
Aktuální hodnota musí bez rozlišení velkých a malých písmen odpovídat cílové hodnotě. matchInsensitively nebo notMatchInsensitively
Aktuální hodnota nesmí obsahovat cílovou hodnotu jako klíč. notContainsKey nebo not containsKey
Aktuální hodnota nesmí obsahovat cílovou hodnotu. notContains or not contains
Aktuální hodnota nesmí být rovna cílové hodnotě. notEquals nebo not equals
Aktuální hodnota nesmí existovat. not exists (neexistuje)
Aktuální hodnota nesmí být v cílové hodnotě. notIn nebo not in
Aktuální hodnota nesmí být jako cílová hodnota. notLike nebo not like
Aktuální hodnota nesmí rozlišovat malá a velká písmena s cílovou hodnotou. notMatch nebo neshoda
Aktuální hodnota nesmí bez rozlišení velkých a malých písmen odpovídat cílové hodnotě. notMatchInsensitively nebo not matchInsensitively
Podrobnosti o efektu v definici zásady neodpovídají žádným souvisejícím prostředkům. Prostředek typu definovaného v souboru then.details.type, který souvisí s prostředek definovaným v části if pravidla zásad neexistuje.

Důvody dodržování předpisů v režimu poskytovatele prostředků AKS

Následující tabulka mapuje jednotlivé důvody režimu poskytovatele prostředků na zodpovědný stav Microsoft.Kubernetes.Data šablony omezení v definici zásady:

Důvod Popis důvodu šablony omezení
Constraint/TemplateCreateFailed Prostředku se nepodařilo vytvořit pro definici zásady s omezením nebo šablonou, která neodpovídá existujícímu omezení nebo šabloně v clusteru podle názvu metadat prostředku.
Constraint/TemplateUpdateFailed Omezení nebo šablona se nepodařilo aktualizovat pro definici zásady s omezením nebo šablonou, která odpovídá existujícímu omezení nebo šabloně v clusteru podle názvu metadat prostředku.
Omezení /TemplateInstallFailed Kvůli operaci vytvoření nebo aktualizace se nepovedlo sestavit omezení nebo šablonu a nepodařilo se ji nainstalovat do clusteru.
ConstraintTemplateConflicts Šablona je v konfliktu s jednou nebo více definicemi zásad, které používají stejný název šablony s jiným zdrojem.
ConstraintStatusStale Existuje stav Audit, ale Gatekeeper za poslední hodinu audit provedl.
ConstraintNotProcessed Neexistuje žádný stav a Gatekeeper za poslední hodinu nebyl audit proveden.
InvalidConstraint/Template Server rozhraní API zamítl prostředek kvůli špatnému YAML. Příčinou může být také neshoda typů parametrů (příklad: řetězec zadaný pro celé číslo).

Poznámka

U existujících přiřazení zásad a šablon omezení, které už v clusteru jsou, je cluster chráněný zachováním stávajícího omezení nebo šablony, pokud toto omezení nebo šablona selže. Cluster se hlásí jako nedodržující předpisy, dokud se chyba nevyřeší při přiřazení zásady nebo při samoochytách doplňku. Další informace o řešení konfliktů najdete v tématu Konflikty šablon omezení.

Podrobnosti o komponentách pro režimy poskytovatele prostředků

U přiřazení v režimu poskytovateleprostředků vyberte prostředek Nedodržující předpisy a otevřete tak podrobnější zobrazení. Na kartě Dodržování předpisů komponent jsou další informace specifické pro režim poskytovatele prostředků u přiřazené zásady zobrazující nekompatibilní komponentu a ID komponenty.

Snímek obrazovky s kartami Dodržování předpisů komponent a podrobnostmi o dodržování předpisů pro přiřazení režimu poskytovatele prostředků

Podrobnosti o dodržování předpisů pro konfiguraci hosta

U definic zásad v kategorii Konfigurace hosta může být ve virtuálním počítači vyhodnoceno více nastavení a budete muset zobrazit podrobnosti o nastavení. Pokud například auditujete seznam nastavení zabezpečení a jenom jedno z nich má stav Nevyhovující předpisům, budete muset zjistit, která konkrétní nastavení nedodržují předpisy a proč.

Možná také nemáte přístup k přímému přihlášení k virtuálnímu počítači, ale musíte ohlásit, proč virtuální počítač nedodržuje předpisy.

portál Azure

Začněte stejným postupem jako v části výše, ve které najdete podrobnosti o dodržování zásad.

V zobrazení Podrobností o dodržování předpisů vyberte odkaz Naposledy vyhodnocený prostředek.

Snímek obrazovky se zobrazením podrobností o dodržování předpisů definice auditIfNotExists

Na stránce Přiřazení hosta se zobrazí všechny dostupné podrobnosti o dodržování předpisů. Každý řádek v zobrazení představuje vyhodnocení, které bylo provedeno v rámci počítače. Ve sloupci Důvod se zobrazí fráze popisující, proč je přiřazení hosta nevyhovující předpisům. Pokud například auditujete zásady hesel, ve sloupci Důvod se zobrazí text včetně aktuální hodnoty pro každé nastavení.

Snímek obrazovky s podrobnostmi o dodržování předpisů přiřazení hosta

Zobrazení podrobností o přiřazení konfigurace ve velkém měřítku

Funkci konfigurace hosta je možné použít mimo Azure Policy přiřazení. Azure AutoManage například vytvoří přiřazení konfigurace hosta, nebo můžete přiřadit konfigurace při nasazování počítačů.

Pokud chcete zobrazit všechna přiřazení konfigurace hosta v rámci vašeho tenanta, Azure Portal otevřete stránku Přiřazení hostů. Pokud chcete zobrazit podrobné informace o dodržování předpisů, vyberte jednotlivá přiřazení pomocí odkazu ve sloupci Název.

Snímek obrazovky se stránkou Přiřazení hosta

Historie změn (Preview)

V rámci nové verze Public Preview jsou posledních 14 dnů historie změn k dispozici pro všechny prostředky Azure, které podporují odstranění v úplném režimu. Historie změn obsahuje podrobnosti o tom, kdy byla změna zjištěna, a rozdíly vizuálů pro každou změnu. Detekce změn se aktivuje při Azure Resource Manager, odebrání nebo změně vlastností.

  1. Spusťte službu Azure Policy ve službě Azure Portal tak, že vyberete Všechny služby a pak vyhledáte a vyberete Zásady.

  2. Na stránce Přehled nebo Dodržování předpisů vyberte zásadu v libovolném stavu dodržování předpisů.

  3. Na kartě Dodržování předpisů prostředky na stránce Dodržování zásad vyberte prostředek.

  4. Na stránce Resource Compliance (Dodržování předpisů prostředků) vyberte kartu Historie změn (Preview). Zobrazí se seznam zjištěných změn, pokud nějaké existují.

    Snímek obrazovky s kartu Historie změn a zjištěnou dobu změn na stránce Resource Compliance

  5. Vyberte jednu z zjištěných změn. Rozdíl vizuálu pro prostředek je uveden na stránce Historie změn.

    Snímek obrazovky s rozdílem vizuálu Historie změn stavu před a po vlastnostech na stránce Historie změn

Vizuál se odchýluje od identifikace změn prostředku. Zjištěné změny nemusí souviset s aktuálním stavem dodržování předpisů prostředku.

Data historie změn poskytuje Azure Resource Graph. Pokud se chcete na tyto informace dotazovat Azure Portal, podívejte se na část Získání změn prostředků.

Další kroky