Defender 포털의 데이터 레이크 탐색은 데이터 레이크를 분석하기 위한 통합 인터페이스를 제공합니다. KQL(Kusto 쿼리 언어) 쿼리를 실행하고, 작업을 만들고, 관리할 수 있습니다.
데이터 레이크 탐색 아래의 KQL 쿼리 페이지에서는 데이터 레이크 리소스에 대한 KQL 쿼리를 편집하고 실행할 수 있습니다. 데이터 레이크에서 분석 계층으로 데이터를 승격하는 작업을 만들거나 데이터 레이크 계층에서 집계 테이블을 만듭니다. 필요에 따라 작업을 실행하거나 일정을 예약합니다. 작업 페이지에서 작업을 관리할 수 있습니다. 사용, 사용 안 함, 편집 또는 삭제 자세한 내용은 Microsoft Sentinel 데이터 레이크에서 작업 만들기를 참조하세요.
필수 조건
Microsoft Sentinel 데이터 레이크에서 KQL 쿼리를 실행하려면 다음과 같은 필수 구성 요소가 필요합니다.
데이터 레이크에 온보딩
온보딩 프로세스를 완료한 후 Microsoft Defender 포털에서 KQL 쿼리를 실행할 수 있습니다. 온보딩에 대한 자세한 내용은 Microsoft Sentinel 데이터 레이크에 온보딩을 참조하세요.
권한
Microsoft Entra ID 역할을 사용하면 데이터 레이크의 모든 작업 영역에 액세스할 수 있습니다. 또는 Azure RBAC 역할을 사용하여 개별 작업 영역에 대한 액세스 권한을 부여할 수 있습니다. Microsoft Sentinel 작업 영역에 대한 Azure RBAC 권한이 있는 사용자는 데이터 레이크 계층에서 해당 작업 영역에 대해 KQL 쿼리를 실행할 수 있습니다. 역할 및 권한에 대한 자세한 내용은 Microsoft Sentinel 데이터 레이크 역할 및 사용 권한을 참조하세요.
KQL 쿼리 작성
데이터 레이크에 대한 쿼리 작성은 고급 헌팅 환경에서 쿼리를 작성하는 것과 비슷합니다. 동일한 KQL 구문과 함수를 사용할 수 있습니다. KQL은 고급 분석 및 기계 학습 함수를 지원합니다. 쿼리 편집기는 IntelliSense 및 자동 완성과 같은 기능을 갖춘 KQL 쿼리를 실행하기 위한 인터페이스를 제공하여 효율적으로 작성하는 데 도움이 됩니다. KQL 구문 및 함수에 대한 자세한 개요는 KQL(Kusto Query Language) 개요를 참조하세요.
Defender 포털의 KQL 쿼리
새 쿼리를 선택하여 새 쿼리 탭을 만듭니다. 각 탭의 마지막 쿼리가 저장됩니다. 탭 간을 전환하여 동시에 여러 쿼리에서 작동합니다.
쿼리 기록 탭에는 이전에 실행한 쿼리 목록, 쿼리 처리 시간 및 완료 상태가 표시됩니다. 목록에서 선택하여 새 탭에서 이전 쿼리를 열 수 있습니다. 쿼리 기록은 30일 동안 저장됩니다. 쿼리를 선택하여 편집하거나 다시 실행합니다.
작업 영역 선택
쿼리는 단일 작업 영역 또는 여러 작업 영역에 대해 실행할 수 있습니다. 선택한 작업 영역 드롭다운을 사용하여 쿼리 편집기의 오른쪽 위 모서리에 있는 작업 영역을 선택합니다 . 선택한 작업 영역에 따라 쿼리에 사용할 수 있는 테이블이 결정됩니다. 선택한 작업 영역은 쿼리 편집기에서 모든 쿼리 탭에 적용됩니다. 여러 작업 영역을 union() 사용하는 경우 연산자는 기본적으로 서로 다른 작업 영역의 이름과 스키마가 같은 테이블에 적용됩니다. 연산자를 workspace() 사용하여 특정 작업 영역에서 테이블을 쿼리합니다(예: workspace("MyWorkspace").AuditLogs).
온보딩 과정에서 빈 작업 영역 또는 작업 영역을 하나만 선택하면 스키마 브라우저에 테이블이 표시되지 않습니다.
시간 범위 선택
쿼리 편집기 위의 시간 선택기를 사용하여 쿼리의 시간 범위를 선택합니다. 사용자 지정 시간 범위 옵션을 사용하여 특정 시작 및 종료 시간을 설정할 수 있습니다. 시간 범위는 최대 12년의 기간일 수 있습니다.
KQL 쿼리 구문에서 시간 범위를 지정할 수도 있습니다. 예를 들면 다음과 같습니다.
where TimeGenerated between (datetime(2020-01-01) .. datetime(2020-12-31))where TimeGenerated between(ago(180d)..ago(90d))
비고
쿼리는 500,000개 행 또는 64MB의 데이터로 제한되며 8분 후에 시간이 초과됩니다. 광범위한 시간 범위를 선택하면 쿼리가 이러한 제한을 초과할 수 있습니다.
스키마 정보 보기
스키마 브라우저는 범주별로 그룹화된 선택한 작업 영역에 대해 사용 가능한 테이블 및 해당 열 목록을 제공합니다. 시스템 테이블은 자산 범주에 표시됩니다. 사용자 지정 테이블은 _CL, _KQL_CL, _SPARK, _SPARK_CL를 포함하며 지정 로그 범주에 그룹화됩니다. 스키마 브라우저를 사용하여 데이터 레이크에서 사용할 수 있는 데이터를 탐색하고 테이블 및 열을 검색합니다. 검색 상자를 사용하여 특정 테이블을 빠르게 찾을 수 있습니다.
결과 창
결과 창에 쿼리 결과가 표시됩니다. 결과를 테이블 형식으로 볼 수 있으며 결과 창의 왼쪽 위 모서리에 있는 내보내기 단추를 사용하여 결과를 CSV 파일로 내보 낼 수 있습니다. 빈 열 표시 단추를 사용하여 빈 열 의 표시 유형을 전환합니다. 열 사용자 지정 단추를 사용하면 결과 창에 표시할 열을 선택할 수 있습니다.
결과 창의 오른쪽 위 모서리에 있는 검색 상자를 사용하여 결과를 검색할 수 있습니다.
직업
작업은 데이터 레이크 계층의 데이터에 대해 KQL 쿼리를 실행하고 결과를 분석 계층으로 승격하는 데 사용됩니다. 일회성 또는 예약된 작업을 만들 수 있으며 작업 페이지에서 작업을 사용, 사용 안 함, 편집 또는 삭제할 수 있습니다. 현재 쿼리를 기반으로 작업을 만들려면 작업 만들기 단추를 선택합니다. 작업 만들기 및 관리에 대한 자세한 내용은 Microsoft Sentinel 데이터 레이크에서 작업 만들기를 참조하세요.
Azure Data Explorer(아주르 데이터 탐색기)
Azure ADX(Data Explorer)를 사용하여 Microsoft Sentinel 데이터 레이크에 대해 KQL 쿼리를 실행할 수 있습니다. ADX는 강력한 쿼리 엔진 및 고급 분석 기능을 제공합니다. ADX를 사용하여 데이터 레이크에 연결하려면 다음 URI를 사용하여 새 연결을 만듭니다. https://api.securityplatform.microsoft.com/lake/kql
ADX를 사용하여 데이터 레이크의 테이블을 쿼리할 때는 이 함수를 external_table() 사용하여 데이터에 액세스해야 합니다. 다음은 그 예입니다.
external_table("AADRiskyUsers")
| take 100
쿼리 고려 사항 및 제한 사항
쿼리는 단일 작업 영역에 대해 실행됩니다. 쿼리를 실행하기 전에 올바른 작업 영역을 선택해야 합니다.
Microsoft Sentinel 데이터 레이크에서 KQL 쿼리를 실행하면 쿼리 청구 미터에 따라 요금이 발생합니다. 자세한 내용은 비용 계획 및 Microsoft Sentinel 가격 책정 및 청구 이해를 참조하세요.
데이터 수집 및 테이블 보존 정책을 검토합니다. 쿼리 시간 범위를 설정하기 전에 데이터 레이크 테이블의 데이터 보존 및 선택한 시간 범위에 데이터를 사용할 수 있는지 여부를 알고 있어야 합니다. 자세한 내용은 Microsoft Defender 포털에서 데이터 계층 및 보존 관리를 참조하세요.
Data Lake에 대한 KQL 쿼리는 분석 계층의 쿼리보다 성능이 낮습니다. 기록 데이터를 탐색하거나 테이블이 데이터 레이크 전용 모드로 저장된 경우에만 데이터 레이크에 대해 KQL 쿼리를 사용하는 것이 좋습니다.
현재 지원되는 KQL 컨트롤 명령은 다음과 같습니다.
.show version.show databases.show databases entities.show database
데이터 레이크에 대한 KQL 쿼리에서는 기본 제공 함수 또는 사용자 지정 함수를 사용할 수 없습니다.
데이터 레이크에 대해 KQL 쿼리를 통해 외부 데이터를 호출하는 것은 지원되지 않습니다.
다음을 제외한 모든 KQL 연산자 및 함수가 지원됩니다.
adx()arg()externaldata()ingestion_time()
레이크 계층의 KQL 쿼리에 대한 서비스 매개 변수 및 제한
다음 서비스 매개 변수 제한 사항은 Microsoft Sentinel 데이터 레이크에서 쿼리를 작성할 때 적용됩니다.
| 카테고리 | 매개 변수/제한 |
|---|---|
| 동시 대화형 쿼리 | 분당 45개 |
| 결과 데이터 쿼리 | 64MB |
| 쿼리 결과 행 | 500,000개 행 |
| 쿼리 범위 | 여러 작업 영역 |
| 쿼리 제한 시간 | 8분 |
| 쿼리 가능한 시간 범위 | 데이터 보존에 따라 최대 12년 |
KQL 쿼리 문제를 해결하려면 Microsoft Sentinel 데이터 레이크에서 KQL 쿼리 문제 해결을 참조하세요.