SQL Server Audit(데이터베이스 엔진)SQL Server Audit (Database Engine)

이 항목은 다음에 적용됩니다.예SQL Server(2008부터 시작)아니요Azure SQL Database아니요Azure SQL Data Warehouse 아니요병렬 데이터 웨어하우스 THIS TOPIC APPLIES TO:yesSQL Server (starting with 2008)noAzure SQL DatabasenoAzure SQL Data Warehouse noParallel Data Warehouse

인스턴스 또는 개별 데이터베이스를 감사 SQL Server 데이터베이스 엔진SQL Server Database Engine 할 때는 데이터베이스 엔진Database Engine에서 발생하는 이벤트를 추적 및 기록합니다.Auditing an instance of the SQL Server 데이터베이스 엔진SQL Server Database Engine or an individual database involves tracking and logging events that occur on the 데이터베이스 엔진Database Engine. SQL ServerSQL Server Audit에서는 서버 수준 이벤트에 대한 서버 감사 사양과 데이터베이스 수준 이벤트에 대한 데이터베이스 감사 사양을 포함하는 서버 감사를 생성할 수 있습니다. audit lets you create server audits, which can contain server audit specifications for server level events, and database audit specifications for database level events. 감사된 이벤트는 이벤트 로그 또는 감사 파일에 쓸 수 있습니다.Audited events can be written to the event logs or to audit files.

SQL ServerSQL Server의 감사는 설치에 대한 정부 또는 표준 요구 사항에 따라 여러 개의 수준이 있습니다.There are several levels of auditing for SQL ServerSQL Server, depending on government or standards requirements for your installation. SQL ServerSQL Server Audit에서는 다양한 서버 및 데이터베이스 개체에 대한 감사를 사용 및 저장하거나 보는 데 필요한 도구와 프로세스를 제공합니다. Audit provides the tools and processes you must have to enable, store, and view audits on various server and database objects.

인스턴스별 서버 감사 동작 그룹을 기록할 수 있으며 데이터베이스별 데이터베이스 감사 동작 그룹 또는 데이터베이스 감사 동작을 기록할 수 있습니다.You can record server audit action groups per-instance, and either database audit action groups or database audit actions per database. 감사 가능한 동작이 발생할 때마다 감사 이벤트가 발생합니다.The audit event will occur every time that the auditable action is encountered.

모든 버전의 SQL ServerSQL Server 는 서버 수준 감사를 지원합니다.All editions of SQL ServerSQL Server support server level audits. SQL Server 2016SQL Server 2016 SP1부터 모든 버전에서 데이터베이스 수준 감사를 지원합니다.All editions support database level audits beginning with SQL Server 2016SQL Server 2016 SP1. 이전에는 데이터베이스 수준 감사가 Enterprise, Developer 및 Evaluation 버전에서만 지원되었습니다.Prior to that, database level auditing was limited to Enterprise, Developer, and Evaluation editions. 자세한 내용은 SQL Server 2016 버전에서 지원하는 기능을 참조하세요.For more information, see Features Supported by the Editions of SQL Server 2016.

참고

