A common theme in cloud environments today is the ability to define templates, policies, and procedures. These templates then dictate what can be done and verify that what does exist is correct. A service from Microsoft called Azure Policy is a great way to make that happen.
In dit artikel leer je hoe Azure Policy werkt en hoe je verschillende beleidsregels en herstelacties kunt maken.
Het maken van een Azure Policy
Er zijn verschillende manieren om beleidsregels te maken, zoals via de Azure Portal, PowerShell, Azure CLI en ARM-templates.
Azure Portal
Als je de voorkeur geeft aan een grafische interface of je opties wilt verkennen, is dit een goede introductie tot beleidsregels. De interface is eenvoudig en stelt je in staat om in één oogopslag te zien wat je opties zijn.
- Binnen de Azure Portal, zoek naar Beleid.
- Klik op Opdrachten onder de sectie Auteur
- Klik op Beleid toewijzen
- Klik op de ellipses onder Bereik om de abonnementen te selecteren waarop het beleid van toepassing moet zijn, en optioneel de resourcegroep
- Klik op de ellipses onder Beleidsdefinitie om het beleid te definiëren
- Gebruik de standaard gegenereerde naam onder Opdrachtnaam of voer een unieke naam in om je beleid te identificeren
- Vul eventuele parameters in op basis van het gekozen beleid
- Maak ten slotte een beheerde identiteit aan en definiëer indien nodig de locatie

