Microsoft Defender for Cloud

다운로드 0
업데이트 2026. 10. 5.

설치 매뉴얼

설치 전에 준비할 것

Microsoft Defender for Cloud는 보안 상태 데이터를 Azure Resource Graph로 제공합니다. 이 앱은 서비스 주체로 그것을 읽으므로, 준비 작업은 대부분 Azure 쪽입니다. 애플리케이션을 등록하고, 역할을 부여하고, 자격증명을 입력합니다.

조회하려는 구독에 Defender for Cloud가 이미 켜져 있어야 합니다. 이 앱은 Defender가 평가한 결과를 읽을 뿐 Defender를 활성화하지는 않습니다.

1. Microsoft Entra ID에 애플리케이션 등록

  1. Microsoft Entra ID → 앱 등록 → 새 등록을 엽니다.
  2. logpresso-defender-cloud 같은 이름을 지정하고 단일 테넌트로 등록합니다.
  3. 개요 화면에서 애플리케이션(클라이언트) ID와 디렉터리(테넌트) ID를 복사합니다.
  4. 인증서 및 비밀 → 새 클라이언트 비밀에서 만료 기간을 정하고 값을 즉시 복사합니다. 이 값은 한 번만 표시됩니다.

API 권한은 추가하지 않아도 됩니다. Azure 리소스 접근 권한은 다음 단계의 역할 할당에서 나오며, Entra ID의 애플리케이션 권한과는 무관합니다.

2. Reader 역할 부여

수집하려는 모든 구독에 애플리케이션을 Reader로 할당합니다.

SP=$(az ad sp show --id APPLICATION_ID --query id -o tsv)

az role assignment create \
  --assignee-object-id $SP --assignee-principal-type ServicePrincipal \
  --role Reader --scope /subscriptions/SUBSCRIPTION_ID

APPLICATION_ID는 1단계의 클라이언트 ID로, SUBSCRIPTION_ID는 각 구독 ID로 바꿉니다. 포털에서는 구독 → 액세스 제어(IAM) → 역할 할당 추가 → Reader → 등록한 애플리케이션입니다.

나중에 만들어질 구독까지 포함하려면 관리 그룹 루트에 한 번만 할당합니다. 루트 범위 할당에는 상위 권한이 필요하며 조직 정책상 허용되지 않는 경우도 있습니다.

az role assignment create \
  --assignee-object-id $SP --assignee-principal-type ServicePrincipal \
  --role Reader --scope /providers/Microsoft.Management/managementGroups/TENANT_ID

Security Reader가 아니라 Reader입니다. Security Reader는 Microsoft.Security/*/read만 허용하므로 권장 사항과 규정 준수는 조회되지만, 인벤토리의 근거가 되는 리소스 그래프는 읽지 못합니다. Security Reader만 주면 권장 사항은 나오는데 그 권장 사항이 가리키는 리소스가 인벤토리에서 빠집니다. Reader는 둘 다 포함합니다.

3. 접속 프로파일 등록

시스템 → 접속 프로파일 → 추가에서 Microsoft Defender for Cloud를 선택합니다.

항목값
테넌트 ID1단계의 디렉터리(테넌트) ID
클라이언트 ID1단계의 애플리케이션(클라이언트) ID
클라이언트 암호1단계에서 복사한 비밀 값
구독 ID 목록비우면 조회 가능한 모든 구독을 수집합니다
HTTP 프록시IP:PORT. 외부 통신에 프록시가 필요한 경우에만
연결 제한시간초 단위. 기본값 30
읽기 제한시간초 단위. 기본값 120

구독 ID 목록은 비워두는 것이 일반적입니다. 비우면 서비스 주체가 볼 수 있는 모든 구독을 수집하므로, 구독이 새로 생겨도 프로파일을 고칠 필요가 없습니다. 범위를 의도적으로 좁힐 때만 입력합니다.

저장 전에 연결 테스트를 실행합니다. 테스트는 세 가지 실패를 구분해 보고합니다. 각각 조치가 다르기 때문입니다.

메시지원인
토큰 발급 실패테넌트 ID, 클라이언트 ID, 암호가 틀렸거나 암호가 만료됨
조회 가능한 구독 없음역할 할당이 없거나 아직 전파되지 않음
Resource Graph 조회 실패역할은 있으나 보안 데이터 읽기 권한이 부족함

역할 할당은 반영까지 몇 분 걸릴 수 있습니다. 역할을 준 직후 테스트가 실패하면 설정을 바꾸기 전에 잠시 기다렸다 다시 시도하세요.

4. 첫 수집 실행

Microsoft Defender for Cloud → 보안 상태에서 지금 수집을 누릅니다. 구독, 자산 인벤토리, 공격 경로, 권장 사항, 컨트롤, 규정 준수, 취약점, 점수, 변화 기록 순으로 진행 상황을 보여주며 수집합니다.

한 사이클은 테넌트 규모에 따라 수 초에서 수 분이 걸립니다. 대부분의 시간은 가장 큰 결과인 규정 준수 데이터가 차지합니다.

이어서 자동 수집에서 주기를 활성화합니다. 대부분의 테넌트에는 1시간이 적당합니다. Defender 자체가 자기 주기로 재평가하므로 더 자주 수집해도 같은 데이터를 반복해 받을 뿐입니다.

이중화 구성에서는 두 노드 모두 타이머가 돌지만 사이클은 한쪽만 실행합니다. 어느 노드가 활성인지 확인하는 대신 데이터베이스의 조건부 UPDATE로 선점합니다. 장애 전환 중에는 두 노드가 모두 자신을 활성으로 판단할 수 있고, 그러면 하나의 데이터베이스에 두 사이클이 돌며 서로의 행을 지우기 때문입니다.

5. 정상 동작 확인

Azure 포털과 대조합니다. 숫자가 정확히 일치해야 합니다.

화면포털 메뉴
보안 상태Defender for Cloud → 개요
권장 사항Defender for Cloud → 권장 사항
인벤토리Defender for Cloud → 인벤토리
규정 준수Defender for Cloud → 규정 준수

쿼리로도 확인할 수 있습니다.

defender-cloud-assessments profile=PROFILE status=Unhealthy | head 10

PROFILE은 등록한 프로파일 식별자로 바꿉니다.

문제가 발생할 때

증상확인 사항
일부 구독만 나옴역할은 구독마다 할당됩니다. az role assignment list --assignee APPLICATION_ID --all로 범위를 확인하세요
인벤토리에 리소스가 빠짐역할이 Reader가 아니라 Security Reader입니다. 앱이 해당 구독을 지목해 경고를 남기고, 자산을 감추는 대신 평가된 리소스를 유지합니다
공격 경로가 비어 있음공격 경로 분석은 Defender CSPM 플랜에서만 제공됩니다. 빈 표 대신 안내 문구가 나옵니다
위험 수준이 비어 있음Defender는 일부 결과에만 상황을 반영한 위험 수준을 제공합니다. 나머지는 심각도로 대체하지 않고 등급 없음으로 두며, 포털도 같습니다
몇 달 뒤 수집이 멈춤클라이언트 암호가 만료됐습니다. 새로 발급해 프로파일을 수정하세요

각 명령어의 전체 옵션과 출력 필드는 확장 명령어 문서에서 확인할 수 있습니다.