리소스 잠금을 사용하여 리소스 보호

완료됨

최근 대화에서, 여러분의 상사가 중요한 Azure 리소스가 실수로 삭제된 사건이 있었다고 말했습니다. Azure 환경이 무질서하게 구성되어 있어서, 불필요한 리소스를 정리하려는 좋은 의도로 한 일이 다른 시스템에 중요한 리소스 삭제라는 의도치 않은 결과로 이어졌습니다. 여러분은 Azure의 리소스 잠금에 대해 들어본 적이 있습니다. 여러분은 이와 같은 문제가 다시는 발생하지 않도록 막을 수 있는 방법이 있다고 상사에게 언급합니다. 리소스 잠금을 사용하여 이 문제를 해결하는 방법을 살펴보겠습니다.

리소스 잠금이란?

리소스 잠금은 모든 리소스에 적용하여 수정 또는 삭제를 막을 수 있는 설정입니다. 리소스 잠금은 삭제 또는 읽기 전용으로 설정할 수 있습니다. 삭제는 리소스를 삭제하는 기능을 제외하고 리소스에 대한 모든 작업을 허용합니다. 읽기 전용은 리소스 읽기 작업만 허용하고 리소스의 삭제나 수정을 차단합니다. 리소스 잠금은 구독, 리소스 그룹 및 개별 리소스에 적용할 수 있습니다. 리소스 잠금은 더 높은 수준에서 적용할 때 상속됩니다.

참고 항목

읽기 작업처럼 보이는 일부 작업은 실제로는 추가 작업이 필요하기 때문에 읽기 전용을 적용하면 예기치 않은 결과가 발생할 수 있습니다. 예를 들어 스토리지 계정에 읽기 전용 잠금을 설정하면 모든 사용자가 키를 나열할 수 없습니다. 반환되는 키를 쓰기 작업에 사용할 수 있기 때문에 키 나열 작업은 POST 요청을 통해 처리됩니다.

리소스 잠금이 적용된 경우에는 해당 활동을 수행하려면 먼저 잠금을 제거해야 합니다. 리소스에 대한 작업을 허용하기 전에 추가 단계를 배치하면 의도치 않은 작업으로부터 리소스를 보호하고 관리자가 의도하지 않은 일을 하지 않도록 방지할 수 있습니다. 리소스 잠금은 RBAC 권한에 관계 없이 적용됩니다. 리소스 소유자라 할지라도 차단된 작업을 수행하려면 먼저 잠금을 제거해야 합니다.

리소스 잠금이 실제로 작동하는 모습을 살펴보겠습니다.

리소스 잠금 만들기

msftlearn-core-infrastructure-rg 리소스 그룹을 회수합니다. 이제 두 개의 가상 네트워크와 한 개의 스토리지 계정이 있습니다. 이러한 리소스는 Azure 환경에 중요하기 때문에 실수로 삭제되는 일이 없어야 합니다. 리소스 그룹과 그 안에 포함된 리소스가 삭제되지 않도록 리소스 그룹에 리소스 잠금을 적용합니다.

  1. 아직 이동하지 않았다면 웹 브라우저에서 Azure Portal로 이동합니다. 상단 탐색 모음의 검색 상자에서 msftlearn-core-infrastructure-rg를 검색하여 리소스 그룹을 선택합니다.

  2. 왼쪽 메뉴의 설정 섹션에서 잠금을 선택합니다. 리소스에 현재 잠금이 적용되지 않은 것을 볼 수 있습니다. 하나를 추가합니다.

  3. +추가를 선택합니다. 잠금의 이름을 BlockDeletion로 지정하고 삭제잠금 유형을 선택합니다. 확인을 선택합니다.

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

    이제 그룹이 삭제되지 않도록 하는 잠금이 리소스 그룹에 적용되었습니다. 이 잠금은 리소스 그룹 내의 모든 리소스에 의해 상속됩니다. 가상 네트워크 중 하나를 삭제하려고 하면 어떻게 되는지 알아보겠습니다.

  4. 개요로 돌아가서 msftlearn-vnet1을 선택합니다.

  5. msftlearn-vnet1에 대한 개요 창의 맨 위에서 삭제를 선택합니다. 리소스에 삭제를 차단하는 잠금이 적용되었다는 내용의 오류가 수신됩니다.

  6. 왼쪽 메뉴의 설정 섹션에서 잠금을 선택합니다. msftlearn-vnet1에는 리소스 그룹에서 상속 된 잠금이 있습니다.

  7. msftlearn-core-infrastructure-rg 리소스 그룹으로 돌아가 잠금으로 이동합니다. 정리할 수 있도록 잠금을 제거합니다. BlockDeletion 잠금에서 삭제를 선택합니다.

실제로 리소스 잠금 사용

리소스 잠금을 사용하여 실수로 인한 삭제를 예방하는 방법을 살펴보았습니다. 가상 네트워크를 삭제하려면 잠금을 제거해야 했습니다. 이 작업은 문제가 있는 리소스를 실제로 삭제 또는 수정할 의도가 있는지 확인하는 데 도움이 됩니다.

제거 또는 수정될 경우 큰 영향을 미칠 수 있는 Azure의 핵심 부분을 리소스 잠금으로 보호하세요. ExpressRoute 회로, 가상 네트워크, 중요한 데이터베이스 및 도메인 컨트롤러를 예로 들 수 있습니다. 리소스를 평가하고, 의도치 않은 작업을 방지하는 추가 보호 레이어를 제공하는 잠금을 적용하세요.

리소스 정리

지금까지 만든 리소스를 정리합니다. 앞에서 만든 리소스 그룹과 정책 할당 및 정책 정의를 삭제해야 합니다.

  1. 웹 브라우저에서 Azure Portal을 엽니다.

  2. 상단 메뉴 모음의 검색 상자에서 msftlearn-core-infrastructure-rg를 검색하여 리소스 그룹을 선택합니다.

  3. 개요 창에서 리소스 그룹 삭제를 선택합니다. msftlearn-core-infrastructure-rg 리소스 그룹 이름을 입력하고 확인한 다음, 삭제를 선택합니다. 삭제를 다시 선택하여 삭제를 확인합니다.

    참고 항목

    포함하는 리소스 그룹과 할당된 리소스를 삭제했으므로 이 정책에 남아 있는 할당이 없습니다. 일반적으로 리소스에 정책을 할당하는 경우 여기서 기본 리소스를 삭제하지 않고 할당을 삭제할 수 있습니다. 이렇게 하려면 할당을 선택하고 할당에 대해 줄임표(...)를 선택한 다음, 할당 삭제를 선택합니다.

  4. 검색 상자에서 정책을 검색하고 정책 서비스를 선택합니다.

  5. 정의를 선택하고 만든 리소스에 태그 적용 정책을 검색합니다.

  6. 정의에서 ...을(를) 선택하고 정의 삭제를 선택합니다. 를 선택하여 삭제를 확인합니다.