Kurz: implementace Azure Policy jako kódu s GitHub
Pracovní postup Azure Policy jako kódu umožňuje spravovat definice zásad a přiřazení jako kód, řídit životní cyklus aktualizací těchto definic a automatizovat ověřování výsledků dodržování předpisů. v tomto kurzu se naučíte používat funkce Azure Policy s GitHub k vytvoření procesu životního cyklu. Mezi tyto úlohy patří:
- Exportovat definice zásad a přiřazení do GitHub
- objekty nabízené zásady aktualizované v GitHub do Azure
- aktivace kontroly kompatibility z akce GitHub
Pokud chcete přiřadit zásadu pro identifikaci aktuálního stavu dodržování předpisů ve stávajících prostředcích, vysvětlete si článek rychlý Start.
Požadavky
- Pokud ještě nemáte předplatné Azure, vytvořte si bezplatný účet před tím, než začnete.
- Přečtěte si téma návrh pracovního postupu Azure Policy jako kódu , abyste pochopili vzory návrhu používané v tomto kurzu.
Export objektů Azure Policy z Azure Portal
Pokud chcete exportovat definici zásady z Azure Portal, postupujte podle těchto kroků:
Spusťte službu Azure Policy na webu Azure Portal tak, že kliknete na Všechny služby a pak vyhledáte a vyberete Zásady.
Na levé straně stránky Azure Policy vyberte definice .
Použijte tlačítko exportovat definice nebo vyberte tři tečky na řádku definice zásady a pak vyberte Exportovat definici.
vyberte tlačítko přihlásit se pomocí GitHub . pokud jste ještě neověřili GitHub k autorizaci Azure Policy k exportu prostředku, přečtěte si téma přístup k GitHub akce v novém okně, které se otevře, a vyberte autorizovat AzureGitHubActions , aby bylo možné pokračovat v procesu exportu. Po dokončení se nové okno automaticky zavře.
Na kartě základy nastavte následující možnosti a potom v dolní části stránky vyberte kartu zásady nebo tlačítko Další: zásady .
- filtr úložiště: nastavte na moje úložiště , abyste viděli jenom úložiště, která vlastníte, nebo všechna úložiště , aby se zobrazila všechna oprávnění, ke kterým jste udělili přístup k GitHub akci.
- Úložiště: nastavte na úložiště, do kterého chcete exportovat prostředky Azure Policy.
- Větev: nastavte větev v úložišti. Použití jiné než výchozí větve je dobrým způsobem, jak ověřit aktualizace před tím, než se sloučí do zdrojového kódu.
- Adresář: Složka kořenové úrovně , do které se mají exportovat prostředky Azure Policy. V závislosti na tom, jaké prostředky se exportují, se vytvoří podsložky v tomto adresáři.
Na kartě zásady nastavte obor pro hledání tak, že vyberete tři tečky a vybíráte kombinaci skupin pro správu, předplatných nebo skupin prostředků.
Pomocí tlačítka přidat definice zásad můžete vyhledat obor, pro který chcete exportovat objekty. V okně, které se otevře, vyberte každý objekt, který chcete exportovat. Vyfiltruje výběr pomocí vyhledávacího pole nebo typu. Po výběru všech objektů k exportu použijte tlačítko Přidat v dolní části stránky.
U každého vybraného objektu vyberte požadované možnosti exportu, jako je například jenom definice nebo definice a přiřazení pro definici zásady. Pak vyberte kartu recenze + export nebo další: v dolní části stránky klikněte na tlačítko Revize + exportovat .
Poznámka
Pokud je zvolená definice a přiřazení možnosti, exportují se jenom přiřazení zásad v oboru nastaveném filtrem při přidání definice zásady.
Na kartě Revize + export Zkontrolujte shodu podrobností a pak použijte tlačítko exportovat v dolní části stránky.
zkontrolujte GitHub úložiště, větve a složky kořenové úrovně a podívejte se, že vybrané prostředky jsou nyní exportovány do vašeho zdrojového kódu.
prostředky Azure Policy jsou exportovány do následující struktury v rámci vybrané GitHub úložiště a složky na kořenové úrovni:
|
|- <root level folder>/ ________________ # Root level folder set by Directory property
| |- policies/ ________________________ # Subfolder for policy objects
| |- <displayName>_<name>____________ # Subfolder based on policy displayName and name properties
| |- policy.json _________________ # Policy definition
| |- assign.<displayName>_<name>__ # Each assignment (if selected) based on displayName and name properties
|
objekty nabízené zásady aktualizované v GitHub do Azure
když se objekty zásad exportují, vytvoří se také soubor pracovního postupu GitHub s názvem,
.github/workflows/manage-azure-policy-<randomLetters>.ymlkterý vám umožní začít.Poznámka
při každém použití exportu se vytvoří soubor pracovního postupu GitHub. Každá instance souboru je specifická pro možnosti při této akci exportu.
tento soubor pracovního postupu používá akci spravovat Azure Policy k odesílání změn provedených v exportovaných objektech zásad v úložišti GitHub zpět do Azure Policy. Ve výchozím nastavení akce bere v úvahu a synchronizuje pouze ty soubory, které se liší od těch, které jsou v Azure již použity. Můžete také použít
assignmentsparametr v akci a synchronizovat pouze změny provedené v konkrétních souborech přiřazení. Tento parametr lze použít k aplikování přiřazení zásad pouze pro konkrétní prostředí. Další informace najdete v souboru Readme pro správu Azure Policyového úložiště.Ve výchozím nastavení se pracovní postup musí aktivovat ručně. provedete to tak, že použijete akce v GitHub, vyberete
manage-azure-policy-<randomLetters>pracovní postup, vyberete spustit pracovní postup a znovu spustíte pracovní postup .
Poznámka
Soubor pracovního postupu musí být ve výchozí větvi, která se má zjistit a spustit ručně.
Pracovní postup synchronizuje změny provedené v objektech zásad pomocí Azure a poskytne vám stav v protokolech.
Pracovní postup také přidá podrobnosti v Azure Policy objektů, které
properties.metadatamůžete sledovat.
aktivace kontrol dodržování předpisů pomocí akce GitHub
pomocí akce Azure Policy prověřování dodržování předpisů můžete spustit kontrolu vyhodnocení dodržování předpisů na vyžádání z pracovního postupu GitHub na jednom nebo několika prostředcích, skupinách prostředků nebo předplatných a změnit cestu pracovního postupu na základě stavu dodržování předpisů těchto prostředků. Můžete také nakonfigurovat pracovní postup tak, aby běžel v naplánovaném čase, aby získal nejnovější stav dodržování předpisů v pohodlný čas. tato akce GitHub taky může vygenerovat sestavu stavu dodržování předpisů u naskenovaných prostředků pro další analýzu nebo pro archivaci.
Následující příklad spustí kontrolu dodržování předpisů u předplatného.
on:
schedule:
- cron: '0 8 * * *' # runs every morning 8am
jobs:
assess-policy-compliance:
runs-on: ubuntu-latest
steps:
- name: Login to Azure
uses: azure/login@v1
with:
creds: ${{secrets.AZURE_CREDENTIALS}}
- name: Check for resource compliance
uses: azure/policy-compliance-scan@v0
with:
scopes: |
/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Opakování
V tomto kurzu jste úspěšně provedli následující úlohy:
- Exportované definice zásad a přiřazení do GitHub
- předané objekty zásad aktualizované v GitHub do Azure
- aktivovala se kontrola dodržování předpisů z akce GitHub.
Další kroky
Další informace o strukturách definic zásad najdete v tomto článku: