SQL Server Audit (Database Engine)

  • 01/01/2020
  • 13 minutes to read
    • D
    • v
    • M
    • M
    • D
    • +8

Applies to: 데이터베이스 엔진 또는 개별 데이터베이스의 인스턴스를 감사하려면 데이터베이스 엔진에서 발생하는 이벤트를 추적하고 로깅해야 합니다. 여기에는 서버 수준 이벤트에 대한 서버 감사 사양 및 데이터베이스 수준 이벤트에 대한 데이터베이스 감사 사양이 포함될 수 있습니다. 감사된 이벤트는 이벤트 로그 또는 감사 파일에 기록될 수 있습니다.

중요

자세한 내용은 다음을 참조하십시오.감사 수준에는 설치 시 정부 또는 표준 요구 사항에 따라 여러 가지 수준이 있습니다. 감사에는 다양한 서버 및 데이터베이스 개체에 대한 감사를 활성화,저장 및 보는 데 필요한 도구와 프로세스가 제공됩니다.

인스턴스별 서버 감사 작업 그룹과 데이터베이스 감사 작업 그룹 또는 데이터베이스별 데이터베이스 감사 작업을 기록할 수 있습니다. 감사 가능한 작업이 발생할 때마다 감사 이벤트가 발생합니다.

모든 버전에서는 서버 수준 감사를 지원합니다. 모든 버전은 데이터베이스 수준 감사를 지원합니다.1. 그 전에는 데이터베이스 수준 감사가 엔터프라이즈,개발자 및 평가 버전으로 제한되었습니다. 자세한 내용은 다음을 참조하십시오.

참고

데이터베이스 감사 시작을 참조하십시오.감사는 서버 작업 또는 데이터베이스 작업의 특정 그룹에 대해 여러 요소를 단일 패키지로 조합한 것입니다. 보고서 정의가 그래픽 및 데이터 요소와 결합되어서 보고서를 생성하는 것처럼 감사라고 하는 출력을 생성합니다.

확장 이벤트를 사용하여 감사를 만듭니다. 확장 이벤트에 대한 자세한 내용은 확장 이벤트를 참조하십시오.

모니터링할 작업 그룹 및 서버 또는 데이터베이스 수준 작업의 단일 인스턴스를 수집합니다. 감사 수준입니다. 여러 개의 감사를 수행할 수 있습니다.

감사를 정의할 때 결과 출력의 위치를 지정합니다. 이 감사 대상입니다. 감사는 사용 안 함 상태로 만들어지며 모든 작업을 자동으로 감사하지 않습니다. 감사를 사용하도록 설정하면 감사 대상이 감사에서 데이터를 받습니다.

서버 감사 사양

서버 감사 사양 개체가 감사에 속합니다. 감사당 하나의 서버 감사 사양을 만들 수 있습니다.

서버 감사 사양은 확장 이벤트 기능에 의해 발생하는 많은 서버 수준 작업 그룹을 수집합니다. 서버 감사 사양에 감사 작업 그룹을 포함할 수 있습니다. 감사 작업 그룹은 데이터베이스 엔진에서 발생하는 원자성 이벤트인 미리 정의된 작업 그룹입니다. 이러한 작업은 감사에 전송되어 대상에 기록됩니다.

서버 수준 감사 작업 그룹은 항목에서 설명합니다.

데이터베이스 감사 사양

데이터베이스 감사 사양 개체는 또한 데이터베이스 감사 사양에 속합니다. 감사당 데이터베이스 감사 사양을 만들 수 있습니다.

데이터베이스 감사 사양은 확장 이벤트 기능에서 발생하는 데이터베이스 수준 감사 작업을 수집합니다. 감사 작업 그룹 또는 감사 이벤트를 데이터베이스 감사 사양에 추가할 수 있습니다. 감사 이벤트 감사 작업 그룹은 미리 정의된 작업 그룹입니다. 둘 다 데이터베이스 범위에 있습니다. 이러한 작업은 감사에 전송되어 대상에 기록됩니다. 시스템 뷰와 같은 서버 범위 개체를 사용자 데이터베이스 감사 사양에 포함하지 마십시오.

데이터베이스 수준 감사 작업 그룹 및 감사 작업은 항목에서 설명합니다.

대상

감사 결과가 대상으로 전송됩니다. 대상에 추가 레코드를 작성할 수 있는 충분한 공간이 있는지 확인하기 위해 정기적으로 로그를 검토하고 보관해야 합니다.

중요

인증된 모든 사용자가 응용 프로그램 이벤트 로그를 읽고 쓸 수 있습니다. 응용 프로그램 이벤트 로그는 윈도우 보안 이벤트 로그보다 낮은 권한이 필요하며 윈도우 보안 이벤트 로그보다 덜 안전합니다.보안 감사 생성 정책에 추가해야 합니다. 기본적으로 로컬 시스템,로컬 서비스 및 네트워크 서비스는 이 정책의 일부입니다. 이 설정은 보안 정책 스냅인을 사용하여 구성할 수 있습니다.석사). 또한 성공 및 실패 모두에 대해 감사 개체 액세스 보안 정책을 사용하도록 설정해야 합니다. 이 설정은 보안 정책 스냅인을 사용하여 구성할 수 있습니다.석사). 감사 정책 프로그램을 사용하여 명령줄에서 보다 세부적인 응용 프로그램 생성 정책을 설정할 수 있습니다.(예) 보안 로그에 쓰기를 사용하도록 설정하는 단계에 대한 자세한 내용은 보안 로그에 감사 이벤트 쓰기를 참조하십시오. 에 대한 자세한 내용은.그룹 정책을 사용하여 자세한 보안 감사를 구성하는 방법을 참조하십시오. 윈도우 이벤트 로그는 윈도우 운영 체제에 전역 있습니다. 이벤트 로그에 대한 자세한 내용은 이벤트 뷰어 개요를 참조하십시오. 감사에 대한 보다 정확한 권한이 필요한 경우 이진 파일 대상을 사용합니다.

감사 정보를 파일에 저장하는 경우 변조를 방지하기 위해 다음과 같은 방법으로 파일 위치에 대한 액세스를 제한할 수 있습니다:

  • 읽기 및 쓰기 권한이 있어야 합니다.

  • 감사 관리자는 일반적으로 읽기 및 쓰기 권한이 필요합니다. 감사 관리자는 다음과 같은 감사 파일을 다른 공유로 복사하고 백업하는 등의 작업을 수행합니다.

  • 감사 파일을 읽을 권한이 있는 감사 판독기는 읽기 권한이 있어야 합니다.

데이터베이스 엔진이 파일에 쓰는 경우에도 다른 사용자가 권한이 있는 경우 감사 파일을 읽을 수 있습니다. 데이터베이스 엔진은 읽기 작업을 방지하는 배타적 잠금을 사용하지 않습니다.

데이터베이스 엔진이 파일에 액세스할 수 있으므로 제어 서버 권한이 있는 로그인은 데이터베이스 엔진을 사용하여 감사 파일에 액세스할 수 있습니다. 감사 파일을 읽는 모든 사용자를 기록하려면 마스터에 대한 감사를 정의합니다.시스파일 이름 감사 파일에 액세스한 제어 서버 사용 권한이 기록됩니다.

감사 관리자가 파일을 다른 위치(보관 목적 등)에 복사하는 경우 새 위치의 액세스 권한을 다음 사용 권한으로 축소해야 합니다:

  • 감사 관리자-읽기/쓰기

  • 감사 리더-읽기

이 인스턴스에서는 감사 관리자 또는 감사 독자만 액세스할 수 있습니다. 보고를 위해 별도의 데이터베이스 엔진 인스턴스를 사용하면 권한이 없는 사용자가 감사 레코드에 액세스할 수 없도록 할 수 있습니다.

감사 파일이 저장된 폴더를 암호화하여 무단 액세스로부터 추가적인 보호를 제공할 수 있습니다.감사 레코드에 대한 자세한 내용은 다음을 참조하십시오.이 문서는 기계 번역되었으므로 어휘,구문 또는 문법에서 오류가 있을 수 있습니다 감사를 만들고 사용하도록 설정하면 대상이 항목을 받게 됩니다.

윈도우 이벤트 뷰어 유틸리티를 사용하여 윈도우 이벤트 로그를 읽을 수 있습니다. 파일 대상의 경우 로그 파일 뷰어를 사용하여 대상 파일을 읽을 수 있습니다.

