참고 블로그 : https://easyitwanner.tistory.com/463#cloudtrail
CloudTrail
- 사용자, 역할 또는 AWS 서비스가 수행하는 작업들을 이벤트로 기록
- S3 최대 90일 보관
- 일부 AWS 서비스는 “글로벌”(작업은 로컬로 호출할 수 있지만 다른 AWS 리전에서 실행됨)로 표시되지만, 글로벌 서비스 이벤트는 CloudTrail에 기록되지 않음
로그인 이벤트
- 글로벌 서비스 이벤트로서 미국 동부(버지니아 북부)의 다중 리전 트레일에 기록됨
- 단일 리전에는 기록이 되지 않음
이벤트 기록
- 이벤트 이름
- 이벤트 시간
- 사용자 이름
- 이벤트 소스
- 리소스 유형
- 리소스 이름
- 읽기 전용
- AWS 리전
- 이벤트 ID
- AWS 액세스 키
- 소스 IP 주소
- 오류 코드
- 요청 ID
JSON 형태의 CloudTrail 로그
- 누가(who)
- 사용자
- 서비스
- 역할
- AWS 계정
이벤트이름 이벤트시간 사용자이름 이벤트소스 리소스 유형 리소스 이름
CreateBucket 2023.12.28 user01@email.com s3.amazoneaws.com AWS:::S3
{
"Records": [{
"eventVersion": "1.0",
"userIdentity": { /* ← 요청을 수행한 사용자 */
"type": "IAMUser",
"principalId": "EX_PRINCIPAL_ID",
"arn": "arn:aws:iam::123123123123:user/Alice",
"accountId": "123123123123",
"accessKeyId": "EXAMPLE_KEY_ID",
"userName": "Alice" /* ← 요청을 수행한 사용자 */
},
"requestParameters": { /* ← 요청의 주된 내용 */
"instancesSet": {
"item": [{
"instanceId": "i-abcdefg01234567890"
/* 요청의 주된 내용 */
}]
},
"force": false
},
"eventTime": "2018-03-06T21:01:59Z", /* ← 요청이 수행된 시간 */
"eventSource": "ec2.amazonaws.com",
"eventName": "StopInstances", /* ← API 호출 내용 */
"awsRegion": "us-west-2", /* ← 요청이 수행된 위치 */
"sourceIPAddress": "123.123.123.123",
"userAgent": "ec2-api-tools 1.6.12.2",
"responseElements": { /* ← 응답 내용 */
"instancesSet": {
"item": [{
"instanceId": "i-abcdefg01234567890",
"currentState": {
"code": 64,
"name": "stopping" /* ← 응답 내용 */
},
"previousState": {
"code": 16,
"name": "running"
}
}]
}
}
}]
}
리전 및 서비스 별로 로그 수집
ap-northeast-2 : 로그 수집 활성화한 리전
us-east-1 : 로그인 정보 관련 로그 (반드시 버지니아 북부에서 쌓임)
CloudTrail Digest
CloudTrail 로그 파일에 대한 메타데이터
로그 파일 무결성 확인(파일 변조 확인)
해시값, Digest 생성시간 등의 정보가 담김
CloudTrail 생성시 로그 파일 검증 활성화 하면 Digest파일이 생성된다.
'AWS > Service' 카테고리의 다른 글
AWS ALB (Application LoadBalancer) (0) | 2024.02.09 |
---|---|
AWS LandingZone (0) | 2024.01.14 |
Auto Scaling (0) | 2023.12.25 |
AWS Transfer Family (0) | 2023.12.25 |
AWS CodePipeline (0) | 2023.12.17 |