감사 로그 보기
감사 로그는 D:\rdsdbdata\SQLAudit에 저장됩니다.
SQL Server가 감사 로그 파일에 파일 쓰기를 완료하면—파일이 크기 제한에 도달하면—Amazon RDS가 S3 버킷에 파일을 업로드합니다. 보존을 활성화하면 Amazon RDS가 파일을 보존 폴더 D:\rdsdbdata\SQLAudit\transmitted로 옮깁니다.
보존 구성에 대한 자세한 내용은 DB 인스턴스 옵션에 SQL Server Audit 추가 단원을 참조하십시오.
감사 레코드는 감사 로그 파일이 업로드될 때까지 DB 인스턴스에 보관됩니다. 다음 명령을 실행하여 감사 레코드를 볼 수 있습니다.
SELECT * FROM msdb.dbo.rds_fn_get_audit_file ('D:\rdsdbdata\SQLAudit\*.sqlaudit' , default , default )
같은 명령을 사용하여 필터를 D:\rdsdbdata\SQLAudit\transmitted\*.sqlaudit로 변경하여 보존 폴더의 감사 레코드를 볼 수 있습니다.
SELECT * FROM msdb.dbo.rds_fn_get_audit_file ('D:\rdsdbdata\SQLAudit\transmitted\*.sqlaudit' , default , default )
CloudWatch에서 감사 로그 레코드 보기
감사 로그를 CloudWatch에 업로드하도록 선택한 경우 다음 단계에 따라 로그 레코드(JSON 형식)에 액세스할 수 있습니다.
CloudWatch에서 감사 로그를 보려면
-
https://console.aws.amazon.com/cloudwatch/
에서 CloudWatch 콘솔을 엽니다. -
왼쪽 탐색 창에서 로그, 로그 관리를 선택합니다.
-
로그 그룹 검색 상자에 DB 인스턴스 이름을 입력합니다.
-
적절한 로그 그룹을 선택합니다.
-
로그 스트림 탭에서 로그 스트림을 선택합니다.
또는 AWS CLI를 사용하여 로그 스트림을 쿼리할 수 있습니다. 다음 예제에서는 감사 로그 이벤트를 추출하여 CSV 파일로 내보냅니다.
# Parameters # ----------- LOG_GROUP="/aws/rds/instance/<your-db-instance-id>/sqlaudit" START_DATE="2026-06-18" END_DATE="2026-06-19" OUTPUT_FILE="sql_audit_extract.csv" # Convert dates to epoch milliseconds # ----------------------------------- START_TIME=$(date -d "${START_DATE}" +%s)000 END_TIME=$(date -d "${END_DATE}" +%s)000 # Fetch log events # ---------------- # Note: --no-paginate returns all results in a single call. # For large result sets, consider using --page-size or manual pagination. RESPONSE=$(aws logs filter-log-events \ --log-group-name "${LOG_GROUP}" \ --start-time "${START_TIME}" \ --end-time "${END_TIME}" \ --output json \ --no-paginate) # Parse and export to CSV # Extract the 'message' field from each event (JSON formatted messages), # then convert to CSV using jq. # Get CSV headers from the first record # ------------------------------------- HEADERS=$(echo "${RESPONSE}" | jq -r ' [.events[0].message | fromjson | keys[]] | @csv ') # Write headers to output file # ---------------------------- echo "${HEADERS}" > "${OUTPUT_FILE}" # Write all records to output file # -------------------------------- echo "${RESPONSE}" | jq -r ' .events[].message | fromjson | [.[]] | @csv ' >> "${OUTPUT_FILE}" # Script execution summary # ------------------------- RECORD_COUNT=$(echo "${RESPONSE}" | jq '.events | length') echo "Exported ${RECORD_COUNT} records to ${OUTPUT_FILE}"