Náprava nekompatibilních prostředků pomocí azure Policy

Prostředky, které nevyhovují zásadám s deployIfNotExists nebo úpravou efektů, můžou být prostřednictvím nápravy převedeny do kompatibilního stavu. Náprava se provádí prostřednictvím úloh nápravy, které nasazují šablonu deployIfNotExists nebo operace úprav přiřazené zásady pro vaše stávající prostředky a předplatná, ať už je toto přiřazení ve skupině pro správu, předplatném, skupině prostředků nebo v jednotlivých prostředcích. Tento článek popisuje kroky potřebné k pochopení a nápravě pomocí Azure Policy.

Jak funguje řízení přístupu k nápravě

Když Azure Policy spustí nasazení šablony při vyhodnocování zásad deployIfNotExists nebo upraví prostředek při vyhodnocování zásad , provede to pomocí spravované identity , která je přidružená k přiřazení zásad. Přiřazení zásad používají spravované identity pro autorizaci prostředků Azure. Můžete použít buď spravovanou identitu přiřazenou systémem, kterou vytvořila služba zásad, nebo identitu přiřazenou uživatelem, kterou poskytnul uživatel. Spravovaná identita musí mít přiřazené minimální role řízení přístupu na základě role (RBAC) vyžadované k nápravě prostředků. Pokud spravované identitě chybí role, během přiřazení zásad nebo iniciativy se na portálu zobrazí chyba. Při použití portálu Azure Policy po zahájení přiřazení automaticky udělí spravované identitě uvedené role. Při použití sady Azure SDK (Software Development Kit) musí být role spravované identitě uděleny ručně. Umístění spravované identity nemá vliv na její provoz se službou Azure Policy.

Poznámka:

Změna definice zásady automaticky neaktualizuje přiřazení ani přidruženou spravovanou identitu.

Zabezpečení nápravy je možné nakonfigurovat pomocí následujících kroků:

Konfigurace definice zásady

Předpokladem je, že definice zásady musí definovat role, které nasazujíIfNotExists , a upravit musí úspěšně nasadit obsah zahrnuté šablony. Pro předdefinovanou definici zásad není nutná žádná akce, protože tyto role jsou předem vyplněné. Pro definici vlastní zásady v části podrobnosti vlastnosti přidejte vlastnost roleDefinitionIds. Tato vlastnost je pole řetězců, které odpovídají rolím ve vašem prostředí. Úplný příklad najdete v příkladu deployIfNotExists nebo v příkladech úprav.

"details": {
    ...
    "roleDefinitionIds": [
        "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/roleDefinitions/{roleGUID}",
        "/providers/Microsoft.Authorization/roleDefinitions/{builtinroleGUID}"
    ]
}

Vlastnost roleDefinitionIds používá úplný identifikátor prostředku a nepoužívá krátký název role role. Pokud chcete získat ID role Přispěvatel ve vašem prostředí, použijte následující kód Azure CLI:

az role definition list --name "Contributor"

Důležité

Oprávnění by měla být omezena na nejmenší možnou sadu při definování roleDefinitionId v definici zásady nebo ruční přiřazení oprávnění spravované identitě. Další osvědčené postupy najdete v doporučeních osvědčených postupů pro spravovanou identitu.

Konfigurace spravované identity

Každé přiřazení azure Policy je možné přidružit pouze k jedné spravované identitě. Spravovanou identitu ale můžete přiřadit více rolí. Konfigurace probíhá ve dvou krocích: nejprve vytvořte spravovanou identitu přiřazenou systémem nebo přiřazenou uživatelem a pak jí udělte potřebné role.

Poznámka:

Při vytváření spravované identity prostřednictvím portálu se role automaticky udělí spravované identitě. Pokud se roleDefinitionId později upraví v definici zásady, musí být nová oprávnění udělena ručně, a to i na portálu.

Vytvoření spravované identity

Při vytváření přiřazení pomocí portálu může Azure Policy vygenerovat spravovanou identitu přiřazenou systémem a udělit jí role definované v roliDefinitionIds definice zásady. Případně můžete zadat spravovanou identitu přiřazenou uživatelem, která obdrží stejné přiřazení role.

