Fala galera, no post de hoje vamos falar sobre como podemos proteger nossos recursos de nuvem contra ações de delete ou updade acidentais, utilizando o lock.

Existem dois tipos de locks na Azure:

  • CanNotDelete: Usuários podem ler ou fazer modificações no recurso, mas não podem deletá-lo;
  • ReadOnly: Usuários não podem fazer modificações ou deletar o recurso de nuvem.

Além disso, o lock pode ser aplicado a subscriptions, resource group, ou um recurso específico. Vale comentar que existe o conceito de herança do lock: caso um lock seja aplicado, por exemplo ao grupo de recursos, todos os recursos presentes nesse grupo de recursos herdarão o mesmo lock.

Para esse post, vamos criar alguns locks em grupos de recursos e fazer alguns testes!

Primeiramente, iremos criar um lock diretamente pelo portal:

Na aba de locks, vamos criar um do tipo Delete.

Com o lock criado, vamos tentar deletar o grupo de recursos criado.

Podemos ver que a ação de delete não foi executada devido ao lock!

Outra forma bem legal de implementar o lock é através do bicep. Vamos criar um bicep module que criar um lock.

resource createRgLock 'Microsoft.Authorization/locks@2016-09-01' = {
  name: 'rgLock'
  properties: {
    level: 'CanNotDelete'
    notes: 'Resource group lock via bicep'
  }
}

Agora já podemos criar um grupo de recurso e aplicar o module criado anteriormente, passando como scope, o grupo de recursos definido.

targetScope='subscription'

var rgName = 'rg-lock-bicep-eastus-prod'
var rgLocation = 'eastus'

resource resourceGroup 'Microsoft.Resources/resourceGroups@2022-09-01' = {
  name: rgName
  location: rgLocation
}

module rgLockModule './lockModule.bicep' = {
  name: 'lockDeployment'
  scope: az.resourceGroup(resourceGroup.name)
}
  

Nesse exemplo, vou fazer o deploy dos arquivos bicep via VS code.

Podemos ver que o grupo de recursos foi criado corretamente, juntamente com o lock.

Você já pode baixar o projeto por esse link, e não esquece de me seguir no LinkedIn!

Até a próxima, abraços!

💡
Podemos te ajudar com uma revisão 100% gratuita do seu ambiente cloud.
Share this post