조직은 Azure 거버넌스 시각화 도우미를 사용하여 Azure 테넌트에 대한 관련 거버넌스 정보를 캡처할 수 있습니다. 도구는 다음을 캡처합니다.
- 관리 그룹 계층 구조
- 사용자 지정 정책 정의, 분리된 사용자 지정 정책 정의 및 정책 할당과 같은 정책 정보입니다.
- 사용자 지정 역할 정의, 분리된 사용자 지정 역할 정의 및 역할 할당과 같은 RBAC(역할 기반 액세스 제어) 정보입니다.
- Azure 보안 및 모범 사례 분석.
- Microsoft Entra ID 인사이트.
Azure 거버넌스 시각화 도우미는 GitHub 워크플로를 통해 자동화되어야 합니다. 시각화 도우미는 요약을 HTML, MD 및 CSV 파일로 출력합니다. 이상적으로 생성된 HTML 보고서는 조직의 권한 있는 사용자가 쉽게 액세스할 수 있습니다. 이 문서에서는 Azure 거버넌스 시각화 도우미 실행을 자동화하고 Azure App Service의 Web Apps 기능에서 보고 출력을 안전하고 비용 효율적으로 호스트하는 방법을 보여줍니다.
예제 구현은 Azure 거버넌스 시각화 가속기에서 GitHub에서 사용할 수 있습니다.
아키텍처
이 아키텍처의 Visio 파일을 다운로드합니다.
데이터 흐름
솔루션 아키텍처는 다음 워크플로를 구현합니다.
- 타이머는 GitHub Actions 흐름을 트리거합니다.
- 흐름은 Azure에 OpenID Connect 연결을 만듭니다. 그런 다음, Azure 거버넌스 시각화 도우미 도구를 실행합니다. 이 도구는 HTML, MD 및 CSV 보고서 형식으로 필요한 인사이트를 수집합니다.
- 보고서는 GitHub 리포지토리로 푸시됩니다.
- Azure 거버넌스 시각화 도우미 도구의 HTML 출력이 App Service에 게시됩니다.
사용자 흐름
이 흐름은 사용자가 도구를 사용하는 방법을 설명합니다.
- 사용자는 App Service URL로 이동하여 시각화 도우미의 HTML 보고서에 액세스합니다. 사용자는 Microsoft Entra ID 권한 부여를 통해 인증해야 합니다.
- 사용자는 시각화 도우미에서 제공하는 인사이트를 검토할 수 있습니다.
구성 요소
이 시나리오에 제시된 자동화는 다음 구성 요소로 구성됩니다.
- Microsoft Entra ID는 Single Sign-On, 다단계 인증 및 조건부 액세스를 제공하는 엔터프라이즈 ID 서비스입니다.
- Azure App Service는 클라우드 애플리케이션을 만들고 배포하기 위한 완전히 관리되는 플랫폼입니다. 이를 통해 웹앱이 실행할 컴퓨팅 리소스 집합을 정의하고, 웹앱을 배포하고, 배포 슬롯을 구성할 수 있습니다.
- GitHub는 개발자가 소프트웨어 프로젝트를 빌드, 배송 및 유지 관리하는 데 자주 사용하는 Microsoft의 인기 있는 SaaS 제품입니다.
- GitHub Actions는 이 아키텍처에서 연속 통합 및 지속적인 배포 기능을 제공합니다.
대안
Azure 거버넌스 시각화 도우미는 로컬 컴퓨터에서 직접 실행할 수 있는 PowerShell 스크립트입니다. 시각화 도우미는 사용자 환경에 대한 최신 정보를 수신하도록 GitHub Actions의 일부로 실행되도록 구성할 수 있습니다. 시각화 도우미는 GitHub 또는 Azure DevOps에 게시할 수 있는 출력으로 Wiki를 생성합니다.
시각화 도우미는 Azure Static Web Apps와 같이 안전하고 비용 효율적인 다른 호스팅 플랫폼에서 호스트할 수도 있습니다.
시나리오 정보
Azure 거버넌스 시각화 도우미는 구독 수준까지 Azure 테넌트의 관리 그룹 계층 구조를 반복하는 PowerShell 기반 스크립트입니다. Azure Policy, RBAC, Microsoft Entra ID 및 Blueprints와 같은 가장 관련성이 큰 Azure 거버넌스 기능을 캡처합니다. 수집된 데이터에서 Azure 거버넌스 시각화 도우미는 HTML 보고서를 탐색하기 쉬운 방식으로 이 모든 정보를 시각화합니다.
고려 사항
이러한 고려 사항은 워크로드의 품질을 향상시키는 데 사용할 수 있는 일단의 지침 원칙인 Azure Well-Architected Framework의 핵심 요소를 구현합니다. 자세한 내용은 Microsoft Azure Well-Architected Framework를 참조하세요.
보안
우수한 보안은 중요한 데이터 및 시스템에 대한 고의적인 공격과 악용을 방어합니다. 자세한 내용은 보안 요소의 개요를 참조하세요.
보고 HTML을 이 데이터를 볼 수 있는 권한이 있는 사용자로만 제한하는 것이 중요합니다. 이 데이터는 보안 제어를 포함하여 Azure 환경을 노출하므로 내부 및 외부 위협 모두에 대한 금광과도 같습니다.
Microsoft Entra 인증을 사용하여 권한 있는 개인에 대한 액세스를 제한합니다. Web Apps 인증을 사용하여 이 서비스를 제공하는 것이 좋습니다. GitHub의 배포 코드는 Web Apps를 구성하고 배포하기 전에 인증이 사용하도록 설정되어 있는지 적극적으로 확인합니다.
프라이빗 엔드포인트를 통해서만 팀에 사이트를 노출하도록 네트워크 보안 컨트롤을 적용하는 것이 좋습니다. 트래픽을 제한하려면 Web Apps의 IP 제한을 사용하는 것이 좋습니다.
Azure 웹앱에서 액세스 로깅을 사용하도록 설정하여 액세스를 감사할 수 있습니다. 이러한 로그를 Log Analytics 작업 영역으로 보내도록 Azure 웹앱을 구성합니다.
Azure 웹앱에서 보안 통신이 사용하도록 설정되어 있는지 확인합니다. HTTPS 및 FTP만 허용되고 TLS의 최소 버전은 1.2로 구성됩니다.
클라우드용 Microsoft Defender의 App Service용 Microsoft Defender 사용을 고려합니다.
Azure 웹앱의 최신 버전의 런타임 스택을 사용합니다.
이 서비스 주체의 비밀을 정기적으로 회전하고 해당 활동을 모니터링해야 합니다. 필요한 모든 정보를 수집하기 위해 배포된 시각화 도우미는 Microsoft Entra ID 권한이 있는 서비스 주체에 따라 달라집니다.
보안 컨트롤에 대한 자세한 내용은 App Service에 대한 Azure 보안 기준을 참조하세요.
비용 최적화
비용 최적화는 불필요한 비용을 줄이고 운영 효율성을 높이는 방법을 찾는 것입니다. 자세한 내용은 비용 최적화 핵심 요소 개요를 참조하세요.
B1(기본) 계층은 App Service에서 배포된 Azure 웹앱에 사용됩니다. App Service는 Azure 거버넌스 시각화 도우미 도구의 HTML 출력을 호스트하므로 경량입니다.
GitHub의 샘플은 App Service 인스턴스를 하나만 배포하지만 필요한 경우 더 배포하도록 선택할 수 있습니다.
운영 우수성
운영 우수성은 애플리케이션을 배포하고 프로덕션에서 계속 실행하는 운영 프로세스를 다룹니다. 자세한 내용은 운영 우수성 핵심 요소 개요를 참조하세요.
솔루션은 주로 시각화 도우미 도구의 HTML 출력을 호스팅하는 Azure 웹앱으로 구성됩니다. 웹앱의 진단 설정을 사용하여 트래픽을 모니터링하고 감사 로그, 메트릭 등에 액세스하는 것이 좋습니다.
웹앱의 성능을 모니터링하는 것이 중요합니다. 이렇게 하면 시각화 도우미 사용량에 따라 스케일 업 또는 스케일 아웃해야 하는지 여부를 식별하는 데 도움이 됩니다.
Azure 웹앱의 최신 버전의 런타임 스택을 항상 실행하는 것도 중요합니다.
Azure 거버넌스 시각화 도우미는 새 기능, 버그 수정 또는 개선 사항으로 버전을 정기적으로 업데이트합니다. GitHub 리포지토리에서 전용 GitHub 워크플로는 업데이트 프로세스를 처리합니다. 검토 및 병합할 수 있는 변경 내용으로 끌어오기 요청을 열어 시각화 도우미의 코드를 자동으로 또는 수동으로 업데이트하는 구성 가능한 옵션이 있습니다.
가속 코드는 App Service bicep 코드의 새 설정 또는 시각화 도우미 필수 구성 요소에 대한 새 지침으로 업데이트될 수 있습니다. GitHub 리포지토리에서 전용 GitHub 워크플로는 이 업데이트 프로세스를 처리합니다. 검토 및 병합할 수 있는 변경 내용으로 끌어오기 요청을 열어 시각화 도우미의 코드를 자동으로 또는 수동으로 업데이트하는 구성 가능한 옵션이 있습니다.
시나리오 배포
이 시나리오를 배포하려면 Azure 거버넌스 시각화 도우미 가속기 GitHub 리포지토리를 참조 하세요.
참가자
Microsoft에서 이 문서를 유지 관리합니다. 원래 다음 기여자가 작성했습니다.
주요 작성자:
- Seif Bassem | 클라우드 솔루션 아키텍트
LinkedIn 비공개 프로필을 보려면, LinkedIn에 로그인하세요.