Screenshot of a policy assignment creating a system-assigned managed identity in East US with Log Analytics Contributor permissions.

Nastavení spravované identity přiřazené systémem na portálu:

  1. Na kartě Náprava v zobrazení přiřazení pro vytvoření/úpravu v části Typy spravované identity se ujistěte, že je vybraná spravovaná identita přiřazená systémem.

  2. Zadejte umístění, ve kterém se má spravovaná identita nacházet.

  3. Nepřiřazujte obor spravované identity přiřazené systémem, protože obor bude zděděný z oboru přiřazení.

Nastavení spravované identity přiřazené uživatelem na portálu:

  1. Na kartě Náprava v zobrazení přiřazení pro vytvoření/úpravu v části Typy spravované identity se ujistěte, že je vybraná spravovaná identita přiřazená uživatelem.

  2. Zadejte obor, ve kterém je spravovaná identita hostovaná. Rozsah spravované identity nemusí odpovídat rozsahu přiřazení, ale musí být ve stejném tenantovi.

  3. V části Existující identity přiřazené uživatelem vyberte spravovanou identitu.

Udělení oprávnění spravované identitě prostřednictvím definovaných rolí

Důležité

Pokud spravovaná identita nemá oprávnění potřebná ke spuštění požadované úlohy nápravy, udělí se oprávnění automaticky jenom prostřednictvím portálu. Tento krok můžete přeskočit, pokud vytvoříte spravovanou identitu prostřednictvím portálu.

U všech ostatních metod musí být spravovaná identita přiřazení ručně udělena přístup prostřednictvím přidání rolí, jinak nasazení nápravy selže.

Ukázkové scénáře, které vyžadují ruční oprávnění:

  • Pokud se přiřazení vytvoří prostřednictvím sady Azure SDK (Software Development Kit)
  • Pokud je prostředek upravený nástrojem deployIfNotExists nebo úprava mimo rozsah přiřazení zásad.
  • Pokud šablona přistupuje k vlastnostem prostředků mimo obor přiřazení zásad

Spravovanou identitu přiřazení můžete udělit dvěma způsoby pomocí portálu: pomocí řízení přístupu (IAM) nebo úpravou zásady nebo přiřazení iniciativy a výběrem možnosti Uložit.

Pokud chcete přidat roli do spravované identity přiřazení, 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 levé straně stránky služby Azure Policy vyberte Přiřazení.

  3. Vyhledejte přiřazení, které má spravovanou identitu, a vyberte název.

  4. Na stránce pro úpravy najděte vlastnost ID přiřazení. ID přiřazení bude vypadat přibližně takto:

    /subscriptions/{subscriptionId}/resourceGroups/PolicyTarget/providers/Microsoft.Authorization/policyAssignments/2802056bfc094dfb95d4d7a5
    

    Název spravované identity je poslední částí ID prostředku přiřazení, což je 2802056bfc094dfb95d4d7a5 v tomto příkladu. Zkopírujte tuto část ID zdroje přiřazení.

  5. Přejděte k prostředku nebo nadřazeného kontejneru prostředků (skupina prostředků, předplatné, skupina pro správu), který potřebuje definici role ručně přidat.

  6. Na stránce prostředků vyberte odkaz Řízení přístupu (IAM) a pak v horní části stránky řízení přístupu vyberte + Přidat přiřazení role.

  7. Z definice zásady vyberte odpovídající roli, která odpovídá id roleDefinitionId . Ponechte možnost Přiřadit přístup, abyste nastavili výchozí hodnotu "Uživatel, skupina nebo aplikace Azure AD". Do pole Vybrat vložte nebo zadejte část ID zdroje přiřazení, které se nachází dříve. Po dokončení hledání vyberte objekt se stejným názvem a vyberte ID a vyberte Uložit.

Vytvoření úlohy nápravy

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.

Screenshot of searching for Policy in All Services.

Krok 1: Zahájení vytváření úloh nápravy

Prostřednictvím portálu můžete vytvořit úlohu nápravy třemi způsoby.

