랩: 감사 로그와 보고서 분석

연습 1: SQL 데이터베이스 감사 시작

참고 LAB 01에서 설정한 Azure SQL Database를 그대로 활용해도 됩니다.

작업 1: 랩 설정

  1. 웹 브라우저에 이 URL로 접속합니다.

  2. 리소스 그룹에서 새로 만들기를 선택하고 az5000303를 입력합니다.

  3. SQL server nameaz5000303xxx (xxx는 유니크 해야 함)을 입력합니다.

  4. 위에 명시된 사용 약관에 동의함 체크박스에 체크를 한 후 구매버튼을 클릭합니다.

    1. + 리소스 만들기를 클릭한 다음 event hubs를 입력하고 Event Hubs를 클릭합니다.
  5. Event Hubs 블레이드가 뜨면 만들기 버튼을 클릭합니다.

  6. 다음을 참고하여 정보를 입력한 후 만들기 버튼을 클릭하여 리소스를 배포합니다. 정의되지 않은 설정은 기본값으로 둡니다.

    설정
    이름 az5000303hubxxx (xxx는 유니크 해야 함)
    가격 책정 계층 표준 (20 소비자 그룹, 1000 조정된 연결)
    구독 이 랩에서 사용할 구독
    리소스 그룹 az5000303
    위치 미국 동부
  7. 이벤트 허브의 배포가 완료되면 리소스를 탐색합니다.

  8. 엔터티 섹션에서 Event Hubs를 클릭합니다.

  9. 상단에 +이벤트 허브를 클릭합니다.

  10. 다음을 참고하여 정보를 입력한 후 만들기 버튼을 클릭하여 이벤트 허브를 생성합니다.

    설정
    이름 az5000303eventhub
    메시지 보존기간 3

