Sdílet prostřednictvím


Základy struktury definic Azure Policy

Definice Azure Policy popisují podmínky pro dodržování předpisů u prostředků a opatření, která mají být přijata, pokud je podmínka splněna. Podmínka porovnává vlastnost prostředku, tedy pole nebo hodnotu, s požadovanou hodnotou. K polím vlastnosti prostředků se přistupuje pomocí aliasů. Pokud je vlastnost prostředku polem, lze použít speciální alias pole k výběru hodnot ze všech členů pole a aplikovat podmínku na každou z nich. Přečtěte si další informace o podmínkách.

Pomocí přiřazení zásad můžete řídit náklady a spravovat prostředky. Můžete například zadat, že jsou povoleny pouze určité typy virtuálních počítačů. Nebo můžete vyžadovat, aby prostředky měly určitou značku. Přiřazení v rozsahu se vztahují na všechny prostředky v daném rozsahu a pod ním. Takže pokud se použije přiřazení zásad na skupinu prostředků, použije se na všechny prostředky v této skupině prostředků.

Pomocí kódu JSON vytvoříte definici zásad, která obsahuje elementy pro:

  • displayName
  • description
  • mode
  • version
  • metadata
  • parameters
  • policyRule
    • logické vyhodnocení
    • effect

Například následující JSON ukazuje zásadu, která omezuje, kde se nasazují prostředky:

{
  "properties": {
    "displayName": "Allowed locations",
    "description": "This policy enables you to restrict the locations your organization can specify when deploying resources.",
    "mode": "Indexed",
    "metadata": {
      "version": "1.0.0",
      "category": "Locations"
    },
    "parameters": {
      "allowedLocations": {
        "type": "array",
        "metadata": {
          "description": "The list of locations that can be specified when deploying resources",
          "strongType": "location",
          "displayName": "Allowed locations"
        },
        "defaultValue": [
          "westus2"
        ]
      }
    },
    "policyRule": {
      "if": {
        "not": {
          "field": "location",
          "in": "[parameters('allowedLocations')]"
        }
      },
      "then": {
        "effect": "deny"
      }
    }
  }
}

Další informace najdete ve schématu definice zásad. Předdefinované politiky a vzory služby Azure Policy jsou v ukázkách služby Azure Policy.

Zobrazovaný název a popis

Použijete displayName a description k identifikaci definice zásady a poskytnutí kontextu pro její použití. Má displayName maximální délku 128 znaků a description maximální délku 512 znaků.

Poznámka:

Během vytváření nebo aktualizace definice zásady jsou id, type a name definovány externími vlastnostmi a nejsou nutné v souboru JSON. Načtení definice zásady prostřednictvím sady SDK vrátí id, type a name jako vlastnosti JSON, ale každá z nich je pouze pro informační účely a týkají se definice zásady.

Typ zásady

policyType Vlastnost sice nejde nastavit, ale sada SDK vrací tři hodnoty a jsou viditelné na portálu:

  • Builtin: Společnost Microsoft poskytuje a udržuje tyto definice zásad.
  • Custom: Všechny definice zásad vytvořené zákazníky mají tuto hodnotu.
  • Static: Označuje definici zásad dodržování předpisů s vlastnictvím Microsoftu. Výsledky dodržování předpisů pro tyto definice zásad jsou výsledky auditů infrastruktury Microsoftu provedených nezávislými subjekty mimo Microsoft. Na webu Azure Portal se tato hodnota někdy zobrazuje jako spravovaná Microsoftem. Další informace najdete v tématu Sdílená odpovědnost v cloudu.

Režim

Konfigurace mode je určena tím, zda politika cílí na vlastnost Azure Resource Manageru nebo na vlastnost poskytovatele prostředků.

Režimy Resource Manageru

Typ mode určuje, které typy prostředků se vyhodnocují pro definici zásady. Podporované režimy jsou:

  • all: Vyhodnocení skupin prostředků, předplatných a všech typů prostředků
  • indexed: Vyhodnoťte pouze ty typy prostředků, které podporují tagy a umístění.

Prostředek Microsoft.Network/routeTables například podporuje značky a umístění a vyhodnocuje se v obou režimech. Prostředek Microsoft.Network/routeTables/routes ale nejde označit a nevyhodnocuje se v indexed režimu.

Doporučujeme nastavit mode na all ve většině případů. Všechny definice zásad vytvořené prostřednictvím portálu používají režim all. Pokud používáte PowerShell nebo Azure CLI, můžete parametr zadat mode ručně. Pokud definice zásady neobsahuje mode hodnotu, výchozí all hodnota je v Azure PowerShellu a null v Azure CLI. null Režim je stejný jako použití indexed pro podporu zpětné kompatibility.

indexed je vhodné použít při vytváření zásad, které vynucuje značky nebo umístění. I když to není povinné, brání prostředkům, které nepodporují značky a umístění, aby se ve výsledcích dodržování předpisů nezobrazují jako nevyhovující. Výjimkou jsou skupiny prostředků a předplatná. Definice zásad, které vynucují umístění nebo značky ve skupině prostředků nebo předplatném, by měly nastavit mode na all a konkrétně cílit na typu Microsoft.Resources/subscriptions/resourceGroups nebo Microsoft.Resources/subscriptions. Příklad najdete v tématu Vzor: Značky – Ukázka č. 1. Seznam prostředků, které podporují značky, najdete v tématu Podpora značek pro prostředky Azure.