PowerShell
Gelukkig maakt PowerShell het snel en eenvoudig om een Azure-beleidsdefinitie toe te wijzen aan een beleidsopdracht. Er zijn twee vereisten: je hebt de nieuwste versie van Azure PowerShell nodig en je moet de Azure Policy Insights resource provider registreren.
Azure CLI
Als PowerShell niet beschikbaar is of niet de voorkeur heeft, dan kunt u ook veel van hetzelfde bereiken met behulp van de Azure CLI. Dit kan ook handig zijn in cross-platform scenario’s als u PowerShell niet op alle besturingssystemen kunt gebruiken.
Azure-beleidssjablonen
Azure Resource Manager-sjablonen zijn nog een manier om beleidsregels voor resources te maken en toe te wijzen. Hieronder staat een startsjabloon die u kunt gebruiken om een beleid te kiezen om toe te wijzen aan een resourcegroep als voorbeeld.
Hoe Azure-beleidstoewijzing werkt
Nadat u de beleidsdefinities hebt gekozen of gemaakt die u wilt toepassen, wijst u die definities toe om een specifieke scope te beïnvloeden. De scope bepaalt eenvoudigweg op welke toepassingsgebied de beleidstoewijzing van toepassing is, zoals een beheer- of resourcegroep. Iets om op te merken is dat beleidstoewijzingen worden overgeërfd door alle onderliggende resources, maar u heeft wel de mogelijkheid om een sub-scope uit te sluiten indien nodig.
Voorbeelden van Azure-beleid
Er zijn veel beleidsdefinities beschikbaar en het kan moeilijk zijn om te beslissen wat het beste is om toe te passen. Dus wat zijn enkele van de opties, wanneer zou u ze gebruiken en waarom?
- Vereis tag en zijn waarde – Dit kan voor allerlei doeleinden worden gebruikt, maar een mogelijkheid is bijvoorbeeld voor kostencodes, of voor het identificeren van verschillende resources die verspreid zijn over meerdere resourcegroepen.
- Toegestane resourcetypen – Wat als u alleen specifieke resources wilt toestaan? Dit kan worden afgedwongen, bijvoorbeeld alleen de mogelijkheid om een opslagresource te maken.
- Audit Windows VMs met een Hangende Reboot – Misschien wilt u weten welke Windows VM’s een hangende reboot vereisen, om ervoor te zorgen dat deze niet achterblijven? Gebruik dit beleid om ze op te sporen en mogelijk te herstellen op een schema.
- Audit Diagnostische instelling – Als diagnostische instellingen niet zijn ingeschakeld, zal dit beleid diegenen vinden die niet voldoen.
- Beheerpoorten moeten gesloten zijn op uw virtuele machines – Controleer of de beheerpoorten op uw VM’s gesloten zijn, een geweldig beleid voor degenen die zich zorgen maken om de veiligheid.
- Verouderde accounts moeten worden verwijderd uit uw abonnement – Zoek naar alle accounts die zijn geblokkeerd voor aanmelding binnen een directory, en herstel deze indien nodig. Hoewel er hier veel zijn, en er elke dag nog meer worden aangemaakt, heb je ook een zeer krachtige mogelijkheid om je eigen aangepaste beleidsdefinities te maken. Met behulp van een eenvoudig query-definitieschema kunt u krachtige if-then-constructies maken om te definiëren op welke beleidsregels u beleidsregels wilt toepassen.
Hoe Azure-beleidsregels meer herbruikbaar maken
Parameters
Een van de meest nuttige tools is het definiëren van parameters voor gebruik in uw beleid. Als u voor elke variatie in een beleid een uniek beleid zou moeten definiëren, zou u uiteindelijk met honderden beleidsregels eindigen. Een geweldige oplossing hiervoor is het parameteriseren van een beleid. Hiermee kunt u het beleid aanpassen op het moment van toewijzing en één beleidsdefinitie van toepassing maken op veel verschillende gebruiksgevallen.
Initiatieven
De volgende logische stap is om meerdere definities samen te voegen in een set. Dit stelt u in staat om al die verschillende definities toe te wijzen aan een scope zonder dat u ze telkens individueel hoeft toe te wijzen.
Initiatiefparameters
Tenslotte kunt u parameters toevoegen aan initiatieven die kunnen worden overgeërfd naar de afzonderlijke beleidsregels. Dit betekent dat u niet afzonderlijk parameters hoeft toe te wijzen voor elk beleid dat binnen een initiatief valt. Dit kan veel tijd besparen, aangezien u slechts een paar initiatieven kunt definiëren die veel verschillende beleidsregels op verschillende manieren toepassen, afhankelijk van de gekozen parameters.
Remediëringstaken
Wat moet u doen als u een beleid heeft dat wordt geëvalueerd maar vindt dat resources niet voldoen aan de normen? Op dat moment kunt u een remediëringstaak starten om het probleem op te lossen. Dit kan behoorlijk krachtig zijn, maar ook behoorlijk gevaarlijk als het verkeerd is ingesteld. Opnieuw zijn er verschillende manieren om deze taken te definiëren, ofwel via de Azure Portal, PowerShell of via de Azure CLI.
Azure Portal
Zoals eerder kunt u de Azure Portal gebruiken om de creatie van een remediëringstaak te verkennen. Als u merkt dat er geen beleidsregels worden vermeld, zorg er dan voor dat u zowel deployIfNotExists-beleidsregels heeft als die die zijn geëvalueerd als niet-conform anders worden ze niet weergegeven.
- Binnen de Azure Portal zoekt u naar Beleid
- Klik op Remediëring aan de linkerkant
- Klik op een beleid dat van het type deployIfNotExists is en heeft niet-conforme resources
- Filter de bronnen die moeten worden aangepakt op de pagina van de Nieuwe remediërings taak om te beperken waarop de taak van toepassing is
- Klik op Remediëren om de taak zelf te starten
PowerShell
Het is vrij eenvoudig om een remediatietaak te maken via PowerShell. Het belangrijkste om te onthouden is dat je een deployIfNotExists beleid moet gebruiken.
Azure CLI
In plaats van PowerShell te gebruiken, kun je ook de Azure CLI gebruiken om een remediatietaak te starten. Hetzelfde geldt hiervoor als voor de PowerShell-taak.
Samenvatting
De kracht van het gebruik van Azure-beleidsregels is dat je voor elk Azure-abonnement elk aantal flexibele beleidsregels kunt definiëren om je omgeving te beheren. Bovendien, met tijd, moeite en nadenken over hoe je je beleidsregels, initiatieven en parameters structureert, kun je een goed gedefinieerde en eenvoudig te herstellen opstelling creëren.
Gezien het feit dat Azure-beleidsregels gratis zijn voor elk Azure-abonnement, is het logisch om de tijd te nemen om te implementeren wat je nodig hebt. Gezien de flexibiliteit in hoe je deze definities en beleidsregels maakt en implementeert, is het toepasbaar op bijna alles en helpt het je grip te houden op je omgeving!