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

Když se zjistí, že prostředek Azure nevyhovuje pravidlu zásad, je užitečné pochopit, která část pravidla prostředek nevyhovuje. Je také užitečné pochopit, která změna změnila dříve vyhovující prostředek, aby nedodržoval předpisy. Tyto informace můžete najít dvěma způsoby:

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

Pokud prostředek nedodržuje předpisy, podrobnosti o dodržování předpisů pro daný prostředek jsou k dispozici na stránce Dodržování zásad . Podokno podrobností o 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ásady
  • Seznam důvodů, proč prostředek nedodržuje předpisy.

Důležité

Vzhledem k tomu, že podrobnosti o dodržování předpisů pro prostředek nedodržování předpisů zobrazují aktuální hodnotu vlastností daného prostředku, musí mít uživatel operaci čtení pro typ prostředku. Pokud je Microsoft.Compute/virtualMachines například prostředek nedodržování předpisů, musí mít Microsoft.Compute/virtualMachines/read uživatel operaci. 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 na webu 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 ve stavu dodržování předpisů, který nedodržuje předpisy.

  3. Na kartě Dodržování předpisů pro 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ý nedodržuje předpisy. Pak vyberte Zobrazit podrobnosti o dodržování předpisů.

    Screenshot of the View compliance details link on the Resource compliance tab.

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

    Screenshot of the Compliance details pane and reasons for non-compliance that current value is 12 and target value is 14.

    auditIfNotExists Podrobnosti o definici nebo deployIfNotExists definici zásad zahrnují vlastnost details.type a všechny volitelné vlastnosti. Seznam naleznete v tématu auditIfNotExists vlastnosti a deployIfNotExists vlastnosti. Poslední vyhodnocený prostředek je související prostředek z části podrobností definice.

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

    {
      "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": {
            ...
          }
        }
      }
    }
    

    Screenshot of Compliance details pane for ifNotExists including evaluated resource count.

Poznámka:

Chcete-li chránit data, je-li hodnota vlastnosti tajným kódem, zobrazí aktuální hodnota hvězdičky.

Tyto podrobnosti vysvětlují, proč prostředek momentálně nedodržuje předpisy, ale nezobrazují se, kdy došlo ke změně prostředku, který způsobil, že nedodržuje předpisy. Informace najdete v tématu Historie změn (Preview).

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

Režimy Resource Manageru a režimy poskytovatele prostředků mají různé důvody pro nedodržení předpisů.

Obecné důvody dodržování předpisů v režimu Resource Manageru

Následující tabulka mapuje každý důvod režimuResource Manageru na zodpovědný stav 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. obsahuje nebo notContains
Aktuální hodnota musí být rovna cílové hodnotě. rovná se nebo není
Aktuální hodnota musí být menší než cílová hodnota. menší nebo ne greaterOrEquals
Aktuální hodnota musí být větší nebo rovna cílové hodnotě. greaterOrEquals nebo ne méně
Aktuální hodnota musí být větší než cílová hodnota. greater or not lessOrEquals
Aktuální hodnota musí být menší nebo rovna cílové hodnotě. lessOrEquals nebo ne větší
Aktuální hodnota musí existovat. existuje
Aktuální hodnota musí být v cílové hodnotě. in or 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 s cílovou hodnotou. match or notMatch
Aktuální hodnota musí být nerozlišující malá a velká písmena odpovídající cílové hodnotě. matchInsensitively or notMatchInsensitivelyly
Aktuální hodnota nesmí obsahovat cílovou hodnotu jako klíč. notContainsKey nebo neobsahujeKey
Aktuální hodnota nesmí obsahovat cílovou hodnotu. notContains nebo neobsahuje
Aktuální hodnota nesmí být rovna cílové hodnotě. notEquals or not equals
Aktuální hodnota nesmí existovat. neexistuje
Aktuální hodnota nesmí být v cílové hodnotě. notIn or not in
Aktuální hodnota nesmí být podobná cílové hodnotě. notLike nebo ne like
Aktuální hodnota nesmí rozlišovat malá a velká písmena s cílovou hodnotou. notMatch nebo neodpovídá
Aktuální hodnota nesmí být nerozlišující malá a velká písmena shodná s cílovou hodnotou. notMatchInsensensitively or not MatchInsensitively
Žádné související prostředky neodpovídají podrobnostem o efektu v definici zásady. Prostředek typu definovaného v then.details.type prostředku definovaném v části pravidla zásad a související s ním, pokud část pravidla zásad neexistuje.

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

Následující tabulka mapuje kód důvodu každého Microsoft.PolicyInsightszprostředkovatele prostředků na odpovídající vysvětlení:

Kód důvodu dodržování předpisů Chybová zpráva a vysvětlení
NonModifiablePolicyAlias NonModifiableAliasConflict: Alias {alias} není možné upravit v požadavcích pomocí verze rozhraní API {apiVersion}. K této chybě dochází v případě, že požadavek používající verzi rozhraní API, ve které alias nepodporuje efekt modify nebo podporuje pouze efekt modify s jiným typem tokenu.
AppendPoliciesNotApplicable AppendPoliciesUnableToAppend: Aliasy: {aliases }, které nelze upravit v požadavcích pomocí verze rozhraní API: {apiVersion }. K tomu může dojít v požadavcích pomocí verzí rozhraní API, pro které aliasy nepodporují účinek "modify" nebo podporují efekt "modify" s jiným typem tokenu.
KonfliktníAppendPolicies Konfliktní ZásadyAppendPolicies: Byla nalezena konfliktní přiřazení zásad, která upravují pole {notApplicableFields}. Identifikátory zásad: {policy}. Požádejte správce předplatného, aby aktualizoval přiřazení zásad.
AppendPoliciesFieldsExist AppendPoliciesFieldsExistWithDifferentValues: Přiřazení zásad se pokusila připojit pole, která již v požadavku existují s různými hodnotami. Pole: {existingFields}. Identifikátory zásad: {policy}. Pokud chcete zásady aktualizovat, obraťte se na správce předplatného.
AppendPoliciesUndefinedFields AppendPoliciesUndefinedFields: Byla nalezena definice zásady odkazující na nedefinovanou vlastnost pole pro verzi rozhraní API {apiVersion}. Pole: {nonExistingFields}. Identifikátory zásad: {policy}. Pokud chcete zásady aktualizovat, obraťte se na správce předplatného.
MissingRegistrationForType MissingRegistrationForResourceType: Předplatné není zaregistrované pro typ prostředku {ResourceType}. Zkontrolujte, jestli typ prostředku existuje a že je zaregistrovaný typ prostředku.
NejednoznačnéPolicyEvaluationPaths Obsah požadavku má jednu nebo více nejednoznačných cest: "{0}' vyžadované zásadami: '{1}'.
InvalidResourceNameWildcardPosition Přiřazení{0} zásady přidružené k definici{1} zásady nebylo možné vyhodnotit. Název prostředku '{2}' v podmínce ifNotExists obsahuje zástupný znak '?' v neplatné pozici. Zástupné cardy mohou být umístěny pouze na konci názvu v segmentu sami (např. TopLevelResourceName/?). Opravte zásadu nebo zrušte odblokování přiřazení zásad.
TooManyResourceNameSegments Přiřazení{0} zásady přidružené k definici{1} zásady nebylo možné vyhodnotit. Název prostředku v{2} podmínce ifNotExists obsahuje příliš mnoho segmentů názvů. Počet segmentů názvů musí být roven nebo menší než počet segmentů typu (s výjimkou oboru názvů poskytovatele prostředků). Opravte definici zásady nebo odeberte přiřazení zásady, které chcete odblokovat.
InvalidPolicyFieldPath Cesta pole v{0} definici zásady je neplatná. Cesty k polím nesmí obsahovat žádné prázdné segmenty. Mohou obsahovat pouze alfanumerické znaky s výjimkou znaku "." pro rozdělení segmentů a sekvence znaků [*] pro přístup k vlastnostem pole.

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

Následující tabulka mapuje Microsoft.Kubernetes.Datakaždý důvod režimuposkytovatele prostředků na zodpovědný stav šablony omezení v definici zásady:

Důvod Popis důvodu šablony omezení
Constraint/TemplateCreateFailed Prostředek 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ředků.
Constraint/TemplateUpdateFailed Nepodařilo se aktualizovat definici zásady s omezením nebo šablonou, která odpovídá existujícímu omezení nebo šabloně v clusteru podle názvu metadat prostředků.
Constraint/TemplateInstallFailed Nepodařilo se sestavit omezení nebo šablonu a nepodařilo se ji nainstalovat do clusteru pro operaci vytvoření nebo aktualizace.
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 během poslední hodiny neprovedli audit.
ConstraintNotProcessed Stav neexistuje a Gatekeeper během poslední hodiny neprovedli audit.
InvalidConstraint/Template Prostředek byl odmítnut z jednoho z následujících důvodů: neplatný obsah šablony omezení Rego, neplatný YAML nebo neshoda typu parametru mezi omezením a šablonou omezení (poskytnutí řetězcové hodnoty, pokud se očekávalo celé číslo).

Poznámka:

U existujících přiřazení zásad a šablon omezení, které už jsou v clusteru, je-li toto omezení nebo šablona neúspěšné, je cluster chráněn udržováním existujícího omezení nebo šablony. Cluster hlásí, že nedodržuje předpisy, dokud se selhání nevyřeší při přiřazení zásad nebo samoobslužných opravach doplňků. Další informace o zpracování konfliktů naleznete v tématu Konflikty šablony omezení.

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

U přiřazení s režimem poskytovatele prostředků vyberte prostředek nedodržování předpisů a zobrazte záznamy o dodržování předpisů jeho součástí. Karta Dodržování předpisů komponent zobrazuje další informace specifické pro režim poskytovatele prostředků, jako je název komponenty, ID komponenty a typ.

Screenshot of Component Compliance dashboard and compliance details for assignments with a Resource Provider mode.

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

U definic zásad v kategorii Konfigurace hosta může být uvnitř virtuálního počítače vyhodnoceno více nastavení a potřebujete zobrazit podrobnosti o jednotlivých nastaveních. Pokud například auditujete seznam nastavení zabezpečení a jenom jeden z nich má stav Nedodržování předpisů, musíte vědět, která konkrétní nastavení nedodržují předpisy a proč.

Také možná nemáte přístup k přihlášení k virtuálnímu počítači přímo, ale potřebujete nahlásit, proč virtuální počítač nedodržuje předpisy.

portál Azure

Začněte stejným postupem v části Podrobnosti o dodržování předpisů a zobrazte podrobnosti o dodržování zásad.

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

Screenshot of viewing the auditIfNotExists definition compliance details.

Na stránce Zadání 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 počítači. Ve sloupci Důvod se zobrazí fráze popisující, proč přiřazení hosta nedodržuje předpisy. Pokud například auditujete zásady hesel, zobrazí se ve sloupci Důvod text včetně aktuální hodnoty pro každé nastavení.

Screenshot of the Guest Assignment compliance details.

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

Funkci konfigurace hosta je možné použít mimo přiřazení azure Policy. Azure Automanage například vytváří přiřazení konfigurace hosta nebo můžete při nasazování počítačů přiřazovat konfigurace.

Pokud chcete zobrazit všechna přiřazení konfigurace hosta ve vašem tenantovi, otevřete na webu Azure Portal stránku Přiřazení hostů. Pokud chcete zobrazit podrobné informace o dodržování předpisů, vyberte každé přiřazení pomocí odkazu ve sloupci Název.

Screenshot of the Guest Assignment page.

Historie změn (Preview)

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

  1. Spusťte službu Azure Policy na webu 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ředků na stránce Dodržování zásad vyberte prostředek.

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

    Screenshot of the Change History tab and detected change times on Resource Compliance page.

  5. Vyberte jednu z zjištěných změn. Rozdíl vizuálu prostředku se zobrazí na stránce Historie změn.

    Screenshot of the Change History Visual Diff of the before and after state of properties on the Change history page.

    Vizuál se oddává při identifikaci 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 dotazovat na tyto informace mimo azure Portal, přečtěte si téma Získání změn prostředků.

Další kroky