감사를 만들고 사용하는 일반적인 프로세스는 다음과 같습니다.

  1. 감사를 만들고 대상을 정의합니다.

  2. 감사에 매핑되는 서버 감사 사양 또는 데이터베이스 감사 사양을 만듭니다. 감사 사양을 활성화합니다.

  3. 감사를 활성화합니다.

  4. 이벤트 뷰어,로그 파일 뷰어 또는 파일 함수를 사용하여 감사 이벤트를 읽습니다.

자세한 내용은 서버 감사 및 서버 감사 사양 만들기 및 서버 감사 및 데이터베이스 감사 사양 만들기를 참조하십시오.

고려 사항

감사 시작 중 오류가 발생하면 서버가 시작되지 않습니다. 이 경우 명령줄에서-에프 옵션을 사용하여 서버를 시작할 수 있습니다.

감사 실패로 인해 서버가 종료되거나 시작되지 않는 경우 이 설정을 처음 접할 때 종료가 발생하므로 이벤트가 한 번 기록됩니다. 이 이벤트는 종료를 일으키는 감사에 대한 실패 메시지 다음에 기록됩니다. 감사 기반 시스템 종료를 무시할 수 있습니다. 단일 사용자 모드로 시작하는 경우 해당 세션에서 실행되도록 지정된 모든 감사를 다운그레이드합니다. 오류 로그에 기록됩니다.

서비스 시작 옵션에 대한 자세한 내용은 데이터베이스 엔진 서비스 시작 옵션을 참조하십시오.

감사가 정의된 데이터베이스 연결

감사 사양이 있고 서버에 없는 가이드를 지정하는 데이터베이스를 연결하면 분리된 감사 사양이 발생합니다. 서버 인스턴스에는 감사 이벤트가 기록되지 않습니다. 이 문제를 해결하려면 데이터베이스 감사 사양 변경 명령을 사용하여 분리된 감사 사양을 기존 서버 감사에 연결합니다. 또는 서버 감사 만들기 명령을 사용하여 지정된 가이드로 새 서버 감사를 만듭니다.

감사 사양이 정의된 데이터베이스를 다른 버전에 연결할 수 있습니다.데이터베이스 감사 사양이 정의되어 있고 데이터베이스 미러링을 사용하는 데이터베이스에는 데이터베이스 감사 사양이 포함됩니다. 미러링된 인스턴스에서 올바르게 작동하려면 다음 항목을 구성해야 합니다:

  • 데이터베이스 감사 사양이 감사 레코드를 작성할 수 있도록 하려면 미러 서버에 동일한 가이드로 감사가 있어야 합니다. 이 명령을 사용하여 구성할 수 있습니다.

  • 이진 파일 대상의 경우 미러 서버 서비스 계정에 감사 추적이 기록되는 위치에 대한 적절한 권한이 있어야 합니다.

  • 미러 서버가 있는 컴퓨터의 보안 정책에서 보안 또는 응용 프로그램 이벤트 로그에 대한 서비스 계정 액세스를 허용해야 합니다.

감사 관리자

관리자의 작업을 감사하려면 사용자의 작업을 감사하십시오.이 섹션에서는 동적 관리 뷰와 함수,카탈로그 뷰를 사용하여 감사를 만들고 관리할 수 있습니다.

데이터 정의 언어 문

다음 명령문을 사용하여 감사 사양을 작성,변경 및 삭제할 수 있습니다:

이 문제를 해결하려면 다음을 수행하십시오.
권한 변경 보안 개체의 소유권을 변경합니다.
데이터베이스 감사 사양 변경 감사 기능을 사용하여 데이터베이스 감사 사양 개체를 변경합니다.
서버 감사 변경
서버 감사 사양 변경 서버 감사 기능을 사용하여 서버 감사 사양 개체를 변경합니다.
데이터베이스 감사 사양 만들기 데이터베이스 감사 사양 개체를 만듭니다.
서버 감사 만들기 서버 감사 개체를 만듭니다.
서버 감사 사양 만들기 서버 감사 사양 개체를 만듭니다.
데이터베이스 감사 사양 삭제 데이터베이스 감사 사양 개체를 삭제합니다.
서버 감사 삭제
서버 감사 사양 삭제 서버 감사 사양 개체를 삭제합니다.

