Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Přiřazení zásad definují, které zdroje se hodnotí pomocí definice zásady nebo iniciativy. Přiřazení zásady navíc může určit hodnoty parametrů pro danou skupinu prostředků v době přiřazení, což umožňuje opakovaně používat definice zásad, které řeší stejné vlastnosti prostředků s různými potřebami pro dodržování předpisů.
K vytvoření přiřazení zásad použijete JavaScript Object Notation (JSON). Přiřazení zásady obsahuje prvky pro:
- rozsah
- ID a verze definice zásady
- zobrazovaný název
- popis
- metadata
- selektory prostředků
- přepisuje
- režim vynucení
- vyloučené obory
- zprávy o nedodržování předpisů
- parameters
- identita
Například následující JSON ukazuje ukázkový požadavek na přiřazení zásad v režimu DoNotEnforce s parametry:
{
"properties": {
"displayName": "Enforce resource naming rules",
"description": "Force resource names to begin with DeptA and end with -LC",
"definitionVersion": "1.*.*",
"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"
}
},
"identity": {
"principalId": "<PrincipalId>",
"tenantId": "<TenantId>",
"identityType": "SystemAssigned",
"userAssignedIdentities": null
},
"location": "westus",
"resourceSelectors": [],
"overrides": [],
}
}
Scope
Obor používaný pro čas vytvoření zdroje přiřazení je primárním faktorem použitelnosti zdrojů. Další informace o oboru přiřazení najdete v tématu Pochopení rozsahu ve službě Azure Policy.
ID a verze definice zásad
Toto pole musí být úplným názvem cesty definice zásady nebo definice iniciativy. Jedná se policyDefinitionId o řetězec, nikoli pole. Při každém vyhodnocení přiřazení zásad se načte nejnovější obsah definice přiřazené zásady nebo iniciativy. Doporučení je, že pokud je často přiřazeno více zásad, je lepší použít iniciativu.
Jak u vestavěných, tak u vlastních definic a iniciativ můžete použít definitionVersion tyto metody k posouzení. Ve výchozím nastavení je verze nastavena na nejnovější hlavní verzi a automaticky zpracovává změny podverzí a oprav.
- K automatickému zaslání jakýchkoli dílčích změn definice by číslo verze bylo
#.*.*. Zástupný znak představuje aktualizace automatického příjmu. - Pokud chcete připnout k cestě podverze, formát verze by byl
#.#.*. - Všechny změny záplat musí být automaticky načteny z bezpečnostních důvodů. Změny oprav jsou omezené na změny textu a nouzové situace.
Zobrazovaný název a popis
Použijete displayName a description k identifikaci přiřazení zásady a poskytnutí kontextu pro jeho použití s konkrétní sadou prostředků.
displayName má maximální délku 128 znaků a description maximální délku 512 znaků.
Metadata
Volitelná metadata vlastnost ukládá informace o přiřazení politiky. Zákazníci mohou definovat jakékoli vlastnosti a hodnoty užitečné pro svoji organizaci v metadata. Azure Policy ale používá několik běžných vlastností. Každá metadata vlastnost má limit 1 024 znaků.
Běžné vlastnosti metadat
-
assignedBy(řetězec): Uživatelsky přívětivý název objektu zabezpečení, který vytvořil přiřazení. -
createdBy(řetězec): GUID bezpečnostního principála, který vytvořil přiřazení. -
createdOn(řetězec): Univerzální formát data a času ISO 8601 pro čas vytvoření tohoto přiřazení. -
updatedBy(řetězec): Přátelský název objektu zabezpečení, který případně aktualizoval přiřazení. -
updatedOn(řetězec): Univerzální formát ISO 8601 DateTime času přiřazení, pokud existuje.
Vlastnosti metadat pro konkrétní scénář
parameterScopes(objekt): Kolekce párů klíč-hodnota, kde klíč odpovídá názvu parametru strongType a hodnota definuje rozsah prostředku použitý v Portálu k poskytnutí seznamu dostupných prostředků odpovídajících strongType. Portál nastaví tuto hodnotu, pokud se obor liší od oboru přiřazení. Pokud je nastavená, úprava přiřazení zásad na portálu automaticky nastaví obor parametru na tuto hodnotu. Rozsah ale není uzamčen na hodnotu a dá se změnit na jiný rozsah.Následující příklad
parameterScopesje pro parametr typu strongType pojmenovanýbackupPolicyId, který určuje rozsah pro výběr zdrojů při úpravě přiřazení v portálu."metadata": { "parameterScopes": { "backupPolicyId": "/subscriptions/{SubscriptionID}/resourcegroups/{ResourceGroupName}" } }evidenceStorages(objekt): Doporučený výchozí účet úložiště, který by se měl použít k uchovávání důkazů pro atestace přiřazení zásad s dopademmanual. VlastnostdisplayNameje název účtu úložiště. VlastnostevidenceStorageAccountIDje ID prostředku účtu úložiště. VlastnostevidenceBlobContainerje název blob kontejneru, ve kterém plánujete uložit důkazy.{ "properties": { "displayName": "A contingency plan should be in place to ensure operational continuity for each Azure subscription.", "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/{definitionId}", "metadata": { "evidenceStorages": [ { "displayName": "Default evidence storage", "evidenceStorageAccountId": "/subscriptions/{subscriptionId}/resourceGroups/{rg-name}/providers/Microsoft.Storage/storageAccounts/{storage-account-name}", "evidenceBlobContainer": "evidence-container" } ] } } }
Selektory prostředků
Volitelná resourceSelectors vlastnost usnadňuje postupy bezpečného nasazení (SDP) tím, že umožňuje postupně zavádět přiřazení zásad na základě faktorů, jako je umístění prostředku, typ prostředku nebo umístění prostředku. Při použití selektorů prostředků azure Policy vyhodnocuje pouze prostředky, které se vztahují na specifikace provedené v selektorech prostředků. Voliče zdrojů lze také použít k zúžení rozsahu výjimek a zápisů stejným způsobem.
V následujícím ukázkovém scénáři se nové přiřazení zásady vyhodnotí jenom v případě, že umístění prostředku je buď východní USA nebo západní USA.
{
"properties": {
"policyDefinitionId": "/subscriptions/{subId}/providers/Microsoft.Authorization/policyDefinitions/ResourceLimit",
"definitionVersion": "1.1.*",
"resourceSelectors": [
{
"name": "SDPRegions",
"selectors": [
{
"kind": "resourceLocation",
"in": [
"eastus",
"westus"
]
}
]
}
]
},
"systemData": { ...
},
"id": "/subscriptions/{subId}/providers/Microsoft.Authorization/policyAssignments/ResourceLimit",
"type": "Microsoft.Authorization/policyAssignments",
"name": "ResourceLimit"
}
Až budete připraveni rozšířit rozsah vyhodnocení politiky, stačí aktualizovat přiřazení. Následující příklad ukazuje přiřazení zásad s dvěma dalšími regiony Azure přidanými do selektoru SDPRegions. Všimněte si, že v tomto příkladu SDP znamená bezpečný postup nasazení.
{
"properties": {
"policyDefinitionId": "/subscriptions/{subId}/providers/Microsoft.Authorization/policyDefinitions/ResourceLimit",
"definitionVersion": "1.1.*",
"resourceSelectors": [
{
"name": "SDPRegions",
"selectors": [
{
"kind": "resourceLocation",
"in": [
"eastus",
"westus",
"centralus",
"southcentralus"
]
}
]
}
]
},
"systemData": { ...
},
"id": "/subscriptions/{subId}/providers/Microsoft.Authorization/policyAssignments/ResourceLimit",
"type": "Microsoft.Authorization/policyAssignments",
"name": "ResourceLimit"
}
Selektory prostředků mají následující vlastnosti:
name: Název selektoru zdroje.selectors: (Volitelné) Vlastnost použitá k určení podmnožiny prostředků, které mají být vyhodnoceny z hlediska souladu s přiřazením zásad.kind: Vlastnost selektoru, který popisuje, která charakteristika zúží sadu vyhodnocených prostředků. Každý druh lze použít pouze jednou v jednom selektoru prostředků. Povolené hodnoty jsou následující:resourceLocation: Tato vlastnost slouží k výběru prostředků na základě jejich typu. Nelze použít ve stejném selektoru prostředků jakoresourceWithoutLocation.resourceType: Tato vlastnost slouží k výběru prostředků na základě jejich typu.resourceWithoutLocation: Tato vlastnost se používá k výběru prostředků na úrovni předplatného, které nemají určené umístění. V současné době podporuje pouzesubscriptionLevelResources. Nelze použít ve stejném selektoru prostředků jakoresourceLocation.
in: Seznam povolených hodnot pro zadanoukindhodnotu . Nelze použít snotIn. Může obsahovat až 50 hodnot.notIn: Seznam nepovolovaných hodnot pro zadanoukindhodnotu . Nelze použít sin. Může obsahovat až 50 hodnot.
Selektor prostředků může obsahovat více selectors. Aby byl prostředek použitelný pro selektor prostředků, musí splňovat požadavky stanovené všemi jeho selektory. V jednom přiřazení je navíc možné zadat až 10 resourceSelectors . Relevantní prostředky jsou vyhodnocovány, když splňují některý z těchto selektorů prostředků.
Přepsání nastavení
Volitelná overrides vlastnost umožňuje změnit účinek definice zásady beze změny definice podkladové zásady nebo použití parametrizovaného efektu v definici zásady.
Běžným případem použití pro přepsání účinků jsou iniciativy zásad s velkým počtem přidružených definic zásad. V této situaci může správa několika efektů zásad spotřebovávat značné administrativní úsilí, zejména v případě, že je potřeba efekt aktualizovat čas od času. Přepsání lze použít k souběžné aktualizaci účinků více definic zásad v rámci iniciativy.
Podívejme se na nějaký příklad. Představte si, že máte iniciativu zásad s názvem CostManagement Předpokládejme, že chcete přiřadit iniciativu CostManagement , ale zatím nechcete zobrazit nahlášené dodržování předpisů pro tuto zásadu. Účinek této zásady audit může být nahradit přepsáním přiřazení iniciativy disabled, jak je znázorněno v následující ukázce:
{
"properties": {
"policyDefinitionId": "/subscriptions/{subId}/providers/Microsoft.Authorization/policySetDefinitions/CostManagement",
"overrides": [
{
"kind": "policyEffect",
"value": "disabled",
"selectors": [
{
"kind": "policyDefinitionReferenceId",
"in": [
"corpVMSizePolicy"
]
}
]
}
]
},
"systemData": { ...
},
"id": "/subscriptions/{subId}/providers/Microsoft.Authorization/policyAssignments/CostManagement",
"type": "Microsoft.Authorization/policyAssignments",
"name": "CostManagement"
}
Dalším běžným případem použití překryvů je zavedení nové verze definice. Doporučené kroky pro bezpečnou aktualizaci verze přiřazení najdete v tématu Bezpečné nasazení zásad.
Přepsání mají následující vlastnosti:
kind: Vlastnost, kterou přiřazení nahradí. Podporované typy jsoupolicyEffectadefinitionVersion. Přepisy definice druhu Verze jsou podporovány pouze pro vestavěné definice a iniciativy. Nejsou podporovány pro vlastní definice nebo iniciativy.value: Nová hodnota, která přepíše existující hodnotu. Podporované hodnoty prokind: policyEffectjsou efekty. V případěkind: definitionVersion, podporované číslo verze musí být větší než nebo rovnodefinitionVersionzadané v přiřazení.selectors: (Volitelné) Vlastnost použitá k určení, jaký rozsah přiřazení zásady by měl přijmout přepsání.kind: Vlastnost selektoru, která popisuje, která charakteristika ještě více zúží rozsah přetížení. Povolené hodnoty prokind: policyEffect:policyDefinitionReferenceId: Tato vlastnost určuje, které definice zásad v rámci přiřazení iniciativy by měly mít na přepsání efektu.resourceLocation: Tato vlastnost slouží k výběru prostředků na základě jejich typu. Nelze použít ve stejném selektoru prostředků jakoresourceWithoutLocation.
Povolená hodnota pro
kind: definitionVersion:-
resourceLocation: Tato vlastnost slouží k výběru prostředků na základě jejich typu. Nelze použít ve stejném selektoru prostředků jakoresourceWithoutLocation.
in: Seznam povolených hodnot pro zadanoukindhodnotu . Nelze použít snotIn. Může obsahovat až 50 hodnot.notIn: Seznam nepovolovaných hodnot pro zadanoukindhodnotu . Nelze použít sin. Může obsahovat až 50 hodnot.
Jedno přepsání lze použít k nahrazení efektu mnoha zásad zadáním více hodnot v policyDefinitionReferenceId poli. Jedno přepsání lze použít až pro 50 policyDefinitionReferenceIda jedno přiřazení zásad může obsahovat až 10 přepsání, vyhodnocených v pořadí, v jakém jsou zadány. Před zpracováním přiřazení se účinek zvolený v přepsání ověří vůči pravidlu zásad a seznamu povolených hodnot parametrů (v případech, kdy je efekt parametrizován).
Režim vynucení
Tato enforcementMode vlastnost umožňuje zákazníkům kontrolovat výsledek politiky na existujících zdrojích, aniž by to bylo nutné spustit efekt politiky nebo spouštět záznamy v logu Azure Activity.
Tato vlastnost má následující hodnoty:
| Režim | Hodnota JSON | Typ | Provést ruční opravu | Položka protokolu aktivit | Popis |
|---|---|---|---|---|---|
| Povoleno | Výchozí | řetězec | Yes | Yes | Účinek zásad se vynucuje během vytváření nebo aktualizace prostředku. |
| Deaktivováno | Nevymáhat | řetězec | Yes | Ne | Účinek zásad se neuplatňuje během vytváření nebo aktualizace prostředku. |
| Enroll | Enroll | řetězec | Yes | Ano, u zapsaných zdrojů | Efekt politiky je vynucován při vytváření nebo aktualizaci zdrojů pouze u zdrojů zapsaných do přiřazení. |
Pokud enforcementMode není zadána v definici zásady nebo iniciativy, použije se hodnota Default .
Úlohy nápravy je možné spustit pro zásad deployIfNotExists, i když je enforcementMode nastaveno na DoNotEnforce. Pro více informací o režimu zápisu viz struktura zápisu Azure Policy.
Použití Default pro standardní přiřazení politik, kde by se měl efekt politiky vztahovat na všechny zdroje v rozsahu.
Použijte DoNotEnforce , když chcete vyhodnotit přiřazení pojistky před vymáháním zákona. Tento režim je užitečný pro testování nového přiřazení, kontrolu dopadu na dodržování předpisů nebo ověření logiky politiky před vynucením efektu politiky.
Volba režimu vynucení
Použijte režim vynucení, který odpovídá tomu, jak chcete, aby přiřazení ovlivnilo zdroje.
| Scenario | Režim vynucení |
|---|---|
| Vynucujte efekt politiky pro všechny zdroje v rozsahu během vytváření nebo aktualizace zdrojů. | Default |
| Vyhodnocujte shodu bez vynucování efektu politiky nebo psaní záznamů o zamítnutí do logu Azure Activity. | DoNotEnforce |
| Zpřístupněte přidělení k postupnému vymáhání prostřednictvím zápisu do politiky. | Enroll |
Použití Default pro standardní přiřazení politik, kde by se měl efekt politiky vztahovat na všechny zdroje v rozsahu.
Použijte DoNotEnforce , když chcete vyhodnotit přiřazení pojistky před vymáháním zákona. Tento režim je užitečný pro testování nového přiřazení, kontrolu dopadu na dodržování předpisů nebo ověření logiky politiky před vynucením efektu politiky.
Použijte Enroll , když chcete zpřístupnit přiřazení pro postupné vymáhání prostřednictvím registrace politik. V tomto režimu mohou vlastníci rozsahu vytvářet zdroje pro zápis, které naznačí, že vymáhání by mělo být aplikováno na konkrétní rozsahy. Když není přítomen registrační zdroj, vyhodnocení politiky je stejné, jako kdyby se přiřazení DoNotEnforce používalo ve výchozím nastavení, ale toto chování je konfigurovatelné. Tento režim je užitečný, když chcete pomalu dávkovat a přidávat podrozsahy do úkolu.
Vyloučené obory
Rozsah přiřazení zahrnuje všechny podřízené kontejnery prostředků a podřízené prostředky. Pokud by podřízený kontejner prostředků nebo podřízený prostředek neměl mít použitou definici, je možné každou z nich vyloučit z vyhodnocení nastavením notScopes. Tato vlastnost je pole, které umožňuje vyloučit jeden nebo více kontejnerů prostředků nebo prostředků z vyhodnocení.
notScopes lze přidat nebo aktualizovat po vytvoření počátečního přiřazení.
Poznámka:
Vyloučený prostředek se liší od vyloučeného prostředku. Další informace najdete v tématu Vysvětlení oboru ve službě Azure Policy.
Zprávy o nedodržování předpisů
Pokud chcete nastavit vlastní zprávu, která popisuje, proč prostředek nevyhovuje definici zásady nebo iniciativy, nastavte nonComplianceMessages ji v definici přiřazení. Tento uzel je pole message položek. Tato přizpůsobená zpráva je kromě výchozí chybové zprávy pro nedodržování předpisů a je volitelná.
Důležité
Vlastní zprávy pro nedodržování předpisů jsou podporovány pouze u definic nebo iniciativ s definicemi režimů Resource Manageru.
"nonComplianceMessages": [
{
"message": "Default message"
}
]
Pokud je přiřazení pro iniciativu, 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. Další informace 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ásady poskytuje hodnoty parametrů definovaných v definici zásady nebo definici iniciativy. Tento návrh umožňuje opakovaně používat 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 zásadě prefix a suffix. Toto konkrétní přiřazení zásad nastaví prefix na DeptA a suffix na -LC. Stejná definice zásady je opakovaně použitelná s jinou sadou parametrů pro jiné oddělení, což snižuje duplicitu a složitost definic zásad a současně poskytuje flexibilitu.
Identita
Přiřazení zásad s účinkem nastaveným na deployIfNotExists nebo modify musí mít vlastnost identity, aby bylo možné provést nápravu u nevyhovujících prostředků. Jedno přiřazení zásad je možné přidružit pouze k jedné spravované identitě přiřazené systémem nebo přiřazené uživatelem. Tato identita však může být v případě potřeby přiřazena více než jedna role.
Přiřazení používající spravovanou identitu přiřazenou systémem musí také zadat vlastnost nejvyšší úrovně location , aby bylo možné určit, kam se nasadí. Umístění nelze nastavit na globalhodnotu a nelze ho změnit. Vlastnost location je určena pouze ve verzích rest API 2018-05-01 a novějších. Pokud je umístění zadané v přiřazení, které nepoužívá identitu, bude toto umístění ignorováno.
# System-assigned identity
"identity": {
"principalId": "<PrincipalId>",
"tenantId": "<TenantId>",
"identityType": "SystemAssigned",
"userAssignedIdentities": null
},
"location": "westus",
...
# User-assigned identity
"identity": {
"identityType": "UserAssigned",
"userAssignedIdentities": {
"/subscriptions/SubscriptionID/resourceGroups/{rgName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/test-identity": {}
}
},
Poznámka:
Pro zásadu deployIfNotExists se identita přiřazení vždy používá pro nasazení šablony ARM. Při vytvoření nebo aktualizaci cílového prostředku se ale pro vyhodnocení použije identita žadatele.
Představte si například politiku, která nasazuje Microsoft.Insights/diagnosticSettings na Microsoft.KeyVault/vaults. Při vytvoření trezoru klíčů se identita volajícího použije k získání Microsoft.Insights/diagnosticSettings prostředků k vyhodnocení podmínky existence definice zásady. Pokud jsou splněné podmínky, použije se identita přiřazení zásad k nasazení nastavení diagnostiky v trezoru klíčů. To znamená, že volající by potřeboval Microsoft.Insights/diagnosticSettings/read permissionsa přiřazení by potřebovalo Microsoft.Insights/diagnosticSettings/write permissions.
Další kroky
- Seznamte se se strukturou definic zásad.
- Seznamte se s programovým vytvářením zásad.
- Zjistěte, jak získat údaje o dodržování předpisů.
- Zjistěte, jak uvést do souladu nesouladné zdroje.
- Prozkoumejte, co představuje skupina pro správu, s uspořádáním vašich prostředků pomocí skupin pro správu v Azure.