RedShift 감사로깅 로그를 S3에 저장하는 방법에 대해 알아보자!

RedShift의 감사 로깅을 활성화 하고 S3 버킷에 저장해보자!
2023.01.24

소개

안녕하세요! 클래스메소드 금상원 입니다. 이번 블로그에서는 RedShift 감사로깅을 활성화 하고 S3에 저장하는 방법에 대해 알아 보겠습니다.

RedShift 감사 로깅이란?

Amazon Redshift의 연결 및 사용자 작업에 대한 정보를 기록하여 보안 및 문제 해결을 목적으로 데이터베이스 모니터링에 효과적인 도움을 줍니다.

저장소

  • Amazon S3 버킷 : 데이터베이스의 모니터링 작업을 담당하는 사용자를 위해 데이터 보안 기능으로 편리하게 액세스할 수 있습니다.
  • Amazon CloudWatch : 시각화 기능 및 설정 작업과 같은 CloudWatch에 내장된 기능을 사용하여 감사 로깅 데이터를 볼 수 있습니다.

로그 종류

  • 연결 로그(Connection log) : 인증 시도 횟수와 연결 및 연결 해제 정보를 로그합니다.
  • 사용자 로그(User log) : 데이터베이스 사용자 정의 변경 사항에 대한 정보를 로그합니다.
  • 사용자 작업 로그(User activity log) : 데이터베이스에서 실행하기 전에 각 쿼리를 로그합니다.

각 로그에 대한 자세한 정보는 아래의 공식 사이트에서 확인 해 주세요.

S3 버킷 정책 설정하기

위의 S3 버킷 정책 화면에서「편집」버튼을 클릭하여 아래의 코드를 수정한 후 입력합니다.

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "Put bucket policy needed for audit logging",
            "Effect": "Allow",
            "Principal": {
                "Service": "redshift.{region}.amazonaws.com"
            },
            "Action": [
                "s3:PutObject",
                "s3:GetBucketAcl"
            ],
            "Resource": [
                "{S3 ARN}",
                "{S3 ARN}/*"
            ]
        }
    ]
}

위의 코드에 대해 수정 할 부분은 아래의 항목과 같습니다.

  • {region} : 사용중인 Redshift의 리전을 입력합니다 예)ap-northeast-2
  • {S3 ARN} : 로그를 저장할 S3의 ARN을 입력합니다.

RedShift「User activity log」활성화 하기

기본적으로 User activity log는 비활성화 되어있기 때문에 따로 활성화를 해줘야 합니다.

RedShift 콘솔 화면의 왼쪽 메뉴에서「구성」탭 아래의「워크로드 관리」를 클릭합니다.

워크로드 관리 화면의 파라미터 그룹 부분의「생성」버튼을 클릭합니다.

「파라미터 그룹 이름」「설명」을 입력하고「생성」을 클릭합니다.

생성된 파라미터 그룹을 클릭한 후「파라미터 편집」버튼을 클릭합니다.

파라미터 그룹 항목내에서「enable_user_activity_logging」「true」로 설정한 후 아래의「저장」버튼을 클릭합니다.

다시 왼쪽 메뉴에서「클러스터」를 클릭합니다.

RedShift의 클러스터 콘솔화면에서 감사 로깅을 활성화 할 클러스터를 선택합니다.

클러스터 상세 화면에서 「속성」탭 오른쪽에 있는「편집」버튼을 클릭한 후「파라미터 그룹 편집」을 클릭합니다.

파라미터 그룹을 위에서 생성한 파라미터 그룹으로 변경한 후「변경 사항 저장」을 클릭하여 완료합니다.

변경이 완료되었으면「속성」탭에서 파라미터 그룹이 변경된 것을 확인할 수 있습니다.

RedShift 감사로깅 활성화 하기

클러스터의 상세 화면에서「속성」탭 에서 감사 로깅이 활성화 되어 있는지 여부를 확인할 수 있습니다.

감사 로깅을 활성화 하기 위해 오른쪽의「편집」을 클릭한 후「감사 로깅 편집」을 클릭 합니다.

감사 로깅 구성에서「켜기」를 선택합니다.
로그 내보내기 유형에서는「S3 버킷」을 선택합니다. 버킷 이름 에서는 로그를 저장할「S3 버킷」을 선택하고「S3 키접두사」를 입력합니다.
위의 설정이 완료되면「변경 사항 저장」버튼을 클릭하여 설정을 완료 합니다.

설정이 완료되면「속성」탭에서 감사 로깅이 활성화 된것을 확인할 수 있습니다.

마무리

이번 블로그에서 RedShift 감사 로깅을 활성화 하고 S3 버킷에 저장 하는 방법에 대해 알아보았습니다.
RedShift의 감사 로깅을 안전하게 보관을 하기 원하시는 분들에게 조금이나마 도움이 되었으면 좋겠습니다.

참고 자료

본 블로그 게시글을 보시고 문의 사항이 있으신 분들은 클래스메소드코리아 (info@classmethod.kr)로 연락 주시면 빠른 시일 내 담당자가 회신 드릴 수 있도록 하겠습니다 !