작업 2: 데이터베이스 감사 설정

  1. az5000303 리소스 그룹을 탐색합니다.

  2. SQL Server인 az5000303xxx를 클릭합니다.

  3. 보안 섹션에서 감사를 클릭합니다.

  4. 감사 옵션을 설정으로 변경합니다.

  5. 감사 로그 대상(하나 이상 선택에서 Storage, 로그 분석(미리 보기), 이벤트 허브(미리 보기) 세 가지 옵션 전부 선택합니다.

  6. 스토리지 세부 정보을 클릭한 후 스토리지 설정 블레이드가 뜨면 스토리지 계정을 클릭합니다.

  7. 스토리지 계정 선택 블레이드에서 + 새로 만들기를 클릭합니다.

    참고: 이 메뉴는 자동으로 선택될 수 있습니다.

  8. 스토리지 계정 만들기 블레이드가 뜨면 이름az5000303stlogxxx (xxx는 유니크 해야 함)을 입력한 후 확인 버튼을 클릭하여 스토리지 계정을 배포합니다.

  9. 보존(일)에 5를 입력합니다.

  10. 확인 버튼을 클릭한 후 감사 블레이드로 돌아오면 상단에 저장을 클릭하여 감사 설정을 저장합니다.

  11. Log Analytics 세부 정보를 클릭한 후 Log Analytics 작업 영역 블레이드가 뜨면 + 새 작업 영역 만들기를 클릭합니다.

  12. 새로운 Log Analytics 작업 영역 블레이드가 뜨면 다음을 참고하여 정보를 입력한 후 확인 버튼을 클릭하여 리소스를 배포합니다.

    설정
    Log Analytics 작업 영역 az5000303-log
    구독 이 랩에서 사용할 구독
    리소스 그룹 az5000303
    위치 미국 동부
    가격 책정 계층 종량제
  13. 배포가 완료되면 자동으로 감사 블레이드로 돌아갑니다.

  14. 이벤트 허브 세부 정보를 클릭합니다.

  15. 이벤트 허브 선택 블레이드가 뜨면 다음을 참고하여 정보를 입력한 후 확인 버튼을 클릭합니다.

    설정
    구독 이 랩에서 사용할 구독
    이벤트 허브 네임스페이스 선택 az5000303hubxxx
    이벤트 허브 이름 선택(선택 사항) az5000303eventhub
    이벤트 허브 정책 이름 선택 RootManageSharedAccessKey
  16. 상단에 저장 버튼을 클릭하여 감사 설정을 저장합니다.

  17. az5000303 리소스 그룹으로 돌아옵니다.

  18. 생성된 az5000303-log Log Analytics 작업 영역을 클릭합니다.

  19. 일반 섹션에 있는 로그를 클릭합니다.

  20. 쿼리 편집기에 다음과 같이 입력한 후 실행 버튼을 클릭합니다.

      Event | where Source == "MSSQLSERVER" 
    
  21. 결과가 표시되지 않는 것을 확인합니다.

참고: 테스트 데이터가 있는 새 데이터베이스에 로그를 설정 했으므로 볼 수 있는 최소 로그가 있습니다. 예를 들어 로그가 표시되는 방법을 보여주기 위해 예제 데이터로 채워진 예제 로그를 분석 웹 사이트를 사용하여 볼 수 있습니다.

작업 3: 감사 로그 및 보고서 분석

  1. 새로운 웹 브라우저 탭에서 https://portal.loganalytics.io/demo를 탐색합니다. 이 페이지를 탐색하면 데모 데이터가 채워진 Log Analytics 작업 영역으로 이동합니다.

  2. 쿼리 편집기에 다음과 같이 입력한 후 실행 버튼을 클릭합니다.

      Event | where Source == "MSSQLSERVER"
    

    참고: 결과값이 출력되지 않을 수 있습니다. 데모 데이터가 지속적으로 업데이트 되기 때문입니다.

  3. 여기에서 일부 감사 로그 예제를 확장하여 실제 시스템에서 어떻게 보이는지 확인할 수 있습니다.

  4. 쿼리 편집기에 다음과 같이 입력한 후 실행 버튼을 클릭합니다.

     Event 
     | where EventLevelName == "Error" 
     | where TimeGenerated > ago(1d) 
     | where Source != "HealthService" 
     | where Source != "Microsoft-Windows-DistributedCOM" 
     | summarize count() by Source
    
  5. 결과창 상단에 있는 차트를 클릭합니다.

  6. 로그 데이터가 차트 데이터로 표시되는 것을 확인할 수 있습니다.

  7. 누적 세로 막대형을 클릭하여 원형으로 변경합니다.

  8. 데이터는 동일하지만 차트가 변경되는 것을 확인할 수 있습니다.

  9. 쿼리 편집기 상단에 내보내기를 클릭하면 CSV로 내보내기 옵션을 확인할 수 있습니다.

로그 분석에 사용되는 쿼리 언어를 Kusto 쿼리 언어라고 하며, 이 언어에 대한 전체 설명서는 여기에서 찾을 수 있습니다.

연습 2: 랩 리소스 삭제

작업 1: 리소스 잠금 삭제

  1. az5000303 리소스 그룹을 탐색합니다.

  2. 설정 섹션에서 잠금을 클릭합니다.

  3. 설정되어 있는 모든 잠금을 삭제합니다.

작업 2: Cloud Shell 열기

  1. Azure 포털 상단에서 Cloud Shell 아이콘을 클릭하여 Cloud Shell 창을 엽니다.

  2. Cloud Shell 인터페이스에서 Bash를 선택합니다.

  3. Cloud Shell 명령 프롬프트에서 다음 명령을 입력하고 Enter를 눌러 이 랩에서 생성한 모든 리소스 그룹을 나열합니다.

     az group list --query "[?starts_with(name,'az500')].name" --output tsv
    
  4. 출력된 결과가 이 랩에서 생성한 리소스 그룹만 포함되어 있는지 확인합니다. 이 그룹은 다음 작업에서 삭제됩니다.

작업 3: 리소스 그룹 삭제하기

  1. 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'
    
  2. Cloud Shell 명령 프롬프트를 닫습니다.

결과: 이 연습을 완료한 후 이 랩에서 사용된 리소스 그룹을 제거했습니다.