랩 02b - Azure Policy를 통한 거버넌스 관리

랩 소개

이 랩에서는 조직의 거버넌스 계획을 구현하는 방법을 알아봅니다. Azure Policy를 통해 조직 전체에 운영 결정이 적용되도록 하는 방법을 알아봅니다. 리소스 태그 지정을 사용하여 보고를 개선하는 방법을 알아봅니다.

이 랩을 수행하려면 Azure 구독이 필요합니다. 구독 유형은 이 랩의 기능 가용성에 영향을 미칠 수 있습니다. 지역을 변경할 수 있지만 단계는 미국 동부를 사용하여 작성됩니다.

예상 소요 시간: 30분

랩 시나리오

사용자의 조직의 클라우드 공간은 작년에 상당히 증가했습니다. 최근 감사 중에 정의된 소유자, 프로젝트 또는 비용 센터가 없는 상당한 수의 리소스를 발견했습니다. 조직의 Azure 리소스 관리를 개선하기 위해 다음 기능을 구현하기로 결정했습니다.

  • 리소스 태그를 적용하여 중요한 메타데이터를 Azure 리소스에 연결

  • Azure Policy를 사용하여 새 리소스에 리소스 태그 사용 적용

  • 리소스 태그로 기존 리소스 업데이트

  • 리소스 잠금을 사용하여 구성된 리소스 보호

대화형 랩 시뮬레이션

이 항목에 유용할 수 있는 몇 가지 대화형 랩 시뮬레이션이 있습니다. 시뮬레이션을 통해 고유의 속도에 맞춰 유사한 시나리오를 클릭할 수 있습니다. 대화형 시뮬레이션과 이 랩에는 차이점이 있지만 핵심 개념은 대부분 동일합니다. Azure 구독은 필요하지 않습니다.

  • 리소스 잠금 관리 리소스 잠금을 추가하고 테스트하여 확인합니다.

  • Azure 정책 만들기 리소스를 찾을 수 있는 위치를 제한하는 Azure Policy를 만듭니다. 새 리소스를 만들고 정책이 적용되는지 확인합니다.

  • Azure Policy을 통한 거버넌스 관리 Azure Portal을 통해 태그를 만들고 할당합니다. 태그 지정이 필요한 Azure Policy를 만듭니다. 규정 비준수 리소스 수정

아키텍처 다이어그램

작업 아키텍처의 다이어그램

작업 기술

  • 작업 1: Azure Portal을 통해 태그를 만들고 할당합니다.
  • 작업 2: Azure Policy를 통한 강제 태그 지정
  • 작업 3: Azure Policy를 통한 태그 지정 적용
  • 작업 4: 리소스 잠금을 구성하고 테스트합니다.

작업 1: Azure Portal을 통한 태그 할당

이 작업에서는 Azure Portal을 통해 Azure 리소스 그룹에 태그를 만들고 할당합니다. 태그는 Microsoft Well-Architected Framework 및 클라우드 채택 프레임워크에 설명된 거버넌스 전략의 중요한 구성 요소입니다. 태그를 사용하면 조직에서 중요하다고 간주하는 리소스 소유자, 종료 날짜, 그룹 연락처 및 기타 이름/값 쌍을 빠르게 식별할 수 있습니다. 이 작업의 경우 리소스 비용 센터를 식별하는 태그를 할당합니다.

  1. Azure Portal - https://portal.azure.com에 로그인합니다.

  2. Resource groups을 검색하고 선택합니다.

  3. 리소스 그룹에서 + 만들기를 선택합니다.

    설정
    구독 이름 구독
    리소스 그룹 이름 az104-rg2
    위치 미국 동부

    참고: 이 과정의 각 랩에 대해 새 리소스 그룹을 만듭니다. 이를 통해 랩 리소스를 빠르게 찾고 관리할 수 있습니다.

  4. 다음을 선택하고 태그 탭으로 이동합니다. 새 태그에 대한 정보를 입력합니다.

    설정
    속성 비용 센터
    000
  5. 검토 + 만들기를 선택한 후 만들기를 선택합니다.