동적 뷰 및 함수

동적 뷰 및 함수 설명
시스감사 로그에 보고될 수 있는 모든 감사 작업과 구성될 수 있는 모든 감사 작업 그룹에 대한 행을 반환합니다.
감사의 현재 상태에 대한 정보를 제공합니다.
감사 로그의 클래스 유형 필드를 감사 로그의 클래스 유형 필드에 매핑하는 테이블을 반환합니다.
서버 감사에서 만든 감사 파일의 정보를 반환합니다.

카탈로그 뷰

다음 표에는 감사하는 데 사용할 수 있는 카탈로그 뷰가 나와 있습니다.

카탈로그 보기 설명
시스템데이터베이스 인스턴스에 대한 감사에서 데이터베이스 감사 사양에 대한 정보가 들어 있습니다.
시스템데이터베이스 인스턴스에 대한 데이터베이스 감사 사양에 대한 정보가 들어 있습니다.
시스템서버 인스턴스에서 각 서버 감사마다 하나의 행을 포함합니다.
시스템서버 인스턴스에 대한 감사에서 서버 감사 사양에 대한 정보가 들어 있습니다.
시스템서버 인스턴스에 대한 감사에서 서버 감사 사양 세부 정보(작업)에 대한 정보가 들어 있습니다.
시스템서버 인스턴스에 대한 파일 감사 유형에 대한 확장 정보를 저장합니다.

사용 권한

각 기능 및 명령에는 개별 사용 권한 요구 사항이 있습니다.

서버 감사 또는 서버 감사 사양을 작성,변경 또는 삭제하려면 서버 주체가 서버 감사 변경 또는 제어 서버 권한이 필요합니다. 데이터베이스 감사 사양을 만들거나 변경하거나 삭제하려면 데이터베이스 보안 주체가 데이터베이스 감사 변경 권한 또는 데이터베이스에 대한 변경 또는 제어 권한이 필요합니다. 또한 주체는 데이터베이스에 연결하거나 서버 감사 또는 제어 서버 권한을 변경할 수 있는 권한이 있어야 합니다.

모든 정의 보기 권한은 서버 수준 감사 보기를 볼 수 있는 액세스를 제공하고 뷰 정의는 데이터베이스 수준 감사 보기를 볼 수 있는 액세스를 제공합니다. 이러한 사용 권한을 거부하면 주 서버 감사 변경 또는 데이터베이스 감사 변경 권한이 있는 경우에도 카탈로그 보기를 볼 수 있는 기능이 우선합니다.

권한 및 사용 권한을 부여하는 방법에 대한 자세한 내용은 다음을 참조하십시오.

주의

시스템 관리자 역할의 보안 주체는 감사 구성 요소를 변조할 수 있습니다. 감사 사양을 만들거나 변경하는 로그온에 데이터베이스 감사 변경 권한이 있는지 확인합니다. 그러나 데이터베이스를 연결할 때는 유효성 검사가 수행되지 않습니다. 모든 데이터베이스 감사 사양은 시스템 관리자 역할의 보안 주체만큼 신뢰할 수 있다고 가정해야 합니다.서버 감사 및 데이터베이스 감사 사양 만들기

서버 감사 및 데이터베이스 감사 사양 만들기

보안 로그에 감사 이벤트 쓰기

서버 속성(보안 페이지)
감사 레코드는 응용 프로그램 로그에 저장됩니다.서버 구성 옵션
에서 보안 준수 감사 모드를 설명합니다.보안 감사 이벤트 범주(4590>

보안 감사 이벤트 범주)
보안 감사 이벤트 범주(4590>

보안 감사 이벤트 범주)
보안 감사 이벤트 범주(4590>

보안 감사 이벤트 범주) 자세한 내용은 서버 프로파일러를 참조하십시오.응용 프로그램 내에서 추적을 사용하여 수동으로 추적을 만드는 방법에 대해 설명합니다.

데이터 정의 언어 트리거를 사용하여 데이터베이스의 변경 내용을 추적하는 방법에 대해 설명합니다.

: 보안 및 보호
에 대한 최신 정보를 제공합니다.다음 사항도 참조

감사 작업 그룹 및 작업
감사 레코드