Azure MDM Intune 로그 수집
이 문서에서는 Microsoft Azure Intune 로그를 Google Security Operations에 수집하는 방법을 설명합니다. 서드 파티 API (권장) 또는 Microsoft Azure Blob Storage V2의 두 가지 방법을 사용하여 인그레션을 구성할 수 있습니다.
Microsoft Intune은 조직 리소스에 대한 사용자 액세스를 관리하고 휴대기기, 데스크톱 컴퓨터, 가상 엔드포인트를 비롯한 여러 기기에서 앱 및 기기 관리를 간소화하는 클라우드 기반 엔드포인트 관리 솔루션입니다.
시작하기 전에
다음 기본 요건이 충족되었는지 확인합니다.
- Google SecOps 인스턴스
- Microsoft Azure 포털에 대한 권한 있는 액세스
- Intune 테넌트의 Intune 관리자 또는 전역 관리자 Microsoft Entra 역할이 있는 사용자
- 테넌트의 활성 Intune 라이선스
방법 1: 서드 파티 API (권장)
이 메서드는 Microsoft Graph API를 사용하여 Microsoft 테넌트에서 직접 Intune 감사 및 운영 로그를 가져옵니다.
Microsoft Entra 앱 등록 구성
앱 등록 만들기
- Microsoft Entra 관리 센터 또는 Azure 포털에 로그인합니다.
- ID > 애플리케이션 > 앱 등록으로 이동합니다.
- 신규 등록을 클릭합니다.
- 다음 구성 세부정보를 제공합니다.
- 이름: 설명이 포함된 이름을 입력합니다 (예:
Google SecOps Intune Integration). - 지원되는 계정 유형: 이 조직 디렉터리의 계정만 (단일 테넌트)을 선택합니다.
- 리디렉션 URI: 비워 둡니다 (서비스 주 구성원 인증에는 필요하지 않음).
- 이름: 설명이 포함된 이름을 입력합니다 (예:
- 등록을 클릭합니다.
- 등록 후 개요 페이지에서 다음 값을 복사하여 저장합니다.
- 애플리케이션 (클라이언트) ID
- 디렉터리 (테넌트) ID
API 권한 구성
- 앱 등록에서 API 권한으로 이동합니다.
- 권한 추가를 클릭합니다.
- Microsoft Graph > 애플리케이션 권한을 선택합니다.
- 다음 권한을 검색하여 선택합니다.
- DeviceManagementApps.Read.All
- DeviceManagementConfiguration.Read.All
- DeviceManagementManagedDevices.Read.All
- DeviceManagementServiceConfig.Read.All
- DeviceManagementRBAC.Read.All
- 권한 추가를 클릭합니다.
- [조직 이름]에 대한 관리자 동의 허용을 클릭합니다.
상태 열에 모든 권한에 대해 [조직]에 부여됨이 표시되는지 확인합니다.
필수 API 권한
| 권한 | 유형 | 목적 |
|---|---|---|
| DeviceManagementApps.Read.All | 애플리케이션 | 앱 관리 데이터 및 감사 이벤트 읽기 |
| DeviceManagementConfiguration.Read.All | 애플리케이션 | 기기 구성 및 규정 준수 정책 읽기 |
| DeviceManagementManagedDevices.Read.All | 애플리케이션 | 관리 기기 정보 읽기 |
| DeviceManagementServiceConfig.Read.All | 애플리케이션 | Intune 서비스 구성 읽기 |
| DeviceManagementRBAC.Read.All | 애플리케이션 | 역할 기반 액세스 제어 설정 읽기 |
클라이언트 보안 비밀번호 만들기
- 앱 등록에서 인증서 및 보안 비밀로 이동합니다.
- '새 클라이언트 보안 비밀번호'를 클릭합니다.
다음 구성 세부정보를 제공합니다.
- 설명: 설명이 포함된 이름 (예:
Google SecOps Feed)을 입력합니다. 만료: 만료 기간을 선택합니다.
- 설명: 설명이 포함된 이름 (예:
추가를 클릭합니다.
클라이언트 보안 비밀번호 값을 즉시 복사합니다.
Microsoft Intune 로그를 수집하도록 Google SecOps에서 피드 구성
- SIEM 설정> 피드로 이동합니다.
- 새 피드 추가를 클릭합니다.
- 다음 페이지에서 단일 피드 구성을 클릭합니다.
- 피드 이름 필드에 피드 이름을 입력합니다(예:
Microsoft Intune Logs). - 소스 유형으로 서드 파티 API를 선택합니다.
- 로그 유형으로 Microsoft Intune을 선택합니다.
- 다음을 클릭합니다.
다음 입력 매개변수의 값을 지정합니다.
- OAuth 클라이언트 ID: 앱 등록의 애플리케이션 (클라이언트) ID를 입력합니다 (예:
1234abcd-1234-abcd-1234-abcd1234abcd). - OAuth 클라이언트 보안 비밀번호: 이전에 복사한 클라이언트 보안 비밀번호 값을 입력합니다.
- 테넌트 ID: 앱 등록의 디렉터리 (테넌트) ID를 UUID 형식 (예:
0fc279f9-fe30-41be-97d3-abe1d7681418)으로 입력합니다. API 전체 경로: Microsoft Graph REST API 엔드포인트 URL을 입력합니다. 기본값:
graph.microsoft.com/beta/deviceManagement/auditEventsAPI 인증 엔드포인트: Microsoft Active Directory 인증 엔드포인트를 입력합니다. 기본값:
login.microsoftonline.com애셋 네임스페이스: 애셋 네임스페이스입니다.
수집 라벨: 이 피드의 이벤트에 적용할 라벨입니다.
- OAuth 클라이언트 ID: 앱 등록의 애플리케이션 (클라이언트) ID를 입력합니다 (예:
다음을 클릭합니다.
확정 화면에서 새 피드 구성을 검토한 다음 제출을 클릭합니다.
설정이 완료되면 피드가 Microsoft Graph API에서 Intune 감사 및 운영 로그를 가져오기 시작합니다.
리전 엔드포인트
소버린 클라우드에서 Microsoft Intune을 배포하는 경우 적절한 리전 엔드포인트를 사용하세요.
| 클라우드 환경 | API 전체 경로 | API 인증 엔드포인트 |
|---|---|---|
| 글로벌 | graph.microsoft.com/beta/deviceManagement/auditEvents |
login.microsoftonline.com |
| 미국 정부 L4 | graph.microsoft.us/beta/deviceManagement/auditEvents |
login.microsoftonline.us |
| 미국 정부 L5 (DOD) | dod-graph.microsoft.us/beta/deviceManagement/auditEvents |
login.microsoftonline.us |
| 중국 (21Vianet) | microsoftgraph.chinacloudapi.cn/beta/deviceManagement/auditEvents |
login.chinacloudapi.cn |
방법 2: Microsoft Azure Blob Storage V2
이 메서드는 진단 데이터를 Azure 스토리지 계정으로 내보내고 Azure Blob Storage에서 수집하도록 Google SecOps 피드를 구성하여 Microsoft Intune 로그를 수집합니다.
Azure 스토리지 계정 구성
스토리지 계정 만들기
- Azure 포털에서 스토리지 계정을 검색합니다.
- + 만들기를 클릭합니다.
다음 구성 세부정보를 제공합니다.
설정 값 구독 Azure 구독 선택 리소스 그룹 기존 항목 선택 또는 새로 만들기 스토리지 계정 이름 고유한 이름 (예: intunelogs)을 입력합니다.리전 리전을 선택합니다 (예: East US).성능 표준 (권장) 중복성 GRS (지리적 중복 스토리지) 또는 LRS (로컬 중복 스토리지) 검토 + 만들기를 클릭합니다.
개요를 검토하고 만들기를 클릭합니다.
배포가 완료될 때까지 기다립니다.
스토리지 계정 사용자 인증 정보 가져오기
- 생성한 스토리지 계정으로 이동합니다.
- 왼쪽 탐색 메뉴의 보안 + 네트워킹에서 액세스 키를 선택합니다.
- 키 표시를 클릭합니다.
- 다음을 복사하여 저장합니다.
- 스토리지 계정 이름: 생성 중에 제공한 이름입니다.
- 키 1 또는 키 2: 공유 액세스 키입니다.
Blob 서비스 엔드포인트 가져오기
- 동일한 스토리지 계정의 왼쪽 탐색에서 엔드포인트를 선택합니다.
- Blob 서비스 엔드포인트 URL을 복사하여 저장합니다.
- 예:
https://intunelogs.blob.core.windows.net/
- 예:
Microsoft Intune 진단 설정 구성
- Microsoft Intune 관리 센터에 로그인합니다.
- 보고서 > 진단 설정을 선택합니다.
- 진단 설정 추가를 클릭합니다.
- 다음 구성 세부정보를 제공합니다.
- 진단 설정 이름: 설명이 포함된 이름 (예:
export-to-secops)을 입력합니다. - 로그 섹션에서 다음 카테고리를 선택합니다.
- AuditLogs
- OperationalLogs
- DeviceComplianceOrg
- 기기
- 대상 세부정보 섹션에서 스토리지 계정에 아카이브 체크박스를 선택합니다.
- 구독: 스토리지 계정이 포함된 구독을 선택합니다.
- 스토리지 계정: 이전에 만든 스토리지 계정을 선택합니다.
- 진단 설정 이름: 설명이 포함된 이름 (예:
저장을 클릭합니다.
Blob Storage에서 Microsoft Intune 로그를 수집하도록 Google SecOps에서 피드 구성
- SIEM 설정> 피드로 이동합니다.
- 새 피드 추가를 클릭합니다.
- 다음 페이지에서 단일 피드 구성을 클릭합니다.
- 피드 이름 필드에 피드 이름을 입력합니다(예:
Microsoft Intune Blob Storage). - 소스 유형으로 Microsoft Azure Blob Storage V2를 선택합니다.
- 로그 유형으로 Microsoft Intune을 선택합니다.
- 다음을 클릭합니다.
다음 입력 매개변수의 값을 지정합니다.
Azure URI: 컨테이너 경로와 함께 Blob 서비스 엔드포인트 URL을 입력합니다. 각 로그 카테고리에 대해 별도의 피드를 만듭니다.
감사 로그의 경우:
https://<storage-account>.blob.core.windows.net/insights-logs-auditlogs/운영 로그의 경우:
https://<storage-account>.blob.core.windows.net/insights-logs-operationallogs/기기 규정 준수 조직 로그의 경우:
https://<storage-account>.blob.core.windows.net/insights-logs-devicecomplianceorg/기기:
https://<storage-account>.blob.core.windows.net/insights-logs-devices/
<storage-account>을 Azure 스토리지 계정 이름으로 바꿉니다.소스 삭제 옵션: 환경설정에 따라 삭제 옵션을 선택합니다.
- 삭제 안함: 전송 후 파일을 삭제하지 않습니다.
- 전송된 파일 삭제: 전송이 완료되면 파일을 삭제합니다.
- 전송된 파일 및 빈 디렉터리 삭제: 전송이 완료되면 파일과 빈 디렉터리를 삭제합니다.
최대 파일 기간: 지난 일수 동안 수정된 파일을 포함합니다. 기본값은 180일입니다.
공유 키: 스토리지 계정의 공유 액세스 키 값을 입력합니다.
애셋 네임스페이스: 애셋 네임스페이스입니다.
수집 라벨: 이 피드의 이벤트에 적용할 라벨입니다.
다음을 클릭합니다.
확정 화면에서 새 피드 구성을 검토한 다음 제출을 클릭합니다.
1~10단계를 반복하여 각 Intune 로그 카테고리 컨테이너에 대한 피드를 추가로 만듭니다.
Azure Storage 방화벽 구성 (사용 설정된 경우)
Azure 스토리지 계정에서 방화벽을 사용하는 경우 Google SecOps IP 범위를 추가해야 합니다.
- Azure 포털에서 스토리지 계정으로 이동합니다.
- 보안 + 네트워킹에서 네트워킹을 선택합니다.
- 방화벽 및 가상 네트워크에서 선택한 가상 네트워크 및 IP 주소에서 사용 설정됨을 선택합니다.
- 방화벽 섹션의 주소 범위에서 + IP 범위 추가를 클릭합니다.
- 각 Google SecOps IP 범위를 CIDR 표기법으로 추가합니다.
- IP 허용 목록 문서 참고
- 또는 피드 관리 API를 사용하여 프로그래매틱 방식으로 검색합니다.
- 저장을 클릭합니다.
UDM 매핑 테이블
| 로그 필드 | UDM 매핑 | 논리 |
|---|---|---|
| properties.Actor.UserPermissions, properties.TargetObjectIds, properties.TargetDisplayNames | additional.fields | 이벤트에 대한 추가 컨텍스트를 제공하는 키-값 쌍 목록 |
| 시간 | metadata.event_timestamp | 이벤트가 발생한 시점의 타임스탬프 |
| metadata.event_type | 이벤트 유형 (예: USER_LOGIN, NETWORK_CONNECTION) | |
| operationName | metadata.product_event_type | 제품에서 정의한 이벤트 유형 |
| properties.AuditEventId | metadata.product_log_id | 제품별 로그 식별자 |
| correlationId | network.session_id | 네트워크 연결의 세션 식별자 |
| properties.Actor.Application | principal.application | 애플리케이션 식별자 |
| properties.Actor.ApplicationName | principal.resource.name | 리소스의 이름 |
| properties.Actor.isDelegatedAdmin, properties.Actor.PartnerTenantId | principal.user.attribute.labels | 사용자에게 추가 컨텍스트를 제공하는 키-값 쌍 목록 |
| 카테고리 | security_result.category_details | 보안 결과 카테고리에 대한 추가 세부정보 |
| resultDescription | security_result.description | 보안 결과 설명 |
| identity, properties.ActivityDate, properties.ActivityResultStatus, properties.ActivityType, properties.Actor.ActorType, properties.Category, properties.Targets.ModifiedProperties.Name, properties.Targets.ModifiedProperties.New, properties.Targets.ModifiedProperties.Old | security_result.detection_fields | 보안 결과에 대한 추가 컨텍스트를 제공하는 키-값 쌍 목록 |
| resultType | security_result.summary | 보안 결과 요약 |
| tenantId | target.user.userid | 타겟 사용자의 사용자 ID |
| metadata.product_name | 제품 이름 | |
| metadata.vendor_name | 공급업체/회사 이름 |
도움이 더 필요하신가요? 커뮤니티 회원 및 Google SecOps 전문가에게 문의하여 답변을 받으세요.