Cloud SolutionsAzure Policy als dienstverlener

Azure Policy als dienstverlener

Azure policy is niet alleen de politieagent om je beleidsregels te handhaven, zoals het verplicht stellen van versleuteld verkeer met opslag accounts. Het is ook een dienstverlener die een aantal zaken uit handen neemt, zodat je omgeving ingericht wordt en blijft volgens je eigen standaarden en regels.  

Bij policies (beleidsregels) denk je meestal aan regels waaraan moet worden voldaan. Dan verwacht je bij een dienst die "Azure Policy" heet, regels die aangeven wat wel of niet is toegestaan. Probeer je een actie uit te voeren, zoals het aanmaken van een bepaalde resource, dan verwacht je een melding dat dit niet is toegestaan wanneer de configuratie van deze resource niet voldoet aan regels en dat het aanmaken ervan dus niet uitgevoerd gaat worden. Maar Azure policy kan meer dan alleen Deny of Allow reacties geven. 

Audit or enforce

Er zijn namelijk meer manieren met Azure Policy om te voldoen aan de regels binnen je organisatie. Policies kunnen ook benodigde configuraties voor je toevoegen of aanpassen en zelfs één of meerdere gerelateerde resources voor je aanmaken. Vergeet je bijvoorbeeld in te stellen dat de communicatie met een storage account altijd encrypted moet zijn, dan kan dit met een policy gelijk recht getrokken worden. 

Azure Policy kan dus een hele set aan automatiseringsmogelijkheden geven om je omgeving volgens jouw regels ingericht te krijgen en te houden. Maar voordat we wat leuke voorbeelden geven, eerst even een klein overzicht wat Azure Policy is en doet. 

Azure Policy

Azure policy is een gratis dienst in Azure welke resources evalueert door de eigenschappen van deze resources te vergelijken met bedrijfsregels. Deze regels staan beschreven in "policy definitions". Om het overzichtelijker te maken en het beheer van vele definitions te vereenvoudigen kunnen deze gegroepeerd worden in "Policy Initiatives". Definitions en Initiatives kunnen vervolgens worden toegewezen (Assignments) op het gewenste bereik (Scope) binnen je Azure omgeving. Bijvoorbeeld een management group, subscription of resource group. De toewijzing is van toepassing op alle resources binnen het bereik van deze toewijzing. Desgewenst kunnen er uitzonderingen, voor bijvoorbeeld een specifieke resource group binnen het bereik, gemaakt worden.  

Evaluatie

Resources worden op diverse momenten geëvalueerd. Dat kan door een bepaalde gebeurtenis of tijdens de standaardevaluatiecyclus van de dienst (elke 24 uur). Bij de volgende gebeurtenissen wordt er geëvalueerd: 

  • Wanneer een resource wordt gemaakt, bijgewerkt of verwijderd in een bereik met een Policy Assignment. 
  • Wanneer een policy of initiative voor het eerst wordt toegewezen aan een bereik. 
  • Wanneer een policy of initiative dat al is toegewezen aan een bereik, wordt bijgewerkt. 

Reacties en effecten

Aan de hand van de evaluatie van de resources kan er op verschillende manieren gereageerd worden. Dit wordt gedaan door bepaalde effecten in te stellen in de policy definitie. Indien de configuratie van bepaalde resources niet voldoet, zijn de volgende reacties mogelijk: 

  • De resourcewijziging weigeren (Deny) 
  • De wijziging in de resource vastleggen/loggen (Audit, AuditIfNotExists) 
  • De resource aanpassen (Append, Modify) 
  • Gerelateerde, compatibele resources implementeren (DeployIfNotExists) 

Met die laatste twee hebben we dus een mechanisme in handen om de juiste configuraties te zetten of zelfs extra resources aan te maken die nodig zijn. 

Remediation

Wanneer je nieuwe policies aanbrengt of wijzigingen in reeds toegewezen policies maakt, zullen eerder gemaakte resources wellicht niet voldoen aan deze nieuwe regels. Deze resources kunnen dan met een zogenoemde Remediation Task alsnog compliant gemaakt kunnen worden. 

Voorbeelden

Een paar voorbeelden die je kunt gebruiken in een Azure omgeving om te voldoen aan de regels binnen een organisatie, waarbij je geholpen kan worden door Azure Policy: 

  • Communicatie naar storage accounts alleen met encryptie (Modify effect) 
  • Tags (metadata) laten overerven van de resource group naar een resource (Append effect) 
  • Logging naar centrale Log analytics (DeployIfNotExists) 

Communicatie Storage account instellen

Als binnen de organisatie gesteld is dat alle communicatie met bijvoorbeeld storage accounts altijd encrypted moeten zijn, kun je bij zo’n storage account simpel een vinkje zetten. Echter, zonder een middel als Azure Policy, ben je afhankelijk van het menselijk handelen dat dit vinkje gezet is en blijft. Dit kan dus vergeten worden of nadien gewijzigd. Je kan ontwikkelaars verplichten om dit goed uit te voeren en hier zelf op controleren. Met een policy maakt het niet uit of deze property wel of niet meegegeven wordt in de configuratie van het storage account, omdat hij altijd aangezet wordt. Het effect wat je bij zo’n policy gebruiken is het Modify effect. 

Overerven van Tags

Je kunt aan resources en resource groups Tags meegeven. Dit is metadata die je gebruikt om resources verder te organiseren. Dus om aan te geven voor welke business applicatie dit onderdeel is, of je geeft mee voor welke omgeving, bijvoorbeeld productie of test. Er zit standaard geen overerving in, zodat tags nadat je ze op een resource group hebt geplaatst ook geplaatst worden op resources die hier in geplaatst zijn. Door middel van een Append policy kunnen we dit bewerkstelligen. Hierbij kun je bepaalde tags meenemen welke je belangrijk vindt.  

Logging instellen

Voor netwerk en firewall beheer is het fijn om logs van diverse netwerk en firewall services naar een centrale log omgeving, bijvoorbeeld Log analytics te laten sturen. Dit kun je bij alle resources gewoon meegeven, maar deze extra resource instelling kan ook geautomatiseerd worden middels een DeployIfNotExists policy. Dan hoef je dat dus bij al die resources niet zelf te configureren en het heeft als extra voordeel dat mocht de locatie veranderen (andere log analytics workspace), je alleen de policy hoeft te wijzigen, in plaats van alle resources na te lopen of er een apart script voor te schrijven. 

Met Azure Policy heb je een mechanisme in handen welke niet alleen laat zien of een omgeving voldoet aan de regels en bepaalde zaken eventueel niet toe laat, maar het is dus ook een soort automation tool. De voorbeelden hier zijn nog redelijk simpel, maar middels een policy kun je in feite van alles wijzigen en aanbrengen in je omgeving. 

Delta-N heeft veel ervaring met het opzetten van Azure omgevingen bij grotere en kleinere organisaties en kan je helpen de juiste keuzes te maken. Kijk hier ons webinar over het inrichten van een Azure Landing Zone terug. Heb je ondersteuning nodig bij het goed inrichten van je Azure omgeving, neem dan contact met ons op.

  • Helicopter landt op een Azure logo. Daaronder staat "Veilig starten met Azure" en een knop met "meer informatie"