CloudWatch 로그로 이벤트 전송 - AWS CloudTrail

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

CloudWatch 로그로 이벤트 전송

CloudWatch Logs에 이벤트를 보내도록 트레일을 구성하면 트레일 설정과 일치하는 이벤트만 CloudTrail 전송합니다. 예를 들어 데이터 이벤트만 기록하도록 트레일을 구성하면 트레일은 데이터 이벤트를 로그 CloudWatch 로그 그룹에만 보냅니다. CloudTrail CloudWatch Logs에 데이터, 인사이트 및 관리 이벤트 전송을 지원합니다. 자세한 정보는 CloudTrail 로그 파일 작업을 참조하세요.

참고

관리 계정만 콘솔을 사용하여 조직 트레일의 CloudWatch 로그 로그 그룹을 구성할 수 있습니다. 위임된 관리자는 AWS CLI CloudTrail CreateTrail 또는 UpdateTrail API 작업을 사용하여 CloudWatch 로그 로그 그룹을 구성할 수 있습니다.

CloudWatch 로그 로그 그룹에 이벤트를 보내려면:

  • IAM 역할을 생성하거나 지정할 수 있는 충분한 권한이 있는지 확인합니다. 자세한 정보는 콘솔에서 Amazon CloudWatch Logs 정보를 보고 구성할 수 있는 권한 부여 CloudTrail 을 참조하세요.

  • 를 사용하여 로그 CloudWatch 로그 그룹을 구성하는 경우 지정한 로그 그룹에 로그 로그 스트림을 생성하고 해당 CloudWatch 로그 스트림에 CloudTrail 이벤트를 전달할 수 있는 충분한 권한이 있어야 합니다. AWS CLI자세한 정보는 정책 문서 생성을 참조하세요.

  • 새 추적을 생성하거나 기존 추적을 지정합니다. 자세한 내용은 콘솔을 사용하여 추적 생성 및 업데이트 단원을 참조하세요.

  • 로그 그룹을 생성하거나 기존 로그 그룹을 지정합니다.

  • IAM 역할을 지정합니다. 조직 추적에 대한 기존 IAM 역할을 수정하는 경우 조직 추적에 대한 로깅을 허용하도록 정책을 수동으로 업데이트해야 합니다. 자세한 내용은 이 정책 예제조직에 대한 추적 생성을 참조하십시오.

  • 역할 정책을 연결하거나 기본값을 사용합니다.

콘솔을 통한 CloudWatch 로그 모니터링 구성

를 사용하여 모니터링을 AWS Management Console 위해 CloudWatch Logs로 이벤트를 전송하도록 트레일을 구성할 수 있습니다.

로그 그룹 생성 또는 기존 로그 그룹 지정

CloudTrail 로그 CloudWatch 로그 그룹을 로그 이벤트의 전송 엔드포인트로 사용합니다. 로그 그룹을 생성하거나 기존 로그 그룹을 지정할 수 있습니다.

로그 그룹 생성 또는 기존 로그 그룹 지정
  1. CloudWatch 로그 통합을 구성할 수 있는 충분한 권한이 있는 관리자 또는 역할을 사용하여 로그인해야 합니다. 자세한 정보는 콘솔에서 Amazon CloudWatch Logs 정보를 보고 구성할 수 있는 권한 부여 CloudTrail 을 참조하세요.

    참고

    관리 계정만 콘솔을 사용하여 조직 트레일의 CloudWatch 로그 로그 그룹을 구성할 수 있습니다. 위임된 관리자는 AWS CLI CloudTrail CreateTrail 또는 UpdateTrail API 작업을 사용하여 CloudWatch 로그 로그 그룹을 구성할 수 있습니다.

  2. https://console.aws.amazon.com/cloudtrail/ 에서 CloudTrail 콘솔을 엽니다.

  3. 추적 이름을 선택합니다. 모든 리전에 적용되는 추적을 선택하는 경우 추적이 생성된 리전으로 리디렉션됩니다. 로그 그룹을 생성하거나 추적과 동일한 리전에서 기존의 로그 그룹을 선택할 수 있습니다.

    참고

    모든 지역에 적용되는 트레일은 모든 지역의 로그 파일을 지정한 로그 CloudWatch 로그 그룹으로 전송합니다.

  4. CloudWatch 로그에서 편집을 선택합니다.

  5. CloudWatch 로그의 경우 활성화를 선택합니다.

  6. [로그 그룹 이름(Log group name)] 경우 [신규(New)]를 선택하여 새 로그 그룹을 생성하거나, [기존(Existing)]을 선택하여 기존 그룹을 사용합니다. 새로 만들기를 선택한 경우 새 로그 그룹의 이름을 CloudTrail 지정하거나 이름을 직접 입력할 수 있습니다. 이름 지정에 대한 자세한 내용은 CloudWatch 로그 그룹 및 로그 스트림 이름 지정 CloudTrail 섹션을 참조하세요.

  7. [기존(Existing)]을 선택하는 경우 드롭다운 목록에서 로그 그룹을 선택합니다.

  8. [역할 이름] 에서 [New] 를 선택하여 로그를 로그로 전송할 수 있는 권한을 위한 새 IAM 역할을 생성합니다. CloudWatch 드롭다운 목록에서 기존 IAM 역할을 선택하려면 [기존(Existing)]을 선택합니다. [정책 문서(Policy document)]를 확장하면 새 역할 또는 기존 역할의 정책 문이 표시됩니다. 이에 대한 자세한 내용은 모니터링에 CloudWatch 로그를 CloudTrail 사용하기 위한 역할 정책 문서 단원을 참조하세요.

    참고

    추적을 구성할 때 다른 계정에 속한 S3 버킷 및 SNS 주제를 선택할 수 있습니다. 하지만 로그 CloudWatch 로그 그룹에 이벤트를 CloudTrail 전송하려면 현재 계정에 있는 로그 그룹을 선택해야 합니다.

  9. 변경 사항 저장을 선택합니다.

IAM 역할 지정

이벤트를 로그 스트림에 CloudTrail 전달하는 역할을 맡을 역할을 지정할 수 있습니다.

역할을 지정하려면
  1. 기본적으로 CloudTrail_CloudWatchLogs_Role이 지정됩니다. 기본 역할 정책에는 지정한 로그 그룹에 로그 CloudWatch 로그 스트림을 만들고 해당 로그 스트림에 CloudTrail 이벤트를 전달하는 데 필요한 권한이 있습니다.

    참고

    조직 추적에 대한 로그 그룹에 이 역할을 사용하려면, 역할을 만든 후 정책을 수동으로 수정해야 합니다. 자세한 내용은 이 정책 예제조직에 대한 추적 생성을 참조하십시오.

    1. 역할을 확인하려면 AWS Identity and Access Management 콘솔 https://console.aws.amazon.com/iam/ 으로 이동하십시오.

    2. 역할을 선택한 다음 CloudTrail_ CloudWatchLogs _Role을 선택합니다.

    3. [권한(Permissions)] 탭에서 정책을 확장하여 그 내용을 확인합니다.

  2. 다른 역할을 지정할 수 있지만, 기존 역할을 사용하여 CloudWatch Logs로 이벤트를 전송하려면 필수 역할 정책을 기존 역할에 연결해야 합니다. 자세한 정보는 모니터링에 CloudWatch 로그를 CloudTrail 사용하기 위한 역할 정책 문서을 참조하세요.

CloudWatch 콘솔에서 이벤트 보기

로그 CloudWatch 로그 그룹에 이벤트를 보내도록 트레일을 구성한 후 CloudWatch 콘솔에서 이벤트를 볼 수 있습니다. CloudTrail 일반적으로 API 호출 후 평균 약 5분 이내에 로그 그룹에 이벤트를 전송합니다. 이 시간은 보장되지 않습니다. 자세한 내용은 AWS CloudTrail 서비스 수준 계약에서 검토하세요.

CloudWatch 콘솔에서 이벤트를 보려면
  1. https://console.aws.amazon.com/cloudwatch/ 에서 CloudWatch 콘솔을 엽니다.

  2. 왼쪽 탐색 창에서 로그(Logs), 로그 그룹(Log groups)을 선택합니다.

  3. 추적에 대해 지정한 로그 그룹을 선택합니다.

  4. 확인하고자 하는 객체를 선택합니다.

  5. 추적이 로깅한 이벤트의 세부 정보를 보려면 이벤트를 선택합니다.

참고

CloudWatch 콘솔의 시간 (UTC) 열에는 이벤트가 로그 그룹에 전달된 시간이 표시됩니다. 이벤트가 기록된 CloudTrail 실제 시간을 보려면 eventTime 필드를 참조하십시오.

를 사용하여 CloudWatch 로그 모니터링 구성 AWS CLI

를 사용하여 모니터링할 이벤트를 CloudTrail CloudWatch 로그로 AWS CLI 전송하도록 구성할 수 있습니다.

로그 그룹 생성

  1. 기존 로그 그룹이 없는 경우 Logs create-log-group 명령을 사용하여 CloudWatch 로그 로그 그룹을 로그 이벤트의 전송 엔드포인트로 만드십시오. CloudWatch

    aws logs create-log-group --log-group-name name

    다음 예제에서는 CloudTrail/logs라는 로그 그룹을 생성합니다.

    aws logs create-log-group --log-group-name CloudTrail/logs
  2. 로그 그룹 Amazon 리소스 이름(ARN)을 검색합니다.

    aws logs describe-log-groups

역할 생성

로그 CloudWatch 로그 그룹에 이벤트를 전송할 수 있는 역할을 생성하십시오. CloudTrail IAM create-role 명령은 두 개의 파라미터, 즉 역할 이름 및 파일 경로(JSON 형식의 역할 수임 정책 문서를 가리킴)를 사용합니다. 사용하는 정책 문서에 따라 AssumeRole 권한이 CloudTrail 부여됩니다. create-role 명령은 필요한 권한을 가진 역할을 생성합니다.

정책 문서가 포함된 JSON 파일을 생성하려면 텍스트 편집기를 열고 assume_role_policy_document.json 파일에 다음 정책 콘텐츠를 저장합니다.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "cloudtrail.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

다음 명령을 실행하여 AssumeRole 권한이 있는 역할을 생성합니다 CloudTrail.

aws iam create-role --role-name role_name --assume-role-policy-document file://<path to assume_role_policy_document>.json

명령이 완료되면 출력에 역할 ARN이 표시됩니다.

정책 문서 생성

에 대한 다음 역할 정책 문서를 CloudTrail 생성하십시오. 이 문서는 지정한 로그 그룹에서 로그 CloudWatch 로그 스트림을 생성하고 해당 로그 스트림에 CloudTrail 이벤트를 전달하는 데 필요한 권한을 CloudTrail 부여합니다.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AWSCloudTrailCreateLogStream2014110", "Effect": "Allow", "Action": [ "logs:CreateLogStream" ], "Resource": [ "arn:aws:logs:region:accountID:log-group:log_group_name:log-stream:accountID_CloudTrail_region*" ] }, { "Sid": "AWSCloudTrailPutLogEvents20141101", "Effect": "Allow", "Action": [ "logs:PutLogEvents" ], "Resource": [ "arn:aws:logs:region:accountID:log-group:log_group_name:log-stream:accountID_CloudTrail_region*" ] } ] }

정책 문서를 role-policy-document.json 파일에 저장합니다.

조직 추적에도 사용할 수 있는 정책을 만들려면 조금 다르게 구성해야 합니다. 예를 들어 다음 정책은 지정한 로그 그룹에서 로그 CloudWatch 로그 스트림을 생성하고, 111111111111 AWS 계정의 트레일과 o-exampleorgid라는 ID로 조직에 적용되는 111111111111 계정에서 생성된 조직 트레일 모두에 대해 해당 로그 스트림에 CloudTrail 이벤트를 전달하는 데 필요한 권한을 CloudTrail 부여합니다. AWS Organizations

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AWSCloudTrailCreateLogStream20141101", "Effect": "Allow", "Action": [ "logs:CreateLogStream" ], "Resource": [ "arn:aws:logs:us-east-2:111111111111:log-group:CloudTrail/DefaultLogGroupTest:log-stream:111111111111_CloudTrail_us-east-2*", "arn:aws:logs:us-east-2:111111111111:log-group:CloudTrail/DefaultLogGroupTest:log-stream:o-exampleorgid_*" ] }, { "Sid": "AWSCloudTrailPutLogEvents20141101", "Effect": "Allow", "Action": [ "logs:PutLogEvents" ], "Resource": [ "arn:aws:logs:us-east-2:111111111111:log-group:CloudTrail/DefaultLogGroupTest:log-stream:111111111111_CloudTrail_us-east-2*", "arn:aws:logs:us-east-2:111111111111:log-group:CloudTrail/DefaultLogGroupTest:log-stream:o-exampleorgid_*" ] } ] }

조직 추적에 대한 자세한 내용은 조직에 대한 추적 생성을 참조하십시오.

다음 명령을 실행하여 정책을 역할에 적용합니다.

aws iam put-role-policy --role-name role_name --policy-name cloudtrail-policy --policy-document file://<path to role-policy-document>.json

추적 업데이트

명령을 사용하여 CloudTrail update-trail 로그 그룹 및 역할 정보로 트레일을 업데이트하십시오.

aws cloudtrail update-trail --name trail_name --cloud-watch-logs-log-group-arn log_group_arn --cloud-watch-logs-role-arn role_arn

AWS CLI 명령에 대한 자세한 내용은 AWS CloudTrail 명령줄 참조를 참조하십시오.

제한 사항

CloudWatch EventBridge 각 로그에서 허용되는 최대 이벤트 크기는 256KB입니다. 대부분의 서비스 이벤트의 최대 크기는 256KB이지만 일부 서비스에는 여전히 더 큰 이벤트가 있습니다. CloudTrail 이러한 이벤트를 CloudWatch Logs 또는 EventBridge 로 전송하지 않습니다.

CloudTrail 이벤트 버전 1.05부터 이벤트의 최대 크기는 256KB입니다. 이는 악의적인 공격자의 악용을 방지하고 로그 및 같은 CloudWatch 다른 AWS 서비스에서 이벤트가 소비될 수 있도록 하기 위한 것입니다. EventBridge