Sdílet prostřednictvím


Základy struktury definic Azure Policy

Definice služby Azure Policy popisují podmínky dodržování předpisů prostředků a účinek, který se má provést, pokud je splněna podmínka. Podmínka porovnává pole nebo hodnotu vlastnosti prostředku s požadovanou hodnotou. K polím vlastnosti prostředků se přistupuje pomocí aliasů. Pokud je pole vlastnosti prostředku polem, lze použít speciální alias pole k výběru hodnot ze všech členů pole a použít podmínky pro 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 oboru se vztahují na všechny prostředky v daném oboru a níže. 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é vzory 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 identifikujete definici zásady a poskytnete kontext pro použití definice. 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 idzásady jsou typename definovány vlastnostmi externími pro JSON a nejsou nutné v souboru JSON. Načtení definice zásady prostřednictvím sady SDK vrátí idhodnotu , typea name vlastnosti jako součást JSON, ale každá z nich jsou informace jen pro čtení související s definicí 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í právních předpisů s vlastnictvím Microsoftu. Výsledky dodržování předpisů pro tyto definice zásad jsou výsledky auditů infrastruktury Microsoftu, které nejsou microsoftem. 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

Konfiguruje se mode v závislosti na tom, jestli zásady cílí na vlastnost Azure Resource Manageru nebo na vlastnost poskytovatele prostředků.

Režimy Resource Manageru

Určuje mode , 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 typy prostředků, které podporují značky 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 ve mode all většině případů. Všechny definice zásad vytvořené prostřednictvím portálu all používají režim. 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í, se ve výsledcích dodržování předpisů nezobrazují jako nevyhovující předpisům. 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 být nastaveny mode Microsoft.Resources/subscriptions/resourceGroups na all konkrétní cíl nebo Microsoft.Resources/subscriptions typ. 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 vynucování pouze a neoznamuje dodržování předpisů ve verzi Public 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í správy verzí Azure Policy nebudou následující režimy poskytovatele prostředků podporovat předdefinované verze:

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

Verze (Preview)

Předdefinované definice zásad mohou hostovat více verzí se stejnými definitionIDverzemi . Pokud není zadáno číslo verze, zobrazí se ve všech prostředích nejnovější verze definice. Pokud chcete zobrazit konkrétní verzi předdefinované verze, musíte ji zadat v rozhraní 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 ve stavu Preview, připojí se k version vlastnosti náhled přípony a považuje se za logickou hodnotu. Když je definice zásady zastaralá, vyřazení se zachytí 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í.
  • Podverze (příklad: 2.1.0): Zavádí změny, jako jsou změny logiky podverze pravidla, přidání nových povolených hodnot parametrů, změna do roleDefinitionIds, přidání nebo přesunutí 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): True nebo false flag for if the policy definition is Preview.
  • deprecated (logická hodnota): True nebo false flag for if the policy definition is marked as deprecated.
  • portalReview (řetězec): Určuje, zda mají být parametry zkontrolovány na portálu bez ohledu na požadovaný vstup.

Umístění definice

Při vytváření iniciativy nebo zásad je nutné zadat umístění definice. Umístění definice musí být skupina pro správu nebo předplatné. 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ásad pro několik předplatných, musí být umístění skupina pro správu, která obsahuje každé předplatné.

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

Další kroky