[Quick Tip] Azure 리소스 삭제 및 수정 방지

모든 엔터프라이즈 시스템이 그러하듯, Azure 역시 계정의 역할과 소속된 그룹의 권한 범위에 따라 접근 가능한 리소스 그룹과 그룹 내에 속한 리소스들을 어디까지 조회하고, 설정을 편집하거나, 삭제할 수 있는지를 정할 수 있게 되어있습니다. 안전하게 리소스를 관리하기 위해서는 전체 권한을 가지고 있는 사용자로서 Azure 포털이나 서비스를 이용하는 것 보다는 역할이 축소된 사용자로서 로그인하여 관리하는 것이 안전합니다.

이와는 별개로, 전체 권한을 가진 사용자가 실수로 리소스를 편집하거나 삭제하는 것을 방지해야 할 필요가 있습니다. 이러한 경우 유용하게 사용할 수 있는 기능이 구독 및 Resource Group 단위 이하부터 지정 가능한 잠금 기능입니다.

잠금 기능 설정의 범위

잠금 기능은 앞의 예제에서 보인 것 처럼 리소스 그룹 단위로 설정할 수도 있고, 리소스 그룹 내의 모든 하위 리소스에 대하여 설정하는 것도 가능하며, 구독 수준에서 잠금을 설정하는 것도 가능합니다. 즉, Azure에서 관리할 수 있는 모든 리소스에 대해 잠금 설정이 가능하므로 안정 장치로서 적절하게 활용할 수 있습니다.

잠금 기능의 설정과 활용

잠금 기능은 설정의 수정을 방지하는 읽기 잠금과 리소스의 삭제를 방지하는 삭제 잠금이 있습니다. 상위 개체에 대해서 잠금을 설정하면 하위 개체에 자동으로 설정이 상속되어, 상위 개체의 잠금을 삭제하지 않는 한 권한의 유무와 상관없이 해당 잠금 설정이 적용됩니다.

예를 들어, 리소스 그룹을 하나 만들고 해당 리소스 그룹에 다음과 같이 삭제 잠금을 지정했다고 가정하겠습니다.

리소스 그룹 범위에 대해서 delete-protection 이라는 이름으로 설정하였기 때문에, 이 그룹 내에 속한 Azure 서비스 수준에서 관리되는 리소스 (가상 컴퓨터, 저장소, 관리되는 디스크 등)는 삭제 권한을 가진 사용자라고 하더라도 리소스를 삭제할 수 없게 됩니다. 예를 들면 다음과 같은 화면을 삭제 시에 만나게 됩니다.

잠금 기능 자동화

잠금 기능을 REST API를 이용하여 관리할 수도 있습니다. 이에 대한 자세한 내용은 https://docs.microsoft.com/ko-kr/azure/azure-resource-manager/resource-group-lock-resources 문서를 참조하십시오.

댓글 남기기