Azure Monitor 로그의 쿼리 감사

로그 쿼리 감사 로그는 Azure Monitor에서 실행되는 로그 쿼리에 대한 원격 분석을 제공합니다. 여기에는 쿼리를 실행한 시간, 실행한 사람, 사용한 도구, 쿼리 텍스트 및 쿼리 실행을 설명하는 성능 통계와 같은 정보가 포함됩니다.

쿼리 감사 구성

쿼리 감사는 Log Analytics 작업 영역에서 진단 설정을 통해 사용하도록 설정됩니다. 이렇게 하면 감사 데이터를 구독의 현재 작업 영역 또는 다른 작업 영역으로 보내거나, Azure 외부로 보내기 위해 Azure Event Hubs로 보내거나, 보관을 위해 Azure Storage로 보낼 수 있습니다.

Azure Portal

다음 위치 중 하나에서 Azure Portal의 Log Analytics 작업 영역에 대한 진단 설정에 액세스합니다.

  • Azure Monitor 메뉴에서 진단 설정을 선택한 다음 작업 영역을 찾아 선택합니다.

    Screenshot of diagnostic settings Azure Monitor.

  • Log Analytics 작업 영역 메뉴에서 작업 영역을 선택한 다음, 진단 설정을 선택합니다.

    Screenshot of diagnostic settings Log Analytics workspace.

Resource Manager 템플릿

Log Analytics 작업 영역에 대한 진단 설정에서 예제 Resource Manager 템플릿을 가져올 수 있습니다.

데이터 감사

쿼리를 실행할 때마다 감사 레코드가 만들어집니다. Log Analytics 작업 영역으로 데이터를 보내면 LAQueryLogs라는 테이블에 저장됩니다. 다음 표에는 감사 데이터의 각 레코드에 있는 속성이 설명되어 있습니다.

필드 설명
TimeGenerated 쿼리가 제출된 UTC 시간입니다.
CorrelationId 쿼리를 식별하는 고유 ID입니다. Microsoft에 문의하여 도움을 받을 때 문제 해결 시나리오에 사용할 수 있습니다.
AADObjectId 쿼리를 시작한 사용자 계정의 Microsoft Entra ID입니다.
AADTenantId 쿼리를 시작한 사용자 계정의 테넌트 ID입니다.
AADEmail 쿼리를 시작한 사용자 계정의 테넌트 이메일입니다.
AADClientId 쿼리를 시작하는 데 사용되는 애플리케이션의 ID 및 확인된 이름입니다.
RequestClientApp 쿼리를 시작하는 데 사용되는 애플리케이션의 확인된 이름입니다. 자세한 내용은 요청 클라이언트 앱을 참조 하세요.
QueryTimeRangeStart 쿼리에 대해 선택한 시간 범위의 시작입니다. Log Analytics에서 쿼리를 시작한 경우와 같은 특정 시나리오에서는 이 값이 채워지지 않을 수 있으며 시간 범위는 시간 선택기가 아니라 쿼리 내에 지정됩니다.
QueryTimeRangeEnd 쿼리에 대해 선택한 시간 범위의 끝입니다. Log Analytics에서 쿼리를 시작한 경우와 같은 특정 시나리오에서는 이 값이 채워지지 않을 수 있으며 시간 범위는 시간 선택기가 아니라 쿼리 내에 지정됩니다.
QueryText 실행된 쿼리의 텍스트입니다.
RequestTarget API URL은 쿼리를 제출하는 데 사용되었습니다.
RequestContext 쿼리를 실행하도록 요청된 리소스 목록입니다. 최대 세 개의 문자열 배열(작업 영역, 애플리케이션 및 리소스)을 포함합니다. 구독 또는 리소스 그룹 대상 쿼리는 리소스로 표시됩니다. RequestTarget에 포함된 대상을 포함합니다.
해결할 수 있는 경우 각 리소스에 대한 리소스 ID가 포함됩니다. 리소스에 액세스하는 동안 오류가 반환되는 경우 이를 해결하지 못할 수 있습니다. 이 경우 쿼리의 특정 텍스트가 사용됩니다.
쿼리에서 여러 구독에 존재하는 작업 영역 이름과 같은 모호한 이름을 사용하는 경우 이 모호한 이름이 사용됩니다.
RequestContextFilters 쿼리 호출의 일부로 지정된 필터 세트입니다. 다음과 같은 최대 3개의 가능한 문자열 배열을 포함합니다.
- ResourceTypes - 쿼리 범위를 제한하는 리소스 종류
- Workspaces - 쿼리를 제한할 작업 영역 목록
- WorkspaceRegions - 쿼리를 제한할 작업 영역 지역 목록
ResponseCode 쿼리가 제출되었을 때 반환된 HTTP 응답 코드입니다.
ResponseDurationMs 응답이 반환될 시간입니다.
ResponseRowCount 쿼리에서 반환한 총 이벤트 수입니다.
StatsCPUTimeMs 컴퓨팅, 구문 분석 및 데이터 가져오기에 사용되는 총 계산 시간입니다. 쿼리가 상태 코드 200으로 반환되는 경우에만 채워집니다.
StatsDataProcessedKB 쿼리를 처리하기 위해 액세스한 데이터의 양입니다. 대상 테이블의 크기, 사용된 시간 범위, 적용된 필터 및 참조되는 열 수의 영향을 받습니다. 쿼리가 상태 코드 200으로 반환되는 경우에만 채워집니다.
StatsDataProcessedStart 쿼리를 처리하기 위해 액세스한 가장 오래된 데이터의 시간입니다. 적용된 필터 및 쿼리 명시적 시간 범위의 영향을 받습니다. 데이터 분할로 인해 명시적 시간 범위보다 클 수 있습니다. 쿼리가 상태 코드 200으로 반환되는 경우에만 채워집니다.
StatsDataProcessedEnd 쿼리를 처리하기 위해 액세스한 가장 최신 데이터의 시간입니다. 적용된 필터 및 쿼리 명시적 시간 범위의 영향을 받습니다. 데이터 분할로 인해 명시적 시간 범위보다 클 수 있습니다. 쿼리가 상태 코드 200으로 반환되는 경우에만 채워집니다.
StatsWorkspaceCount 쿼리에서 액세스하는 작업 영역의 수입니다. 쿼리가 상태 코드 200으로 반환되는 경우에만 채워집니다.
StatsRegionCount 쿼리에서 액세스하는 지역의 수입니다. 쿼리가 상태 코드 200으로 반환되는 경우에만 채워집니다.