Možnost 1: Vytvoření úlohy nápravy na stránce Náprava

  1. Na levé straně stránky Azure Policy vyberte Náprava .

    Screenshot of the Remediation node on the Policy page.

  2. Všechna nasazeníIfNotExists a úprava přiřazení zásad jsou zobrazena na kartě Zásady k nápravě . Vyberte jeden s prostředky, které nedodržují předpisy, a otevřete stránku Nová nápravná úloha .

  3. Podle kroků určete podrobnosti úlohy nápravy.

Možnost 2: Vytvoření úlohy nápravy z přiřazení zásad nedodržování předpisů

  1. Na levé straně stránky Azure Policy vyberte Dodržování předpisů .

  2. Vyberte nekompatibilní zásady nebo přiřazení iniciativy obsahující deployIfNotExists nebo upravte efekty.

  3. Výběrem tlačítka Vytvořit úlohu nápravy v horní části stránky otevřete stránku Nová úloha nápravy.

  4. Podle kroků určete podrobnosti úlohy nápravy.

Možnost 3: Vytvoření úlohy nápravy během přiřazení zásad

Pokud má přiřazená zásada nebo definice iniciativy nasazeníIfNotExists nebo účinek Modify, nabízí karta Náprava průvodce možnost Vytvořit úlohu nápravy, která vytvoří úlohu nápravy současně s přiřazením zásady.

Poznámka:

Jedná se o nejfektivněnější přístup k vytvoření úlohy nápravy a je podporovaný pro zásady přiřazené k předplatnému. U zásad přiřazených ke skupině pro správu by se měly úlohy nápravy vytvořit pomocí možnosti 1 nebo možnosti 2 po vyhodnocení, které určilo dodržování předpisů u prostředků.

  1. V průvodci přiřazením na portálu přejděte na kartu Náprava . Zaškrtněte políčko Vytvořit úlohu nápravy.

  2. Pokud je úloha nápravy inicializována z přiřazení iniciativy, vyberte zásadu, která se má napravit z rozevíracího seznamu.

  3. Nakonfigurujte spravovanou identitu a vyplňte zbytek průvodce. Úloha nápravy se vytvoří při vytvoření přiřazení.

Krok 2: Zadání podrobností úlohy nápravy

Tento krok je použitelný pouze při použití možnosti 1 nebo možnosti 2 k zahájení vytváření úloh nápravy.

  1. Pokud je úloha nápravy inicializována z přiřazení iniciativy, vyberte zásadu, která se má napravit z rozevíracího seznamu. Jeden deployIfNotExists nebo upravit zásadu lze napravit prostřednictvím jedné úlohy nápravy najednou.

  2. Volitelně můžete upravit nastavení nápravy na stránce. Informace o tom, co jednotlivé ovládací prvky nastavení řídí, najdete v tématu o nápravě struktury úloh.

  3. Na stejné stránce vyfiltrujte prostředky, které chcete napravit, pomocí tří teček oboru a vyberte podřízené prostředky, ze kterých je zásada přiřazená (včetně jednotlivých objektů prostředků). K dalšímu filtrování prostředků použijte rozevírací seznam Umístění .

    Screenshot of the Remediate node and the grid of resources to remediate.

  4. Jakmile prostředky vyfiltrují, začněte úlohu nápravy výběrem možnosti Opravit. Na kartě Úlohy nápravy se otevře stránka dodržování zásad, která zobrazuje stav průběhu úkolů. Nasazení vytvořená úlohou nápravy začnou hned.

    Screenshot of the Remediation tasks tab and progress of existing remediation tasks.

Krok 3: Sledování průběhu úlohy nápravy

  1. Na stránce Náprava přejděte na kartu Úlohy nápravy. Kliknutím na úlohu nápravy zobrazíte podrobnosti o použitém filtrování, aktuálním stavu a seznamu nápravných prostředků.

  2. Na stránce s podrobnostmi úlohy nápravy klikněte pravým tlačítkem myši na prostředek a zobrazte buď nasazení úlohy nápravy, nebo prostředek. Na konci řádku vyberte Související události a zobrazte podrobnosti, například chybovou zprávu.

    Screenshot of the context menu for a resource on the Remediate task tab.

Prostředky nasazené prostřednictvím úlohy nápravy se přidají na kartu Nasazené prostředky na stránce podrobností o přiřazení zásad.

Další kroky