Usar bloqueios de recursos para proteger recursos

Concluído

Em uma conversa recente, seu gerente mencionou que houve instâncias em que recursos críticos do Azure foram excluídos por engano. Como houve desorganização em todo o seu ambiente Azure, as boas intenções de limpar recursos desnecessários resultaram em eliminações acidentais de recursos críticos para outros sistemas. Você já ouviu sobre bloqueios no Azure. Você menciona para seu gerente que acredita que pode ajudar a evitar que esse tipo de incidente ocorra no futuro. Vamos dar uma olhada em como você poderia usar bloqueios de recursos para resolver esse problema.

O que são bloqueios de recursos?

Bloqueios de recursos são uma configuração que você pode aplicar a qualquer recurso para bloquear a modificação ou a exclusão. É possível definir os bloqueios de recursos como Excluir ou Somente leitura. Excluir permitirá a realização de todas as operações no recurso, mas bloqueará a capacidade de excluí-lo. Somente leitura permitirá que apenas atividades de leitura sejam realizadas nele, bloqueando qualquer modificação ou exclusão do recurso. É possível aplicar bloqueios de recursos a assinaturas, grupos de recursos ou recursos individuais. Eles são herdados quando aplicados em níveis mais altos.

Observação

Definir como Somente leitura pode gerar resultados inesperados, pois algumas operações que parecem ser de leitura exigem ações adicionais. Por exemplo, aplicar um bloqueio Somente leitura a uma conta de armazenamento impedirá que todos os usuários listem as chaves. A operação de lista de chaves é tratada por meio de uma solicitação POST, pois as chaves retornadas estão disponíveis para operações de gravação.

Quando um bloqueio de recurso é aplicado, você primeiro deve remover o bloqueio para executar a atividade. Colocar uma etapa adicional em vigor antes de permitir que a ação seja executada no recurso ajuda a proteger os recursos contra ações acidentais, bem como a proteger seus administradores de fazer algo que podem não ter a intenção de fazer. Os bloqueios de recursos se aplicam independentemente das permissões de RBAC. Mesmo se você for o proprietário do recurso, ainda precisará remover o bloqueio antes de ser capaz de realizar a atividade bloqueada.

Vamos dar uma olhada em como um bloqueio de recurso funciona em ação.

Criar um bloqueio de recurso

Lembre-se de nosso grupo de recursos msftlearn-core-infrastructure-rg. Você agora tem duas redes virtuais e uma conta de armazenamento nele. Você considera esses recursos como partes críticas de nosso ambiente do Azure e quer garantir que eles não sejam excluídos por engano. Para impedir que ele e os recursos contidos nele sejam excluídos, aplique um bloqueio de recurso ao grupo de recursos.

  1. Em um navegador da Web, navegue até o portal do Azure caso ainda não tenha feito isso. Na caixa de pesquisa na barra de navegação superior, pesquise msftlearn-core-infrastructure-rg e selecione o grupo de recursos.

  2. No menu esquerdo, na seção Configurações, selecione Bloqueios. Você deve ver que o recurso não tem nenhum bloqueio no momento. Você adicionará um.

  3. Selecione + Adicionar. Atribua o nome BlockDeletion ao bloqueio e selecione um Tipo de bloqueio de Excluir. Selecione OK.

    Screenshot of Azure portal showing a new delete resource lock being configured.

    Agora você tem um bloqueio aplicado ao grupo de recursos que impede a exclusão do grupo. Esse bloqueio é herdado por todos os recursos dentro do grupo de recursos. Você tentará excluir uma das redes virtuais para ver o que acontece.

  4. Volte para Visão geral e selecione msftlearn-vnet1.

  5. Na parte superior do painel Visão geral, em msftlearn-vnet1, selecione Excluir. Você deverá receber um erro indicando que há um bloqueio no recurso impedindo sua exclusão.

  6. No menu esquerdo, na seção Configurações, selecione Bloqueios. O recurso msftlearn-vnet1 tem um bloqueio que é herdado do grupo de recursos.

  7. Retorne ao grupo de recursos msftlearn-core-infrastructure-rg e vá para Bloqueios. Você removerá o bloqueio para que possamos realizar a limpeza. Selecione Excluir no bloqueio BlockDeletion.

Usar bloqueios de recursos na prática

Você viu como os bloqueios de recursos podem proteger contra exclusão acidental. Para excluir a rede virtual, você precisou remover o bloqueio. Essa ação coordenada ajuda a garantir que você realmente tem a intenção de excluir ou modificar o recurso em questão.

Use bloqueios de recursos para proteger essas partes principais do Azure que poderão ter um grande impacto se forem removidas ou modificadas. Alguns exemplos são circuitos do ExpressRoute e redes virtuais, bancos de dados críticos e controladores de domínio. Avalie seus recursos e aplique bloqueios nos quais gostaria de ter uma camada extra de proteção contra ações acidentais.

Limpar os recursos

Vamos limpar os recursos que criamos. Você precisará excluir o grupo de recursos que criou, bem como a atribuição de política e a definição de política.

  1. Acesse o portal do Azure em um navegador da Web.

  2. Na caixa de pesquisa na barra de menus superior, pesquise msftlearn-core-infrastructure-rg e selecione o grupo de recursos.

  3. No painel Visão Geral, selecione Excluir grupo de recursos. Insira o nome do grupo de recursos msftlearn-core-infrastructure-rg para confirmar e selecione Excluir. Selecione Excluir novamente para confirmar a exclusão.

    Observação

    Como você excluiu os recursos atribuídos com o grupo de recursos que os contêm, não haverá nenhuma atribuição restante nessa política. Normalmente, se você atribuir uma política a um recurso, poderá excluir a atribuição sem excluir o recurso subjacente. Para fazer isso, selecione Atribuições e escolha as reticências (...) da atribuição e Excluir atribuição.

  4. Na caixa de pesquisa, pesquise Política e escolha o serviço Política.

  5. Selecione Definições e pesquise a política que você criou: Impor marca no recurso.

  6. Escolha o ... para sua definição e selecione Excluir definição. Selecione Sim para confirmar a exclusão.