요청 클라이언트 앱

RequestClientApp 설명
AAPBI Power BI와 Log Analytics 통합
AppAnalytics Azure Portal의 Log Analytics 환경.
AppInsightsPortalExtension 통합 문서 또는 Application Insights.
ASC_Portal 클라우드용 Microsoft Defender.
ASI_Portal 센 티 넬.
AzureAutomation Azure Automation.
AzureMonitorLogs커넥트or Azure Monitor 로그 커넥트or.
csharpsdk Log Analytics 쿼리 API.
Draft-Monitor Azure Portal에서 로그 검색 경고 만들기
Grafana Grafana 커넥터.
IbizaExtension Azure Portal의 Log Analytics 환경.
infraInsights/container 컨테이너 인사이트.
infraInsights/vm VM 인사이트.
LogAnalyticsExtension Azure 대시보드.
LogAnalyticsPSClient Log Analytics 쿼리 API.
OmsAnalyticsPBI Power BI와 Log Analytics 통합.
PowerBI커넥트or Power BI와 Log Analytics 통합.
Sentinel-Investigation-쿼리 센 티 넬.
Sentinel-DataCollectionAggregator 센 티 넬.
Sentinel-analyticsManagement-customerQuery 센 티 넬.
Unknown Log Analytics 쿼리 API.
UpdateManagement 업데이트 관리.

고려 사항

  • 쿼리는 사용자 컨텍스트에서 실행되는 경우에만 기록됩니다. Azure 내의 서비스 간 로그는 기록되지 않습니다. 이 제외에 포함되는 두 가지 주요 쿼리 세트는 청구 계산 및 자동화된 경고 실행입니다. 경고의 경우 예약된 경고 쿼리 자체만 기록되지 않습니다. 경고 만들기 화면에서 경고의 초기 실행은 사용자 컨텍스트에서 실행되며 감사 목적으로 사용할 수 있습니다.
  • Azure Data Explorer 프록시에서 오는 쿼리에는 성능 통계를 사용할 수 없습니다. 이러한 쿼리에 대한 다른 모든 데이터는 계속 채워집니다.
  • 문자열 리터럴을 난독 분석하는 문자열에 대한 h 힌트는 쿼리 감사 로그에 영향을 주지 않습니다. 쿼리는 문자열이 난독 처리되지 않고 제출된 대로 정확하게 캡처됩니다. 이 데이터를 볼 수 있는 규정 준수 권한이 있는 사용자만 Log Analytics 작업 영역에서 사용할 수 있는 다양한 Kubernetes RBAC 또는 Azure RBAC 모드를 사용하여 이 작업을 수행할 수 있도록 해야 합니다.
  • 여러 작업 영역의 데이터를 포함하는 쿼리의 경우 사용자가 액세스할 수 있는 작업 영역에서만 쿼리가 캡처됩니다.

비용

Azure Diagnostic Extension에 대한 비용은 없지만 수집된 데이터에 대한 요금이 발생할 수 있습니다. 데이터를 수집하는 대상에 대한 Azure Monitor 가격 책정를 확인하세요.

다음 단계