작업 2: Azure Policy를 통한 강제 태그 지정

본 작업에서는 리스스에 대한 태그 및 값 필요 기본 제공 정책을 리소스 그룹에 할당하고 결과를 평가합니다. Azure Policy를 사용하여 Azure 리소스에 대한 구성(이 경우 거버넌스)을 적용할 수 있습니다.

  1. Azure Portal에서 Policy를 검색하여 선택합니다.

  2. 작성 블레이드에서 정의를 선택합니다. 잠시 시간을 내어 사용할 수 있는 기본 제공 정책 정의 목록을 탐색합니다. 정의를 검색할 수도 있습니다.

    정책 정의 스크린샷

  3. Require a tag and its value on resources 기본 제공 정책을 검색합니다. 정책을 선택하고 잠시 시간을 내어 정의를 검토합니다.

  4. 정책 할당을 선택합니다.

  5. 줄임표 단추를 클릭하고 다음 값을 선택하여 범위를 지정합니다. 완료되면 선택을 클릭합니다.

    설정
    구독 구독
    리소스 그룹 az104-rg2

    참고: 관리 그룹, 구독 또는 리소스 그룹 수준에서 정책을 할당할 수 있습니다. 개별 구독, 리소스 그룹 또는 리소스와 같은 제외를 지정하는 옵션도 있습니다. 이 시나리오에서는 리소스 그룹의 모든 리소스에 태그를 지정하려고 합니다.

  6. 다음 설정을 지정하여 할당의 기본 속성을 구성합니다(다른 설정은 기본값으로 유지).

    설정
    할당 이름 `비용 센터 태그와 리소스에 대한 값이 필요합니다.
    설명 Require Cost Center tag and its value on all resources in the resource group
    정책 적용 사용

    참고: 선택한 정책 이름이 할당 이름에 자동으로 채워지지만, 할당 이름을 변경할 수 있습니다. 설명은 선택 사항입니다. 언제든지 정책을 사용하지 않도록 설정할 수 있습니다.

  7. 다음을 클릭하고 매개 변수를 다음 값으로 설정합니다.

    설정
    태그 이름 Cost Center
    태그 값 000
  8. 다음을 클릭하여 수정 탭을 검토합니다. 관리 ID 만들기 체크박스는 선택하지 않은 상태로 유지합니다.

  9. 검토 + 만들기를 클릭한 다음, 만들기를 클릭합니다.

    참고: 이제 리소스 그룹에 Azure Storage 계정을 만들어 새 정책 할당이 적용되는지 확인합니다. 필수 태그를 추가하지 않고 스토리지 계정을 만듭니다.

    참고: 정책이 적용되기까지 5~10분 정도 걸릴 수 있습니다.

  10. 포털에서 Storage Accounts를 검색하여 선택한 후 + 만들기를 선택합니다.

  11. 스토리지 계정 만들기 블레이드의 기본 사항 탭에서 구성을 완료합니다.

    설정
    Resource group az104-rg2
    스토리지 계정 이름 문자로 시작하며 3~24개의 소문자와 숫자로 이루어진 전역적으로 고유한 조합
  12. 검토를 선택한 다음 만들기를 클릭합니다.

  13. 유효성 검사 실패 메시지가 표시됩니다. 메시지를 보고 실패 이유를 확인합니다. 정책에 따라 리소스 배포가 허용되지 않는다는 오류 메시지가 표시되는지 확인합니다.

    허용되지 않는 정책 오류의 스크린샷

참고: 원시 오류 탭을 클릭하면 역할 정의의 이름 리소스에 대한 태그 및 해당 값 필요를 포함하여 오류에 대한 자세한 내용을 찾을 수 있습니다. 만들려는 스토리지 계정에 값이 기본값으로 설정된 비용 센터라는 태그가 없기 때문에 배포에 실패했습니다.

작업 3: Azure Policy를 통한 태그 지정 적용

이 작업에서는 새 정책 정의를 사용하여 비준수 리소스를 수정합니다. 이 시나리오에서는 리소스 그룹의 모든 자식 리소스가 리소스 그룹에 정의된 비용 센터 태그를 상속하도록 만듭니다.

  1. Azure Portal에서 Policy를 검색하여 선택합니다.

  2. 작성 섹션에서 할당을 클릭합니다.

  3. 할당 목록에서 리소스에 태그 및 해당 값 필요 정책 할당을 나타내는 행의 줄임표 아이콘을 클릭하고 할당 삭제 메뉴 항목을 사용하여 할당을 삭제합니다.

  4. 정책 할당을 클릭한 다음 줄임표 단추를 클릭하고 다음 값을 선택하여 범위를 지정합니다.

    설정
    Subscription Azure 구독
    리소스 그룹 az104-rg2
  5. 정책 정의를 지정하려면 줄임표 단추를 클릭한 후 Inherit a tag from the resource group if missing을 검색하여 선택합니다.

  6. 추가를 선택한 다음 할당의 나머지 기본 속성을 구성합니다.

    설정
    할당 이름 Inherit the Cost Center tag and its value 000 from the resource group if missing
    설명 Inherit the Cost Center tag and its value 000 from the resource group if missing
    정책 적용 Enabled
  7. 다음을 클릭하고 매개 변수를 다음 값으로 설정합니다.

    설정
    태그 이름 Cost Center
  8. 다음을 클릭하고 수정 탭에서 다음 설정을 구성합니다(다른 설정은 기본값으로 유지).

    설정
    수정 작업 만들기 사용
    수정해야 하는 정책 없는 경우 리소스 그룹에서 태그 상속

    참고: 이 정책 정의에는 수정 효과가 포함됩니다. 따라서 관리 ID가 필요합니다.

    정책 수정 페이지의 스크린샷

  9. 검토 + 만들기를 클릭한 다음, 만들기를 클릭합니다.

    참고: 새 정책 할당이 적용되는지 확인하려면 필요한 태그를 명시적으로 추가하지 않고 동일한 리소스 그룹에 다른 Azure 스토리지 계정을 만듭니다.

    참고: 정책이 적용되기까지 5~10분 정도 걸릴 수 있습니다.

  10. Storage Account를 검색하여 선택한 후 + 만들기를 클릭합니다.

  11. 스토리지 계정 만들기 블레이드의 기본 탭에서 정책이 적용된 리소스 그룹을 사용하고 있는지 확인한 후 다음 설정을 지정하고(다른 설정은 기본값으로 유지) 검토를 클릭합니다.

    설정
    스토리지 계정 이름 문자로 시작하며 3~24개의 소문자와 숫자로 이루어진 전역적으로 고유한 조합
  12. 유효성 검사를 통과했는지 확인하고 만들기를 클릭합니다.

  13. 새 스토리지 계정이 프로비전되면 리소스로 이동을 클릭합니다.

  14. 태그 블레이드에서 값이 000비용 센터 태그가 리소스에 자동으로 할당되었습니다.

    유용한 정보 포털에서 태그를 검색하여 선택하면 특정 태그가 포함된 리소스를 볼 수 있습니다.

작업 4: 리소스 잠금 구성 및 테스트

이 작업에서는 리소스 잠금을 구성하고 테스트합니다. 잠금은 리소스의 삭제나 수정을 방지합니다.

  1. 리소스 그룹을 검색하고 선택합니다.

  2. 설정 블레이드에서 잠금을 선택합니다.

  3. 추가를 선택하고 리소스 잠금 정보를 완료합니다. 작업을 마쳤으면 확인을 선택합니다.

    설정
    잠금 이름 rg-lock
    잠금 유형 삭제(읽기 전용으로 선택 확인)
  4. 리소스 그룹 개요 블레이드로 이동하여 리소스 그룹 삭제를 선택합니다.

  5. 삭제를 확인하려면 리소스 그룹 이름 입력 텍스트 상자에 리소스 그룹 이름 az104-rg2를 입력합니다. 리소스 그룹 이름을 복사하여 붙여넣을 수 있습니다.

  6. 경고를 확인합니다. 이 리소스 그룹 및 해당 종속 리소스 삭제는 영구적인 작업이며 실행 취소할 수 없습니다. 삭제를 선택합니다.

  7. 삭제를 거부하는 알림을 받아야 합니다.

    메시지 삭제 실패 스크린샷

    참고: 리소스 그룹을 삭제하려면 잠금을 제거해야 합니다.

리소스 정리

고유의 구독으로 작업하는 경우 랩 리소스를 삭제해 보세요. 이렇게 하면 리소스가 확보되고 비용이 최소화됩니다. 랩 리소스를 삭제하려면 랩 리소스 그룹을 삭제하는 것이 가장 쉽습니다.

  • Azure Portal에서 리소스 그룹을 선택하고 리소스 그룹 삭제, 리소스 그룹 이름 입력을 선택한 다음 삭제를 클릭합니다.
  • Azure PowerShell 사용, Remove-AzResourceGroup -Name resourceGroupName.
  • CLI 사용, az group delete --name resourceGroupName.

Copilot을 사용하여 학습 확장

Copilot은 Azure 스크립팅 도구를 사용하는 방법을 익히는 데 도움을 줍니다. 또한 Copilot은 랩에서 다루지 않는 영역이나 추가 정보가 필요한 영역을 지원할 수 있습니다. Edge 브라우저를 열고 Copilot(오른쪽 위)을 선택하거나 copilot.microsoft.com으로 이동하세요. 몇 분 정도 시간을 내어 이러한 프롬프트를 사용해 보세요.

  • 리소스 그룹에서 리소스 잠금을 추가하고 삭제하기 위한 Azure PowerShell 및 CLI 명령은 무엇인가요?
  • Azure Policy와 Azure RBAC 간의 차이점을 표로 작성하고 예를 포함합니다.
  • Azure Policy를 적용하고 규정을 준수하지 않는 리소스를 수정하는 단계는 무엇인가요?
  • 특정 태그가 포함된 Azure 리소스 보고서를 가져오려면 어떻게 해야 하나요?

자기 주도적 학습을 통해 자세히 알아보기

핵심 내용

축하합니다. 랩을 완료했습니다. 이 랩의 주요 내용은 다음과 같습니다.

  • Azure 태그는 키-값 쌍으로 구성된 메타데이터입니다. 태그는 환경의 특정 리소스를 설명합니다. 특히 Azure에서 태그를 지정하면 논리적 방식으로 리소스에 레이블을 지정할 수 있습니다.
  • Azure Policy는 리소스에 대한 규칙을 설정합니다. 정책 정의는 리소스 규정 준수 조건 및 조건 충족 시 미치는 영향을 설명합니다. 조건은 리소스 속성 필드 또는 값을 필요한 값과 비교합니다. 많은 기본 제공 정책 정의가 있으며 정책을 사용자 지정할 수 있습니다.
  • Azure Policy 수정 작업 기능은 정의 및 할당에 따라 리소스를 준수 상태로 만드는 데 사용됩니다. 수정 또는 deployIfNotExist 정의 할당을 준수하지 않는 리소스는 수정 작업을 사용하여 규정 준수로 가져올 수 있습니다.
  • 구독, 리소스 그룹 또는 리소스에 대한 리소스 잠금을 구성할 수 있습니다. 잠금은 실수로 사용자가 삭제하거나 수정하는 것으로부터 리소스를 보호할 수 있습니다. 잠금은 모든 사용자 권한보다 우선합니다.
  • Azure Policy는 배포 전 보안 방식입니다. RBAC 및 리소스 잠금은 배포 후 보안 방식입니다.