

# Amazon RDS for Microsoft SQL Server에 대한 감사 정책 구성
<a name="DBActivityStreams.configuring-auditing-SQLServer"></a>

SQL Server 데이터베이스 인스턴스에는 Amazon RDS에서 관리하는 서버 감사(`RDS_DAS_AUDIT`)가 있습니다. 정책을 정의하여 서버 감사 사양(`RDS_DAS_SERVER_AUDIT_SPEC`)에 서버 이벤트를 기록할 수 있습니다. 데이터베이스 감사 사양(예: `RDS_DAS_DB_<name>`)을 생성하고 데이터베이스 이벤트를 기록하는 정책을 정의할 수 있습니다. 서버 및 데이터베이스 수준 감사 작업 그룹 목록은 **Microsoft SQL Server 설명서의 [SQL Server 감사 작업 그룹 및 작업](https://learn.microsoft.com/en-us/sql/relational-databases/security/auditing/sql-server-audit-action-groups-and-actions)을 참조하세요.

기본 서버 정책은 실패한 로그인과 데이터베이스 활동 스트림에 대한 데이터베이스 또는 서버 감사 사양의 변경만 모니터링합니다.

감사 및 감사 사양에 대한 제한 사항은 다음과 같습니다.
+ 데이터베이스 활동 스트림이 **잠긴 상태일 때는 서버 또는 데이터베이스 감사 사양을 수정할 수 없습니다.
+ 서버 감사 `RDS_DAS_AUDIT` 사양을 수정할 수 없습니다.
+ SQL Server 감사 `RDS_DAS_CHANGES` 또는 관련 서버 감사 사양 `RDS_DAS_CHANGES_AUDIT_SPEC`을 수정할 수 없습니다.
+ 데이터베이스 감사 사양을 만들 때는 `RDS_DAS_DB_<name>` 형식(예: `RDS_DAS_DB_databaseActions`)을 사용해야 합니다.

**중요**  
소규모 인스턴스 클래스의 경우 모든 데이터를 감사하지 않고 필요한 데이터만 감사하는 것이 좋습니다. 이렇게 하면 데이터베이스 활동 스트림이 이러한 인스턴스 클래스 성능에 미치는 영향을 줄일 수 있습니다.

다음 샘플 코드는 서버 감사 사양 `RDS_DAS_SERVER_AUDIT_SPEC`을 수정하고 로그아웃 및 성공적인 로그인 작업을 감사합니다.

```
ALTER SERVER AUDIT SPECIFICATION [RDS_DAS_SERVER_AUDIT_SPEC]
      WITH (STATE=OFF);
ALTER SERVER AUDIT SPECIFICATION [RDS_DAS_SERVER_AUDIT_SPEC]
      ADD (LOGOUT_GROUP),
      ADD (SUCCESSFUL_LOGIN_GROUP)
      WITH (STATE = ON );
```

다음 샘플 코드는 데이터베이스 감사 사양 `RDS_DAS_DB_database_spec`을 생성하여 서버 감사 `RDS_DAS_AUDIT`에 첨부합니다.

```
USE testDB;
CREATE DATABASE AUDIT SPECIFICATION [RDS_DAS_DB_database_spec]
     FOR SERVER AUDIT [RDS_DAS_AUDIT]
     ADD ( INSERT, UPDATE, DELETE  
          ON testTable BY testUser )  
     WITH (STATE = ON);
```

감사 사양을 구성한 후에는 사양 `RDS_DAS_SERVER_AUDIT_SPEC` 및 `RDS_DAS_DB_<name>`의 상태가 `ON`으로 설정되어 있는지 확인합니다. 이제 해당 사양이 감사 데이터를 데이터베이스 활동 스트림으로 보낼 수 있습니다.