이 항목의 내용은 SQL ServerSQL Server에 적용됩니다.This topic applies to SQL ServerSQL Server. SQL 데이터베이스SQL Database의 경우 [SQL 데이터베이스 감사 시작](https://azure.microsoft.com/documentation/articles/sql-database-auditing-get-started/)을 참조하세요.For SQL 데이터베이스SQL Database, see Get started with SQL database auditing.

SQL Server Audit 구성 요소SQL Server Audit Components

감사 는 특정 서버 동작 또는 데이터베이스 동작 그룹에 대한 여러 요소를 하나의 패키지로 결합한 것입니다.An audit is the combination of several elements into a single package for a specific group of server actions or database actions. 보고서 정의가 그래픽 및 데이터 요소와 결합되어 보고서가 생성되는 것처럼 SQL ServerSQL Server Audit의 구성 요소가 결합되어 감사가 만들어집니다.The components of SQL ServerSQL Server audit combine to produce an output that is called an audit, just as a report definition combined with graphics and data elements produces a report.

SQL ServerSQL Server Audit에서는 감사를 만들기 위해 확장 이벤트 를 사용합니다. audit uses Extended Events to help create an audit. 확장 이벤트에 대한 자세한 내용은 확장 이벤트를 참조하세요.For more information about Extended Events, see Extended Events.

SQL Server AuditSQL Server Audit

SQL Server Audit 개체는 사용자가 모니터링하려는 서버 또는 데이터베이스 수준 동작 및 동작 그룹에 대한 하나의 인스턴스를 수집합니다.The SQL Server Audit object collects a single instance of server or database-level actions and groups of actions to monitor. 감사는 SQL ServerSQL Server 인스턴스 수준으로 존재합니다.The audit is at the SQL ServerSQL Server instance level. SQL ServerSQL Server 인스턴스별로 여러 개의 감사를 가질 수 있습니다.You can have multiple audits per SQL ServerSQL Server instance.

감사를 정의할 때 결과 출력 위치를 지정하는데When you define an audit, you specify the location for the output of the results. 이를 감사 대상이라고 합니다.This is the audit destination. 감사가 비활성 상태로 생성되면 동작을 자동으로 감사하지 않습니다.The audit is created in a disabled state, and does not automatically audit any actions. 감사가 활성화되면 감사 대상이 감사로부터 데이터를 수신합니다.After the audit is enabled, the audit destination receives data from the audit.

서버 감사 사양Server Audit Specification

서버 감사 사양 개체는 감사에 속해 있습니다.The Server Audit Specification object belongs to an audit. 서버 감사 사양과 감사는 모두 SQL ServerSQL Server 인스턴스 범위에서 생성되므로 감사당 하나의 서버 감사 사양을 만들 수 있습니다.You can create one server audit specification per audit, because both are created at the SQL ServerSQL Server instance scope.

서버 감사 사양은 확장 이벤트 기능에 의해 발생되는 수많은 서버 수준 동작 그룹을 수집합니다.The server audit specification collects many server-level action groups raised by the Extended Events feature. 감사 동작 그룹 을 서버 감사 사양에 추가할 수 있습니다.You can include audit action groups in a server audit specification. 감사 동작 그룹은 미리 정의된 동작 그룹이며 데이터베이스 엔진Database Engine에서 발생하는 원자성 이벤트입니다.Audit action groups are predefined groups of actions, which are atomic events occurring in the 데이터베이스 엔진Database Engine. 이러한 동작은 감사로 전달되어 대상에 기록됩니다.These actions are sent to the audit, which records them in the target.

서버 수준 감사 동작 그룹 및 감사 동작은 SQL Server 감사 동작 그룹 및 동작항목에 설명되어 있습니다.Server-level audit action groups are described in the topic SQL Server Audit Action Groups and Actions.

데이터베이스 감사 사양Database Audit Specification

데이터베이스 감사 사양 개체도 SQL ServerSQL Server Audit에 속해 있습니다.The Database Audit Specification object also belongs to a SQL ServerSQL Server audit. 감사의 SQL ServerSQL Server 데이터베이스당 하나의 데이터베이스 감사 사양을 만들 수 있습니다.You can create one database audit specification per SQL ServerSQL Server database per audit.

데이터베이스 감사 사양은 확장 이벤트 기능에 의해 발생되는 데이터베이스 수준 감사 동작을 수집합니다.The database audit specification collects database-level audit actions raised by the Extended Events feature. 감사 동작 그룹 또는 감사 이벤트를 데이터베이스 감사 사양에 추가할 수 있습니다.You can add either audit action groups or audit events to a database audit specification. 감사 이벤트SQL ServerSQL Server 엔진이 감사할 수 있는 원자성 동작이고,Audit events are the atomic actions that can be audited by the SQL ServerSQL Server engine. 감사 동작 그룹 은 미리 정의된 동작 그룹입니다.Audit action groups are predefined groups of actions. 둘 다 SQL ServerSQL Server 데이터베이스 범위에 존재합니다.Both are at the SQL ServerSQL Server database scope. 이러한 동작은 감사로 전달되어 대상에 기록됩니다.These actions are sent to the audit, which records them in the target. 시스템 뷰와 같은 서버 범위 개체는 사용자 데이터베이스 감사 사양에 포함하지 마십시오.Do not include server-scoped objects, such as the system views, in a user database audit specification.

데이터베이스 수준 감사 동작 그룹 및 감사 동작은 SQL Server 감사 동작 그룹 및 동작항목에 설명되어 있습니다.Database-level audit action groups and audit actions are described in the topic SQL Server Audit Action Groups and Actions.

대상Target

감사의 결과는 파일, Windows 보안 이벤트 로그 또는 Windows 응용 프로그램 이벤트 로그 형태로 대상에 전달됩니다.The results of an audit are sent to a target, which can be a file, the Windows Security event log, or the Windows Application event log. 로그를 정기적으로 검토 및 보관하여 대상에 추가 레코드를 작성할 공간이 충분한지를 확인해야 합니다.Logs must be reviewed and archived periodically to make sure that the target has sufficient space to write additional records.

중요

허가 받은 사용자는 Windows 응용 프로그램 이벤트 로그에 대해 읽기/쓰기 작업이 가능합니다.Any authenticated user can read and write to the Windows Application event log. 응용 프로그램 이벤트 로그는 Windows 보안 이벤트 로그보다 낮은 권한을 요구하므로 Windows 보안 이벤트 로그보다 보안 수준이 낮습니다.The Application event log requires lower permissions than the Windows Security event log and is less secure than the Windows Security event log.

Windows 보안 로그에 대한 쓰기 작업을 수행하려면 SQL ServerSQL Server 서비스 계정을 보안 감사 생성 정책에 추가해야 합니다.Writing to the Windows Security log requires the SQL ServerSQL Server service account to be added to the Generate security audits policy. 기본적으로 이 정책에는 로컬 시스템, 로컬 서비스 및 네트워크 서비스 등이 포함됩니다.By default, the Local System, Local Service, and Network Service are part of this policy. 이 설정은 보안 정책 스냅인(secpol.msc)을 사용하여 구성할 수 있습니다.This setting can be configured by using the security policy snap-in (secpol.msc). 또한 성공실패 모두에 대한 감사 개체 액세스보안 정책을 설정해야 합니다.Additionally, the Audit object access security policy must be enabled for both Success and Failure. 이 설정은 보안 정책 스냅인(secpol.msc)을 사용하여 구성할 수 있습니다.This setting can be configured by using the security policy snap-in (secpol.msc). Windows VistaWindows Vista 또는 Windows Server 2008의 경우 감사 정책 프로그램( AuditPol.exe )을 사용하여 명령줄에서 더욱 세부적인응용 프로그램 생성정책을 설정할 수 있습니다.In Windows VistaWindows Vista or Windows Server 2008, you can set the more granular application generated policy from the command line by using the audit policy program (AuditPol.exe). Windows 보안 로그의 쓰기를 설정하는 단계에 대한 자세한 내용은 보안 로그에 SQL Server 감사 이벤트 쓰기를 참조하세요.For more information about the steps to enable writing to the Windows Security log, see Write SQL Server Audit Events to the Security Log. Auditpol.exe 프로그램에 대한 자세한 내용은 기술 자료 문서 921469, 그룹 정책을 사용하여 세부 보안 감사를 구성하는 방법을 참조하세요.For more information about the Auditpol.exe program, see Knowledge Base article 921469, How to use Group Policy to configure detailed security auditing. Windows 이벤트 로그는 Windows 운영 체제에 전반적으로 적용됩니다.The Windows event logs are global to the Windows operating system. Windows 이벤트 로그에 대한 자세한 내용은 이벤트 뷰어 개요(Event Viewer Overview)를 참조하십시오.For more information about the Windows event logs, see Event Viewer Overview. 감사에 대해 보다 정확한 권한이 필요하다면 이진 파일 대상을 사용하십시오.If you need more precise permissions on the audit, use the binary file target.

감사 정보를 파일에 저장할 때 변조를 방지하기 위해 다음과 같은 방법으로 파일 위치에 대한 액세스를 제한할 수 있습니다.When you are saving audit information to a file, to help prevent tampering, you can restrict access to the file location in the following ways:

  • SQL ServerSQL Server 서비스 계정에는 읽기 및 쓰기 권한이 있어야 합니다.The SQL ServerSQL Server Service Account must have both Read and Write permission.

  • Audit Administrators에게는 일반적으로 읽기 및 쓰기 권한이 필요합니다.Audit Administrators typically require Read and Write permission. 이 경우에는 Audit Administrators가 감사 파일을 다른 공유에 복사하고 백업하는 등의 감사 파일에 대한 관리 작업을 위한 Windows 계정이라고 가정합니다.This assumes that the Audit Administrators are Windows accounts for administration of audit files, such as: copying them to different shares, backing them up, and so on.

  • 감사 파일을 읽을 권한이 있는 Audit Readers에게는 읽기 권한이 있어야 합니다.Audit Readers that are authorized to read audit files must have Read permission.

    데이터베이스 엔진Database Engine 이 파일에 쓰고 있는 경우라도 권한이 있는 Windows 사용자라면 감사 파일을 읽을 수 있습니다.Even when the 데이터베이스 엔진Database Engine is writing to a file, other Windows users can read the audit file if they have permission. 데이터베이스 엔진Database Engine 은 파일을 배타적으로 잠그지 않으므로 다른 사용자가 읽기 작업을 수행할 수 있습니다.The 데이터베이스 엔진Database Engine does not take an exclusive lock that prevents read operations.

    데이터베이스 엔진Database Engine 이 파일에 액세스할 수 있으므로 CONTROL SERVER 권한이 있는 SQL ServerSQL Server 로그인은 데이터베이스 엔진Database Engine 을 사용하여 감사 파일에 액세스할 수 있습니다.Because the 데이터베이스 엔진Database Engine can access the file, SQL ServerSQL Server logins that have CONTROL SERVER permission can use the 데이터베이스 엔진Database Engine to access the audit files. 감사 파일을 읽고 있는 사용자를 기록하려면 master.sys.fn_get_audit_file에 감사를 정의합니다.To record any user that is reading the audit file, define an audit on master.sys.fn_get_audit_file. 이렇게 하면 SQL ServerSQL Server를 통해 감사 파일에 액세스한 CONTROL SERVER 권한을 가진 로그인이 기록됩니다.This records the logins with CONTROL SERVER permission that have accessed the audit file through SQL ServerSQL Server.

    Audit Administrator가 보관 등의 목적으로 파일을 다른 위치에 복사한 경우에는 새 위치에 대한 ACL을 다음과 같은 권한으로 축소해야 합니다.If an Audit Administrator copies the file to a different location (for archive purposes, and so on), the ACLs on the new location should be reduced to the following permissions:

  • Audit Administrator - 읽기 / 쓰기Audit Administrator – Read / Write

  • Audit Reader - 읽기Audit Reader – Read

    Audit Administrators 또는 Audit Readers만 액세스할 수 있는 별도의 SQL ServerSQL Server인스턴스(예: SQL Server ExpressSQL Server Express인스턴스)에서 감사 보고서를 생성하는 것이 좋습니다.We recommend that you generate audit reports from a separate instance of SQL ServerSQL Server, such as an instance of SQL Server ExpressSQL Server Express, to which only Audit Administrators or Audit Readers have access. 보고 작업을 위해 별도의 데이터베이스 엔진Database Engine 인스턴스를 사용하면 권한이 없는 사용자가 감사 레코드에 액세스하는 것을 방지할 수 있습니다.By using a separate instance of the 데이터베이스 엔진Database Engine for reporting, you can help prevent unauthorized users from obtaining access to the audit record.

    Windows BitLocker 드라이브 암호화 또는 Windows 파일 시스템 암호화를 사용하여 감사 파일이 저장되는 폴더를 암호화하면 권한이 없는 액세스를 추가로 방지할 수 있습니다.You can offer additional protection against unauthorized access by encrypting the folder in which the audit file is stored by using Windows BitLocker Drive Encryption or Windows Encrypting File System.

    대상에 작성된 감사 레코드에 대한 자세한 내용은 SQL Server Audit Records를 참조하십시오For more information about the audit records that are written to the target, see SQL Server Audit Records.

SQL Server Audit 사용 개요Overview of Using SQL Server Audit

SQL Server Management StudioSQL Server Management Studio 또는 Transact-SQLTransact-SQL 을 사용하여 감사를 정의할 수 있습니다.You can use SQL Server Management StudioSQL Server Management Studio or Transact-SQLTransact-SQL to define an audit. 감사가 생성되고 활성화되면 대상이 항목을 받습니다.After the audit is created and enabled, the target will receive entries.

Windows에서 이벤트 뷰어 유틸리티를 사용하여 Windows 이벤트 로그를 읽을 수 있습니다.You can read the Windows event logs by using the Event Viewer utility in Windows. 파일 대상의 경우 로그 파일 뷰어 SQL Server Management StudioSQL Server Management Studio 또는 fn_get_audit_file 함수를 사용하여 대상 파일을 읽을 수 있습니다.For file targets, you can use either the Log File Viewer in SQL Server Management StudioSQL Server Management Studio or the fn_get_audit_file function to read the target file.

감사를 만들고 사용하는 일반적인 프로세스는 다음과 같습니다.The general process for creating and using an audit is as follows.

  1. 감사를 만들고 대상을 정의합니다.Create an audit and define the target.

  2. 감사에 매핑될 서버 감사 사양 또는 데이터베이스 감사 사양을 만들고Create either a server audit specification or database audit specification that maps to the audit. 감사 사양을 활성화합니다.Enable the audit specification.

  3. 감사를 활성화합니다.Enable the audit.

  4. Windows 이벤트 뷰어, 로그 파일 뷰어또는 fn_get_audit_file 함수를 사용하여 감사 이벤트를 읽습니다.Read the audit events by using the Windows Event Viewer, Log File Viewer, or the fn_get_audit_file function.

    자세한 내용은 Create a Server Audit and Server Audit SpecificationCreate a Server Audit and Database Audit Specification를 참조하세요.For more information, see Create a Server Audit and Server Audit Specification and Create a Server Audit and Database Audit Specification.

고려 사항Considerations

감사 시작 도중에 오류가 발생하면 서버가 시작되지 않습니다.In the case of a failure during audit initiation, the server will not start. 이 경우 명령줄에서 –f 옵션을 사용하면 서버를 시작할 수 있습니다.In this case, the server can be started by using the –f option at the command line.

감사에 대해 ON_FAILURE=SHUTDOWN이 지정되어 있어 감사 오류 발생 시 서버가 종료되거나 시작되지 않으면 MSG_AUDIT_FORCED_SHUTDOWN 이벤트가 로그에 기록됩니다.When an audit failure causes the server to shut down or not to start because ON_FAILURE=SHUTDOWN is specified for the audit, the MSG_AUDIT_FORCED_SHUTDOWN event will be written to the log. 종료는 이 설정을 처음 발견할 때 발생하므로 이벤트는 한 번만 기록됩니다.Because the shutdown will occur on the first encounter of this setting, the event will be written one time. 이 이벤트는 종료를 발생시킨 감사 오류 메시지 이후에 기록됩니다.This event is written after the failure message for the audit causing the shutdown. 관리자는 단일 사용자 모드에서 SQL ServerSQL Server –m 플래그를 사용하여 를 시작함으로써 감사로 인한 종료를 무시할 수 있습니다.An administrator can bypass audit-induced shutdowns by starting SQL ServerSQL Server in Single User mode using the –m flag. 단일 사용자 모드에서 시작하면 ON_FAILURE=SHUTDOWN이 지정된 모든 감사를 해당 세션에서 ON_FAILURE=CONTINUE로 실행되도록 다운그레이드할 수 있습니다.If you start in Single User mode, you will downgrade any audit where ON_FAILURE=SHUTDOWN is specified to run in that session as ON_FAILURE=CONTINUE. SQL ServerSQL Server –m 플래그를 사용하여 를 시작하면 MSG_AUDIT_SHUTDOWN_BYPASSED 메시지가 오류 로그에 기록됩니다.When SQL ServerSQL Server is started by using the –m flag, the MSG_AUDIT_SHUTDOWN_BYPASSED message will be written to the error log.

서비스 시작 옵션에 대한 자세한 내용은 데이터베이스 엔진 서비스 시작 옵션을 참조하세요.For more information about service startup options, see Database Engine Service Startup Options.

감사가 정의된 데이터베이스 연결Attaching a Database with an Audit Defined

감사 사양이 있고 서버에 존재하지 않는 GUID를 지정하는 데이터베이스를 연결하면 분리된 감사 사양이 발생합니다.Attaching a database that has an audit specification and specifies a GUID that does not exist on the server will cause an orphaned audit specification. 서버 인스턴스에 GUID가 일치하는 감사가 없으므로 감사 이벤트가 기록되지 않습니다.Because an audit with a matching GUID does not exist on the server instance, no audit events will be recorded. 이 상황을 해결하려면 ALTER DATABASE AUDIT SPECIFICATION 명령을 사용하여 분리된 감사 사양을 기존의 서버 감사에 연결합니다.To correct this situation, use the ALTER DATABASE AUDIT SPECIFICATION command to connect the orphaned audit specification to an existing server audit. 또는 CREATE SERVER AUDIT 명령을 사용하여 지정된 GUID를 가진 새 서버 감사를 만듭니다.Or, use the CREATE SERVER AUDIT command to create a new server audit with the specified GUID.

감사 사양이 정의된 데이터베이스를 SQL ServerSQL Server Audit를 지원하지 않는 다른 버전의 SQL ServerSQL Server (예: SQL Server ExpressSQL Server Express )에 연결할 수 있지만 이때 감사 이벤트는 기록되지 않습니다.You can attach a database that has an audit specification defined on it to another edition of SQL ServerSQL Server that does not support SQL ServerSQL Server audit, such as SQL Server ExpressSQL Server Express but it will not record audit events.

데이터베이스 미러링 및 SQL Server AuditDatabase Mirroring and SQL Server Audit

데이터베이스 감사 사양이 정의되어 있고 데이터베이스 미러링을 사용하는 데이터베이스는 데이터베이스 감사 사양을 포함합니다.A database that has a database audit specification defined and that uses database mirroring will include the database audit specification. 미러링된 SQL 인스턴스에서 올바르게 작동하려면 다음 항목을 구성해야 합니다.To work correctly on the mirrored SQL instance, the following items must be configured:

  • 데이터베이스 감사 사양을 활성화하여 감사 레코드를 작성할 수 있도록 하려면 미러 서버에 동일한 GUID를 가진 감사가 있어야 합니다.The mirror server must have an audit with the same GUID to enable the database audit specification to write audit records. 이러한 감사는 CREATE AUDIT WITH GUID=<원본 서버 감사의 GUID> 명령을 사용하여 구성할 수 있습니다.This can be configured by using the command CREATE AUDIT WITH GUID=<GUID from source Server Audit>.

  • 이진 파일 대상의 경우 미러 서버 서비스 계정에 감사 내역이 작성될 위치에 대한 적절한 권한이 있어야 합니다.For binary file targets, the mirror server service account must have appropriate permissions to the location where the audit trail is being written.

  • Windows 이벤트 로그 대상의 경우 미러 서버가 위치한 컴퓨터의 보안 정책이 보안 또는 응용 프로그램 이벤트 로그에 대한 서비스 계정 액세스를 허용해야 합니다.For Windows event log targets, the security policy on the computer where the mirror server is located must allow for service account access to the security or application event log.

감사 관리자Auditing Administrators

sysadmin 고정 서버 역할의 멤버는 각 데이터베이스에서 dbo 사용자로 식별됩니다.Members of the sysadmin fixed server role are identified as the dbo user in each database. 관리자 작업을 감사하기 위해서는 dbo 사용자의 작업을 감사합니다.To audit actions of the administrators, audit the actions of the dbo user.

Transact-SQL로 감사 생성 및 관리Creating and Managing Audits with Transact-SQL

DDL 문, 동적 관리 뷰/함수 및 카탈로그 뷰를 사용하여 SQL ServerSQL Server Audit의 모든 측면을 구현할 수 있습니다.You can use DDL statements, dynamic management views and functions, and catalog views to implement all aspects of SQL ServerSQL Server Audit.

데이터 정의 언어 문Data Definition Language Statements

다음 DDL 문을 사용하여 감사 사양을 생성, 변경 및 삭제할 수 있습니다.You can use the following DDL statements to create, alter, and drop audit specifications:

ALTER AUTHORIZATIONALTER AUTHORIZATION CREATE SERVER AUDITCREATE SERVER AUDIT
ALTER DATABASE AUDIT SPECIFICATIONALTER DATABASE AUDIT SPECIFICATION CREATE SERVER AUDIT SPECIFICATIONCREATE SERVER AUDIT SPECIFICATION
ALTER SERVER AUDITALTER SERVER AUDIT DROP DATABASE AUDIT SPECIFICATIONDROP DATABASE AUDIT SPECIFICATION
ALTER SERVER AUDIT SPECIFICATIONALTER SERVER AUDIT SPECIFICATION DROP SERVER AUDITDROP SERVER AUDIT
CREATE DATABASE AUDIT SPECIFICATIONCREATE DATABASE AUDIT SPECIFICATION DROP SERVER AUDIT SPECIFICATIONDROP SERVER AUDIT SPECIFICATION

동적 뷰 및 함수Dynamic Views and Functions

다음 표에서는 SQL ServerSQL Server Audit에 사용할 수 있는 동적 뷰 및 함수를 나열합니다.The following table lists the dynamic views and function that you can use for SQL ServerSQL Server Auditing.

동적 뷰 및 함수Dynamic views and functions DescriptionDescription
sys.dm_audit_actionssys.dm_audit_actions 감사 로그에 보고할 수 있는 모든 감사 동작 및 SQL ServerSQL Server Audit의 일부로 구성할 수 있는 모든 감사 동작 그룹에 대한 행을 반환합니다.Returns a row for every audit action that can be reported in the audit log and every audit action group that can be configured as part of SQL ServerSQL Server Audit.
sys.dm_server_audit_statussys.dm_server_audit_status 감사의 현재 상태에 대한 정보를 제공합니다.Provides information about the current state of the audit.
sys.dm_audit_class_type_mapsys.dm_audit_class_type_map 감사 로그의 class_type 필드를 sys.dm_audit_actions의 class_desc 필드에 매핑하는 테이블을 반환합니다.Returns a table that maps the class_type field in the audit log to the class_desc field in sys.dm_audit_actions.
fn_get_audit_filefn_get_audit_file 서버 감사에 의해 생성된 감사 파일로부터 정보를 반환합니다.Returns information from an audit file created by a server audit.

카탈로그 뷰Catalog Views

다음 표에서는 SQL ServerSQL Server Audit에 사용할 수 있는 카탈로그 뷰를 나열합니다.The following table lists the catalog views that you can use for SQL ServerSQL Server auditing.

카탈로그 뷰Catalog views DescriptionDescription
sys.database_ audit_specificationssys.database_ audit_specifications 서버 인스턴스에 있는 SQL ServerSQL Server Audit의 데이터베이스 감사 사양 정보를 포함합니다.Contains information about the database audit specifications in a SQL ServerSQL Server audit on a server instance.
sys.database_audit_specification_detailssys.database_audit_specification_details 서버 인스턴스에 있는 모든 데이터베이스에 대한 SQL ServerSQL Server Audit의 데이터베이스 감사 사양 정보를 포함합니다.Contains information about the database audit specifications in a SQL ServerSQL Server audit on a server instance for all databases.
sys.server_auditssys.server_audits 서버 인스턴스에 있는 각 SQL ServerSQL Server Audit에 대해 하나의 행을 포함합니다.Contains one row for each SQL ServerSQL Server audit in a server instance.
sys.server_audit_specificationssys.server_audit_specifications 서버 인스턴스에 있는 SQL ServerSQL Server Audit의 서버 감사 사양 정보를 포함합니다.Contains information about the server audit specifications in a SQL ServerSQL Server audit on a server instance.
sys.server_audit_specifications_detailssys.server_audit_specifications_details 서버 인스턴스에 있는 SQL ServerSQL Server Audit의 서버 감사 사양 세부 정보(동작)를 포함합니다.Contains information about the server audit specification details (actions) in a SQL ServerSQL Server audit on a server instance.
sys.server_file_auditssys.server_file_audits 서버 인스턴스에 있는 SQL ServerSQL Server Audit의 파일 감사 유형에 대한 확장 정보를 저장합니다.Contains stores extended information about the file audit type in a SQL ServerSQL Server audit on a server instance.

사용 권한Permissions

SQL ServerSQL Server Audit의 기능과 명령마다 필요한 사용 권한이 있습니다.Each feature and command for SQL ServerSQL Server Audit has individual permission requirements.

서버 감사나 서버 감사 사양을 생성, 변경 또는 삭제하려면 서버 보안 주체에 ALTER ANY SERVER AUDIT 또는 CONTROL SERVER 권한이 있어야 합니다.To create, alter, or drop a Server Audit or Server Audit Specification, server principals require the ALTER ANY SERVER AUDIT or the CONTROL SERVER permission. 데이터베이스 감사 사양을 생성, 변경 또는 삭제하려면 데이터베이스 보안 주체에 ALTER ANY DATABASE AUDIT 권한이나 데이터베이스에 대한 ALTER 또는 CONTROL 권한이 있어야 합니다.To create, alter, or drop a Database Audit Specification, database principals require the ALTER ANY DATABASE AUDIT permission or the ALTER or CONTROL permission on the database. 또한 데이터베이스에 연결할 수 있는 권한이나 ALTER ANY SERVER AUDIT 또는 CONTROL SERVER 권한이 보안 주체에 있어야 합니다.In addition, principals must have permission to connect to the database, or ALTER ANY SERVER AUDIT or CONTROL SERVER permissions.

VIEW ANY DEFINITION 권한이 있으면 서버 수준 감사 뷰 보기 권한이 제공되고, VIEW DEFINITION 권한이 있으면 데이터베이스 수준 감사 뷰 보기 권한이 제공됩니다.The VIEW ANY DEFINITION permission provides access to view the server level audit views and VIEW DEFINITION provides access to view the database level audit views. 이러한 권한을 거부하면 보안 주체에게 ALTER ANY SERVER AUDIT 또는 ALTER ANY DATABASE AUDIT 권한이 있더라도 카탈로그 뷰 보기 기능이 재정의됩니다.Denial of these permissions, overrides the ability to view the catalog views, even if the principal has the ALTER ANY SERVER AUDIT or ALTER ANY DATABASE AUDIT permissions.

권한 및 사용 권한을 부여하는 방법은 GRANT(Transact-SQL)를 참조하세요.For more information about how to grant rights and permissions, see GRANT (Transact-SQL).

주의

sysadmin 역할의 보안 주체는 모든 감사 구성 요소를 변경할 수 있으며 db_owner 역할의 보안 주체는 데이터베이스의 감사 사양을 변경할 수 있습니다.Principals in the sysadmin role can tamper with any audit component and those in the db_owner role can tamper with audit specifications in a database. SQL ServerSQL Server Audit는 감사 사양을 만들거나 변경하는 로그온에 ALTER ANY DATABASE AUDIT 이상의 권한이 있는지 확인합니다. Audit will validate that a logon that creates or alters an audit specification has at least the ALTER ANY DATABASE AUDIT permission. 하지만 데이터베이스를 연결할 때는 이를 확인하지 않습니다.However, it does no validation when you attach a database. 모든 데이터베이스 감사 사양을 sysadmin 또는 db_owner 역할의 보안 주체만큼만 신뢰할 수 있다고 간주해야 합니다.You should assume all Database Audit Specifications are only as trustworthy as those principals in the sysadmin or db_owner role.

서버 감사 및 서버 감사 사양 만들기Create a Server Audit and Server Audit Specification

서버 감사 및 데이터베이스 감사 사양 만들기Create a Server Audit and Database Audit Specification

SQL Server 감사 로그 보기View a SQL Server Audit Log

보안 로그에 SQL Server 감사 이벤트 쓰기Write SQL Server Audit Events to the Security Log

서버 속성(보안 페이지)Server Properties (Security Page)
SQL ServerSQL Server에 대한 로그인 감사를 설정하는 방법에 대해 설명합니다.Explains how to turn on login auditing for SQL ServerSQL Server. 감사 레코드는 Windows 응용 프로그램 로그에 저장됩니다.The audit records are stored in the Windows application log.

c2 audit mode 서버 구성 옵션c2 audit mode Server Configuration Option
SQL ServerSQL Server의 C2 보안 정책 준수 감사 모드에 대해 설명합니다.Explains the C2 security compliance auditing mode in SQL ServerSQL Server.

Security Audit 이벤트 범주(SQL Server Profiler)Security Audit Event Category (SQL Server Profiler)
SQL Server 프로파일러SQL Server Profiler에서 사용할 수 있는 감사 이벤트에 대해 설명합니다.Explains the audit events you can use in SQL Server 프로파일러SQL Server Profiler. 자세한 내용은 SQL Server Profiler를 참조하세요.For more information, see SQL Server Profiler.

SQL 추적SQL Trace
SQL ServerSQL Server 프로파일러를 사용하지 않고 사용자의 응용 프로그램 내에서 SQL 추적을 사용하여 수동으로 추적을 만드는 방법에 대해 설명합니다.Explains how SQL Trace can be used from within your own applications to create traces manually, instead of using SQL ServerSQL Server Profiler.

DDL 트리거DDL Triggers
DDL(데이터 정의 언어) 트리거를 사용하여 데이터베이스 변경 내용을 추적할 수 있는 방법에 대해 설명합니다.Explains how you can use Data Definition Language (DDL) triggers to track changes to your databases.

Microsoft TechNet: SQL Server TechCenter: SQL Server 2005 보안 및 보호Microsoft TechNet: SQL Server TechCenter: SQL Server 2005 Security and Protection
SQL ServerSQL Server 보안에 대한 최신 정보를 제공합니다.Provides up-to-date information about SQL ServerSQL Server security.

관련 항목:See Also

SQL Server 감사 동작 그룹 및 동작 SQL Server Audit Action Groups and Actions
SQL Server 감사 기록 SQL Server Audit Records