Struktura přiřazení Azure Policy
Přiřazení zásad používají Azure Policy k definování prostředků, které se přiřazují k jednotlivým zásadám nebo iniciativám. Přiřazení zásad může určit hodnoty parametrů pro danou skupinu prostředků v době přiřazení, což umožňuje znovu použít definice zásad, které řeší stejné vlastnosti prostředku s různými požadavky na dodržování předpisů.
K vytvoření přiřazení zásady použijte JSON. Přiřazení zásady obsahuje prvky pro:
- zobrazované jméno
- description
- zprostředkovatele identity
- režim vynucení
- vyloučené obory
- definice zásad
- zprávy o neshodě
- parameters
Například následující JSON zobrazuje přiřazení zásady v režimu DoNotEnforce s dynamickými parametry:
{
"properties": {
"displayName": "Enforce resource naming rules",
"description": "Force resource names to begin with DeptA and end with -LC",
"metadata": {
"assignedBy": "Cloud Center of Excellence"
},
"enforcementMode": "DoNotEnforce",
"notScopes": [],
"policyDefinitionId": "/subscriptions/{mySubscriptionID}/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming",
"nonComplianceMessages": [
{
"message": "Resource names must start with 'DeptA' and end with '-LC'."
}
],
"parameters": {
"prefix": {
"value": "DeptA"
},
"suffix": {
"value": "-LC"
}
}
}
}
Všechny ukázky Azure Policy jsou na Azure Policy Samples.
Zobrazované jméno a popis
K identifikaci přiřazení zásad a zadání kontextu pro jeho použití s konkrétní sadou prostředků použijte DisplayName a Description . hodnota DisplayName má maximální délku 128 znaků a popis nesmí být delší než 512 znaků.
Metadata
Volitelná metadata vlastnost ukládá informace o přiřazení zásady. Zákazníci mohou definovat libovolné vlastnosti a hodnoty, které jsou užitečné pro jejich organizaci v metadata . Existují však některé běžné vlastnosti, které používá Azure Policy. Každá metadata vlastnost má limit 1024 znaků.
Vlastnosti běžných metadat
assignedBy(String): popisný název objektu zabezpečení, který vytvořil přiřazení.createdBy(String): identifikátor GUID objektu zabezpečení, který vytvořil přiřazení.createdOn(String): Formát DateTime Universal ISO 8601 pro čas vytvoření přiřazení.parameterScopes(Object): kolekce párů klíč-hodnota, kde klíč odpovídá strongType nakonfigurovanému názvu parametru a hodnota definuje obor prostředků používaný na portálu k poskytnutí seznamu dostupných prostředků podle odpovídajících strongType. Portál tuto hodnotu nastaví, pokud se rozsah liší od rozsahu přiřazení. Pokud je tato hodnota nastavena, úprava přiřazení zásady na portálu automaticky nastaví obor pro parametr na tuto hodnotu. Rozsah ale není pevně spojený s hodnotou a může být změněn na jiný obor.Následující příklad
parameterScopesje pro parametr strongType s názvem backupPolicyId , který nastaví obor pro výběr prostředku při úpravách přiřazení na portálu."metadata": { "parameterScopes": { "backupPolicyId": "/subscriptions/{SubscriptionID}/resourcegroups/{ResourceGroupName}" } }updatedBy(String): popisný název objektu zabezpečení, který aktualizoval přiřazení, pokud existuje.updatedOn(String): formát formátu data a času Universal ISO 8601 pro čas aktualizace přiřazení, pokud existuje.
Režim vynucení
Vlastnost enforcementMode poskytuje zákazníkům možnost Testovat výsledek zásad u existujících prostředků bez zahájení platnosti zásad nebo aktivace záznamů v protokolu aktivit Azure. Tento scénář se běžně označuje jako "What If" a je v souladu s postupy bezpečného nasazení. enforcementMode se liší od zakázaného efektu, protože to zabrání v tom, aby vyhodnocování prostředků probíhají vůbec.
Tato vlastnost má následující hodnoty:
| Režim | Hodnota JSON | Typ | Opravit ručně | Položka protokolu aktivit | Description |
|---|---|---|---|---|---|
| Povoleno | Výchozí | řetězec | Yes | Yes | Účinek zásad se vynutil při vytváření nebo aktualizaci prostředku. |
| Zakázáno | DoNotEnforce | řetězec | Yes | No | Při vytváření nebo aktualizaci prostředku není uplatněna zásada. |
Pokud není v definici zásady nebo iniciativy zadaný enforcementMode , použije se výchozí hodnota. Pro zásady deployIfNotExists se dají spouštět úlohy nápravy , a to i v případě, že EnforcementMode je nastavená na DoNotEnforce.
Vyloučené obory
Rozsah přiřazení zahrnuje všechny podřízené kontejnery prostředků a podřízené prostředky. Pokud nadřazený kontejner prostředků nebo podřízený prostředek nemá použitu definici, každý z nich může být vyloučen z vyhodnocení nastavením notScopes. Tato vlastnost je pole, které umožňuje vyloučit jeden nebo více kontejnerů prostředků nebo prostředků ze vyhodnocení. notScopes se dá přidat nebo aktualizovat po vytvoření počátečního přiřazení.
Poznámka
Vyloučený prostředek se liší od vyňatého prostředku. Další informace najdete v tématu vysvětlení oboru v Azure Policy.
ID definice zásady
Toto pole musí být úplný název cesty buď definice zásady, nebo definice iniciativy.
policyDefinitionId je řetězec, nikoli pole. Doporučuje se, aby se místo toho k použití iniciativy používala i v případě, že je často přiřazováno více zásad.
Zprávy o neshodě
Chcete-li nastavit vlastní zprávu, která popisuje, proč prostředek není kompatibilní s definicí zásady nebo iniciativou, nastavte nonComplianceMessages v definici přiřazení. Tento uzel je pole message záznamů. Tato vlastní zpráva je kromě výchozí chybové zprávy při nedodržení předpisů a volitelná.
Důležité
Vlastní zprávy o nedodržení předpisů se podporují jenom v definicích nebo iniciativách s definicemi Správce prostředků režimů .
"nonComplianceMessages": [
{
"message": "Default message"
}
]
Pokud je přiřazení v iniciativě, můžete pro každou definici zásad v iniciativě nakonfigurovat různé zprávy. Zprávy používají policyDefinitionReferenceId hodnotu nakonfigurovanou v definici iniciativy. Podrobnosti najdete v tématu vlastnosti definic zásad.
"nonComplianceMessages": [
{
"message": "Default message"
},
{
"message": "Message for just this policy definition by reference ID",
"policyDefinitionReferenceId": "10420126870854049575"
}
]
Parametry
Tento segment přiřazení zásad poskytuje hodnoty pro parametry definované v definici zásady nebo definici iniciativy. Tento návrh umožňuje znovu použít definici zásad nebo iniciativ s různými prostředky, ale kontrolovat různé obchodní hodnoty nebo výsledky.
"parameters": {
"prefix": {
"value": "DeptA"
},
"suffix": {
"value": "-LC"
}
}
V tomto příkladu jsou parametry dříve definované v definici zásad prefix a suffix . Toto přiřazení konkrétní zásady nastavuje prefix oddělení a suffix na -LC. Stejná definice zásad se znovu používá s jinou sadou parametrů pro jiné oddělení, což snižuje duplicity a složitost definic zásad a zároveň nabízí flexibilitu.
Další kroky
- Přečtěte si o struktuře definic zásad.
- Zjistěte, jak programově vytvářet zásady.
- Přečtěte si, jak získat data o dodržování předpisů.
- Přečtěte si, jak opravit prostředky, které nedodržují předpisy.
- Seznamte se s tím, co skupina pro správu organizuje vaše prostředky pomocí skupin pro správu Azure.