Režimy poskytovatele prostředků

Plně podporované jsou následující režimy poskytovatele prostředků:

Následující režimy poskytovatele prostředků se v současné době podporují ve verzi Preview:

  • Microsoft.ManagedHSM.Data pro správu klíčů modulu hardwarového zabezpečení (HSM) spravovaného hardwaru pomocí služby Azure Policy.
  • Microsoft.DataFactory.Data pro použití Služby Azure Policy k odepření názvů domén odchozího provozu služby Azure Data Factory , které nejsou zadané v seznamu povolených. Tento režim poskytovatele prostředků je určen pouze pro vynucování a neoznamuje dodržování předpisů ve veřejné verzi preview.
  • Microsoft.MachineLearningServices.v2.Data pro správu nasazení modelů Azure Machine Learning . Tento režim poskytovatele prostředků hlásí dodržování předpisů pro nově vytvořené a aktualizované komponenty. Ve verzi Public Preview zůstanou záznamy dodržování předpisů po dobu 24 hodin. Nasazení modelu, která existují před přiřazením těchto definic zásad, neoznamují dodržování předpisů.
  • Microsoft.LoadTestService.Data pro omezení instancí služby Azure Load Testing na privátní koncové body.

Poznámka:

Pokud není explicitně uvedeno, režimy poskytovatele prostředků podporují pouze předdefinované definice zásad a výjimky nejsou podporovány na úrovni komponent.

Po vydání verzování Azure Policy nebudou následující režimy poskytovatele prostředků podporovat vestavěné verzování:

  • Microsoft.DataFactory.Data
  • Microsoft.MachineLearningServices.v2.Data
  • Microsoft.ManagedHSM.Data

Verze (Náhled)

Vestavěné definice zásad mohou hostovat více verzí se stejnými definitionID. Pokud není zadáno číslo verze, zobrazí se ve všech prostředích nejnovější verze definice. Chcete-li zobrazit konkrétní verzi vestavěné funkce, musíte ji zadat v API, sadě SDK nebo uživatelském rozhraní. Pokud chcete odkazovat na konkrétní verzi definice v rámci přiřazení, podívejte se na verzi definice v rámci přiřazení.

Služba Azure Policy používá versionpreviewa deprecated vlastnosti ke sdělení stavu a úrovně změn v předdefinované definici nebo iniciativě zásad. Formát version je: {Major}.{Minor}.{Patch}. Pokud je definice zásady v náhledovém stavu, je k vlastnosti připojen přípona preview a je považována za logickou hodnotu. Když je definice zásady označena za zastaralou, tato skutečnost je zachycena jako logická hodnota v metadatech definice pomocí "deprecated": "true".

  • Hlavní verze (příklad: 2.0.0): Zavádí zásadní změny, jako jsou změny logiky hlavního pravidla, odebrání parametrů a přidání efektu vynucení ve výchozím nastavení.
  • Menší verze (příklad: 2.1.0): zavádí změny jako jsou změny logiky pravidla, přidání nových povolených hodnot parametrů, nahrazení roleDefinitionIds, přidání nebo úpravy definic v rámci iniciativy.
  • Verze opravy (příklad: 2.1.4): Zavedení změn řetězců nebo metadat a scénáře zabezpečení rozbitého skla (vzácné).

Další informace o předdefinovaných verzích Služby Azure Policy najdete v tématu Integrovaná správa verzí. Další informace o tom, co znamená, že zásady jsou zastaralé nebo ve verzi Preview, najdete v tématu Preview a zastaralé zásady.

Metadata

Volitelná metadata vlastnost ukládá informace o definici zásady. Zákazníci mohou definovat jakékoli vlastnosti a hodnoty užitečné pro svoji organizaci v metadata. Existují ale některé běžné vlastnosti používané službou Azure Policy a integrované. Každá metadata vlastnost má limit 1 024 znaků.

Běžné vlastnosti metadat

  • version (řetězec): Sleduje podrobnosti o verzi obsahu definice zásady.
  • category (řetězec): Určuje, ve které kategorii na webu Azure Portal se zobrazí definice zásady.
  • preview (logická hodnota): Příznak pravda nebo nepravda, zda je definice politiky preview.
  • deprecated (logická hodnota): Příznak pravda nebo nepravda pro případ, že je definice zásad označena jako deprecated.
  • portalReview (řetězec): Určuje, zda mají být parametry zkontrolovány na portálu bez ohledu na požadovaný vstup.

Definice umístění

Při vytváření iniciativy nebo zásad je nutné zadat umístění definice. Místo definice musí být ve skupině pro správu nebo v předplatném. Toto umístění určuje obor, ke kterému lze přiřadit iniciativu nebo zásadu. Prostředky musí být přímí členy nebo podřízené položky v hierarchii umístění definice tak, aby cílily na přiřazení.

Pokud je umístění definice:

  • Předplatné – Definici zásad je možné přiřadit pouze prostředky v rámci daného předplatného.
  • Skupina pro správu – Definici zásad je možné přiřadit pouze prostředky v podřízených skupinách pro správu a podřízených předplatných. Pokud plánujete použít definici zásady pro několik předplatných, musí být umístěním správcovská skupina, která zahrnuje všechna předplatná.

Další informace najdete v tématu Vysvětlení oboru ve službě Azure Policy.

Další kroky