CloudTrail의 이벤트 기록
을 CloudWatch 로그 그룹
으로 전달하는 방법입니다.IAM 사용자에게 역할에 대한 조작을 할 수 있는 권한들이 포함된 정책
을 연결합니다.
IAM 사용자가 관리자 권한을 가지고 있다면 이 과정을 생략해도 됩니다.
이 과정이 필요한 이유는 아래에 CloudTrail
에서 추적
을 생성할 때 CloudWatch 로그 그룹
에 이벤트를 성공적으로 전달하기 위한 역할을 생성하고 구성하는 과정이 있기 때문입니다.
{
"Version": "2012-10-17",
"Statement": [{
"Effect": "Allow",
"Action": [
"iam:CreateRole",
"iam:PutRolePolicy",
"iam:AttachRolePolicy",
"iam:ListRoles",
"iam:GetRolePolicy",
"iam:GetUser"
],
"Resource": "*"
}]
}
=> AWS 공식 문서 - 추적 생성를 참고했습니다.
추적
> 추적 생성
을 선택합니다.S3 버킷
을 선택합니다.새 S3 버킷 생성
을 선택하여 버킷을 생성합니다. 버킷을 생성하면 CloudTrail은 필요한 버킷 정책을 생성하고 적용합니다.
기존 S3 버킷 사용
을 선택해 기존 버킷을 선택할 수 있습니다.
로그를 더 쉽게 찾을 수 있도록 기존 버킷에 새 폴더(또는 ‘접두사’)를 생성하여 CloudTrail 로그를 저장할 수 있습니다. 접두사
에 접두사를 입력합니다.
SSE-KMS
를 사용하여 로그 파일을 암호화하려면 활성화됨
을 선택합니다.신규
또는 기존
를 선택합니다. 신규
를 선택한 경우 AWS KMS 별칭
에서 alias/MyAliasName
형식으로 별칭을 지정합니다.기존
을 선택한 경우 AWS KMS key
를 선택합니다.추가 설정
을 진행합니다.로그 파일 검증
: 로그 다이제스트 파일
을 S3 버킷에 전달합니다. 다이제스트 파일을 사용하면 CloudTrail이 로그 파일을 전달한 후 해당 파일이 변경되지 않았는지 확인할 수 있습니다.(로그 파일 무결성 검증
)
SNS 알림 전송
: 로그가 버킷에 전달될 때마다 알림을 받습니다. CloudTrail은 여러 이벤트를 로그 파일에 저장합니다. 여기서는 모든 이벤트가 아니라 모든 로그 파일
에 대해 SNS 알림이 전송됩니다.
SNS 알림 전송
을 활성화하게 되면 아래와 같이 SNS 주제
를 생성하거나, 기존의 주제를 선택할 수 있습니다.
로그 그룹을 새로 생성할 경우 아래와 같이 로그 그룹 이름을 작성합니다.
기존의 로그 그룹을 지정할 경우 기존
을 선택합니다.
신규
역할을 생성하고, 역할 이름을 CloudTrailRoleForCloudWatchLogs
으로 지정합니다.
역할에 대한 정책은 아래와 같습니다.
CloudTrail
은 이 역할을 수임해 CloudWatch 로그 그룹
으로 이벤트를 전송할 수 있게 됩니다.
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AWSCloudTrailCreateLogStream2014110",
"Effect": "Allow",
"Action": [
"logs:CreateLogStream"
],
"Resource": [
"arn:aws:logs:ap-northeast-2:797587922006:log-group:test-hyeob-aws-cloudtrail-logs-797587922006-99a53fe4:log-stream:797587922006_CloudTrail_ap-northeast-2*"
]
},
{
"Sid": "AWSCloudTrailPutLogEvents20141101",
"Effect": "Allow",
"Action": [
"logs:PutLogEvents"
],
"Resource": [
"arn:aws:logs:ap-northeast-2:797587922006:log-group:test-hyeob-aws-cloudtrail-logs-797587922006-99a53fe4:log-stream:797587922006_CloudTrail_ap-northeast-2*"
]
}
]
}
=> AWS 공식 문서 - 추적 생성를 참고했습니다.
로그 이벤트 선택
페이지에서 로그하려는 이벤트 유형을 선택합니다.추적이 읽기
이벤트, 쓰기
이벤트 또는 둘 다를 로그하도록 할지 선택합니다.
AWS KMS 이벤트 제외
를 선택하여 추적에서 AWS KMS
이벤트를 필터링합니다.
기본 설정은 모든 AWS KMS 이벤트를 포함하는 것입니다.
다른 이벤트를 선택할 경우 항상 AWS KMS 이벤트는 포함됩니다.
Amazon RDS Data API 이벤트 제외
를 선택하여 추적에서 Amazon RDS Data API 이벤트
를 필터링합니다.
기본 설정은 모든 Amazon RDS Data API 이벤트를 포함하는 것입니다.
데이터 이벤트는 리소스에 대해 또는 리소스 내에서 수행된 리소스 작업에 대한 정보를 표시합니다.
아래 항목에 대한 이벤트를 로깅합니다.
추적이 CloudTrail Insights
이벤트를 로그하도록 하려면 Insights 이벤트
를 선택합니다
CloudTrail Insights
는 비정상적인 활동에 대한 관리 이벤트를 분석하고 이상이 감지되면 이벤트를 로그합니다.
Insights 이벤트는 추적 세부 정보 페이지의 스토리지 위치
영역에 지정된 동일한 S3 버킷의 /CloudTrail-Insight 라는 이름의 폴더에 전달
됩니다.
CloudWatch 콘솔을 엽니다.
로그 그룹
> 추적에 대해 지정한 로그 그룹
을 선택합니다.
로그 스트림 이름을 선택하면 이벤트에 대해 JSON 형식으로 나타나는 것을 볼 수 있습니다.