개발이야기/AWS

RDS SQL Server Audit 설정

nohesitation 2021. 8. 20. 18:24

# 1. 배경

- 고객사 AWS 환경에 DB 서버 감사 로그 설정 중에 조금 헤맸던 부분 메모

- RDS의 Option group을 설정하면, 각 DB 인스턴스 타입에 따라 설정할 수 있는 Option이 있다.

- 이번에 사용해 본 Option은 SQL Server의 Audit. 

- Option group을 설정한 뒤, SQL Server Management Studio를 이용해서 서버 감사 설정이 따로 필요하다.

- 이번 메모에서 적어두고 싶은 부분은 AWS Console에서의 조작.

 

# 2. 내용

- Option 상세 설정 시, 감사 로그 파일을 업로드할 S3와 이를 수행할 IAM Role을 선택해야 한다.

- 50MB를 최대로 설정하여 감사 로그 파일이 최대 용량을 채워 새로운 파일을 작성했을 시점에 S3에 업로드된다.

- 부가 설정에서 Retention을 설정하면 최대 15일까지 RDS 인스턴스에 보관할 수 있다.

- 작업 중에는 IAM Role을 제대로 설정하지 못해서 감사 파일들이 그대로 RDS에 남아있었고, 이 감사 파일들을 5분 간격으로 읽어 들여 CloudWatch에 출력하는 Lambda의 실행시간에 영향을 미치고 있었다.

 

# 3. 해결방안과 참고자료

- 결과적으로 IAM Role의 작성 시, Trusted Entity로 RDS를 설정하고, S3에 대한 권한을 부여해야 될 것으로 보인다.

(본인의 계정은 Role작성 권한이 없기 때문에 보고한 후에 기다려야 한다..)

- SQL Server Audit에 대한 공식 문서는 아래 링크에.. 많이 공부한 것은 아니지만, IAM이 생각보다 복잡한 것 같다.

 

https://docs.aws.amazon.com/ko_kr/AmazonRDS/latest/UserGuide/Appendix.SQLServer.Options.Audit.html#Appendix.SQLServer.Options.Audit.Support

 

SQL Server Audit - Amazon Relational Database Service

s3:ListAllMyBuckets 작업은 동일한 AWS 계정이 S3 버킷과 SQL Server DB 인스턴스를 모두 소유하고 있는지 확인하는 데 필요합니다. 이 작업은 계정에 있는 버킷의 이름을 나열합니다. S3 버킷 네임스페이

docs.aws.amazon.com

 

'개발이야기 > AWS' 카테고리의 다른 글

AWS Lambda Timeout Error의 원인과 해결방안  (2) 2021.08.19