Get in touch with us!

Azure RM Locks

Your Azure datacenter is growing and more and more administrators is getting access to your resources. RBAC have been around for a while in ARM (Azure resource manager) but perhaps you need an extra level of security especially from human error.

On the 6th of may @AzurePortal tweeted about a new feature called Locks. I’m going to show you how easy it is to set it up and how you can create your own locks with PowerShell.

First install the Azure PowerShell tools and as always do not use anything else than WMF 5.*

#Login and select subscription
Login-AzureRmAccount
$SubscriptionId = Get-AzureRmSubscription | ogv -OutputMode Single
Select-AzureRmSubscription -SubscriptionId $SubscriptionId

After you successfully logged in and selected your subscription run the following code to select the resources you want to protect.

#Select resources
[object[]]$resources = Get-AzureRmResource | ogv -OutputMode Multiple

#Create lock for each resource
$resources.ForEach({
    #Create parameters hash table
    $Parameters=@{
        LockLevel = "CanNotDelete"
        LockName = "Demo Lock Name"
        ResourceName = $psitem.ResourceName
        ResourceType = $psitem.ResourceType
        ResourceGroupName = $psitem.ResourceGroupName
        Force = $true
    }
    #Create new lock
    New-AzureRmResourceLock @Parameters
})

In the screenshot blow I created a lock on a PaaS database and a underlying database, as you can see on the server it tells us that it have an child resource with a lock.

If we look at the child database we also see that we have an parent lock.

Child database

Creating locks on resources can be time consuming if not properly automated, so instead we can choose to create a lock on the parent resource group.

#Select resource groups
[object[]]$resourcesGroups = Get-AzureRmResourceGroup | ogv -OutputMode Multiple

#Create lock for each resource group
$resourcesGroups.ForEach({
    $Parameters=@{
        LockLevel = "CanNotDelete"
        LockName = "Demo RG Lock"
        ResourceGroupName = $psitem.ResourceGroupName
        Force = $true
    }
    #Create new lock for Resource Group
    New-AzureRmResourceLock @Parameters
})

It is also possible to set a lock on subscription level.

If a user accidentally tries to delete a resource in a locked group this error will occur.

Finally this is how you can remove a lock.

#Select locks to be deleted
[object[]]$removeLocks = Get-AzureRmResourceLock | ogv -OutputMode Multiple

#Remove each lock
$removeLocks.ForEach({
    Remove-AzureRmResourceLock -LockId $PSItem.LockId
})

Who can create or delete locks in your organization?

To create or delete management locks, you must have access to Microsoft.Authorization/* or Microsoft.Authorization/locks/* actions. Of the built-in roles, only Owner and User Access Administrator are granted those actions.

If you are familiar with RBAC you can create custom roles who have rights to delete resources but not locks. Another scenario can be a “Lock”-service user who only have access to add and remove locks.

Visit https://azure.microsoft.com/sv-se/documentation/articles/resource-group-lock-resources/ for more info.

Submit a Comment

Your email address will not be published. Required fields are marked *

Starkare tillsammans

Bolag inom både publik och offentlig sektor efterfrågar en alltmer kostnadseffektiv, platsoberoende och säker digital arbetsplats. Därför går nu Altitude 365 och Uclarity samman och bildar ett gemensamt specialistbolag.
Fortsätt på Altitude 365Kolla in Exobe

Altitude 365 + Uclarity – Årets Modern Work Partner!

Vinnaren är ett bra exempel på hur en “Born in the Cloud” ständigt förbättrar sitt erbjudande, arbetar nära och proaktivt med Microsoft för att hjälpa kunderna på deras digitaliseringsresa. Plus att vi på Microsoft verkligen ser fram mot den nya bolags-konstellationen (Altitude 365 + Uclarity) för ett “Starkare Tillsammans”.

Uclarity och Altitude 365 - Starkare tillsammans

Uclarity är specialister på digitala möten, telefoni, kontaktcenter och digitalt arbetssätt. Altitude 365 är specialister på säkerhet, mobilitet och hur bolag kan optimera resan till Microsoft365. Nu gör vi gemensam sak och bildar bolag tillsammans.

– Pandemin har tydliggjort behoven av en modern digital arbetsplats och vi har diskuterat ett samgående med Altitude 365 under en längre tid. Våra kunder har behov av specialistkompetens och tillsammans blir vi en ledande specialist inom Digital Workplace-området, säger Niklas Olsson Hellström, VD Uclarity AB.

Tommy Clark, Partner, Altitude 365, kommenterar:
– Inget bolag köper det andra utan båda bolagen får lika stora delar i det nya bolaget. Vår ledstjärna är att vi blir starkare tillsammans och att vi kan hjälpa våra kunder under hela deras resa.
Målet med sammanslagningen är att kunna hjälpa kunder med både teknik och effektiva arbetssätt.

– Det är då våra kunder får önskad effekt av sin investering i den digitala arbetsplatsen, säger Niklas Olsson Hellström.

Båda bolagen har svenska och internationella kunder från både privat och offentlig sektor. Sammanslagningen resulterar i en organisation på 50+ anställda baserade i Stockholm, Örebro och Göteborg.

För frågor, vänligen kontakta;
Tommy Clarke, Partner, Altitude 365 AB, 0703-593854, tommy.clarke@altitude365.com
Niklas Olsson Hellström, VD, Uclarity AB, 0734-198016, niklas.olsson@uclarity.com

Fortsätt på Altitude 365Kolla in Exobe