랩: 감사 로그와 보고서 분석
연습 1: SQL 데이터베이스 감사 시작
참고 LAB 01에서 설정한 Azure SQL Database를 그대로 활용해도 됩니다.
작업 1: 랩 설정
-
웹 브라우저에 이 URL로 접속합니다.
-
리소스 그룹에서 새로 만들기를 선택하고
az5000303
를 입력합니다. -
SQL server name은
az5000303xxx
(xxx는 유니크 해야 함)을 입력합니다. -
위에 명시된 사용 약관에 동의함 체크박스에 체크를 한 후 구매버튼을 클릭합니다.
-
- + 리소스 만들기를 클릭한 다음 event hubs를 입력하고 Event Hubs를 클릭합니다.
-
Event Hubs 블레이드가 뜨면 만들기 버튼을 클릭합니다.
-
다음을 참고하여 정보를 입력한 후 만들기 버튼을 클릭하여 리소스를 배포합니다. 정의되지 않은 설정은 기본값으로 둡니다.
설정 값 이름 az5000303hubxxx (xxx는 유니크 해야 함) 가격 책정 계층 표준 (20 소비자 그룹, 1000 조정된 연결) 구독 이 랩에서 사용할 구독 리소스 그룹 az5000303 위치 미국 동부 -
이벤트 허브의 배포가 완료되면 리소스를 탐색합니다.
-
엔터티 섹션에서 Event Hubs를 클릭합니다.
-
상단에 +이벤트 허브를 클릭합니다.
-
다음을 참고하여 정보를 입력한 후 만들기 버튼을 클릭하여 이벤트 허브를 생성합니다.
설정 값 이름 az5000303eventhub 메시지 보존기간 3
작업 2: 데이터베이스 감사 설정
-
az5000303 리소스 그룹을 탐색합니다.
-
SQL Server인 az5000303xxx를 클릭합니다.
-
보안 섹션에서 감사를 클릭합니다.
-
감사 옵션을 설정으로 변경합니다.
-
감사 로그 대상(하나 이상 선택에서 Storage, 로그 분석(미리 보기), 이벤트 허브(미리 보기) 세 가지 옵션 전부 선택합니다.
-
스토리지 세부 정보을 클릭한 후 스토리지 설정 블레이드가 뜨면 스토리지 계정을 클릭합니다.
-
스토리지 계정 선택 블레이드에서 + 새로 만들기를 클릭합니다.
참고: 이 메뉴는 자동으로 선택될 수 있습니다.
-
스토리지 계정 만들기 블레이드가 뜨면 이름에
az5000303stlogxxx
(xxx는 유니크 해야 함)을 입력한 후 확인 버튼을 클릭하여 스토리지 계정을 배포합니다. -
보존(일)에 5를 입력합니다.
-
확인 버튼을 클릭한 후 감사 블레이드로 돌아오면 상단에 저장을 클릭하여 감사 설정을 저장합니다.
-
Log Analytics 세부 정보를 클릭한 후 Log Analytics 작업 영역 블레이드가 뜨면 + 새 작업 영역 만들기를 클릭합니다.
-
새로운 Log Analytics 작업 영역 블레이드가 뜨면 다음을 참고하여 정보를 입력한 후 확인 버튼을 클릭하여 리소스를 배포합니다.
설정 값 Log Analytics 작업 영역 az5000303-log 구독 이 랩에서 사용할 구독 리소스 그룹 az5000303 위치 미국 동부 가격 책정 계층 종량제 -
배포가 완료되면 자동으로 감사 블레이드로 돌아갑니다.
-
이벤트 허브 세부 정보를 클릭합니다.
-
이벤트 허브 선택 블레이드가 뜨면 다음을 참고하여 정보를 입력한 후 확인 버튼을 클릭합니다.
설정 값 구독 이 랩에서 사용할 구독 이벤트 허브 네임스페이스 선택 az5000303hubxxx 이벤트 허브 이름 선택(선택 사항) az5000303eventhub 이벤트 허브 정책 이름 선택 RootManageSharedAccessKey -
상단에 저장 버튼을 클릭하여 감사 설정을 저장합니다.
-
az5000303 리소스 그룹으로 돌아옵니다.
-
생성된 az5000303-log Log Analytics 작업 영역을 클릭합니다.
-
일반 섹션에 있는 로그를 클릭합니다.
-
쿼리 편집기에 다음과 같이 입력한 후 실행 버튼을 클릭합니다.
Event | where Source == "MSSQLSERVER"
-
결과가 표시되지 않는 것을 확인합니다.
참고: 테스트 데이터가 있는 새 데이터베이스에 로그를 설정 했으므로 볼 수 있는 최소 로그가 있습니다. 예를 들어 로그가 표시되는 방법을 보여주기 위해 예제 데이터로 채워진 예제 로그를 분석 웹 사이트를 사용하여 볼 수 있습니다.
작업 3: 감사 로그 및 보고서 분석
-
새로운 웹 브라우저 탭에서 https://portal.loganalytics.io/demo를 탐색합니다. 이 페이지를 탐색하면 데모 데이터가 채워진 Log Analytics 작업 영역으로 이동합니다.
-
쿼리 편집기에 다음과 같이 입력한 후 실행 버튼을 클릭합니다.
Event | where Source == "MSSQLSERVER"
참고: 결과값이 출력되지 않을 수 있습니다. 데모 데이터가 지속적으로 업데이트 되기 때문입니다.
-
여기에서 일부 감사 로그 예제를 확장하여 실제 시스템에서 어떻게 보이는지 확인할 수 있습니다.
-
쿼리 편집기에 다음과 같이 입력한 후 실행 버튼을 클릭합니다.
Event | where EventLevelName == "Error" | where TimeGenerated > ago(1d) | where Source != "HealthService" | where Source != "Microsoft-Windows-DistributedCOM" | summarize count() by Source
-
결과창 상단에 있는 차트를 클릭합니다.
-
로그 데이터가 차트 데이터로 표시되는 것을 확인할 수 있습니다.
-
누적 세로 막대형을 클릭하여 원형으로 변경합니다.
-
데이터는 동일하지만 차트가 변경되는 것을 확인할 수 있습니다.
-
쿼리 편집기 상단에 내보내기를 클릭하면 CSV로 내보내기 옵션을 확인할 수 있습니다.
로그 분석에 사용되는 쿼리 언어를 Kusto 쿼리 언어라고 하며, 이 언어에 대한 전체 설명서는 여기에서 찾을 수 있습니다.
연습 2: 랩 리소스 삭제
작업 1: 리소스 잠금 삭제
-
az5000303 리소스 그룹을 탐색합니다.
-
설정 섹션에서 잠금을 클릭합니다.
-
설정되어 있는 모든 잠금을 삭제합니다.
작업 2: Cloud Shell 열기
-
Azure 포털 상단에서 Cloud Shell 아이콘을 클릭하여 Cloud Shell 창을 엽니다.
-
Cloud Shell 인터페이스에서 Bash를 선택합니다.
-
Cloud Shell 명령 프롬프트에서 다음 명령을 입력하고 Enter를 눌러 이 랩에서 생성한 모든 리소스 그룹을 나열합니다.
az group list --query "[?starts_with(name,'az500')].name" --output tsv
-
출력된 결과가 이 랩에서 생성한 리소스 그룹만 포함되어 있는지 확인합니다. 이 그룹은 다음 작업에서 삭제됩니다.
작업 3: 리소스 그룹 삭제하기
-
Cloud Shell 명령 프롬프트에서 다음 명령을 입력하고 Enter를 눌러 이 랩에서 생성한 모든 리소스 그룹을 삭제합니다.
az group list --query "[?starts_with(name,'az500')].name" --output tsv | xargs -L1 bash -c 'az group delete --name $0 --no-wait --yes'
-
Cloud Shell 명령 프롬프트를 닫습니다.
결과: 이 연습을 완료한 후 이 랩에서 사용된 리소스 그룹을 제거했습니다.