여러 계정에서 CloudTrail 로그 파일 받기 - AWS CloudTrail

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

여러 계정에서 CloudTrail 로그 파일 받기

여러 개의 로그 파일을 하나의 Amazon S3 AWS 계정 버킷으로 CloudTrail 전송할 수 있습니다. 예를 들어 계정 ID가 11111111111111, 222222222222, 3333333333 및 4444444444인 4개가 있는데, 이 네 계정 모두의 로그 파일을 계정 111111111111에 속하는 AWS 계정 버킷으로 전송하도록 구성하려는 경우를 예로 들 수 있습니다. CloudTrail 이를 달성하려면 다음 단계를 순서대로 완료하십시오.

  1. 대상 버킷이 속할 계정에서 추적을 생성합니다(이 예에서는 111111111111). 다른 계정에서는 아직 추적을 생성하지 않습니다.

    지침은 콘솔에서 추적 생성 섹션을 참조하세요.

  2. 대상 버킷의 버킷 CloudTrail 정책을 업데이트하여 계정 간 권한을 부여하십시오.

    지침은 여러 계정에 대한 버킷 정책 설정 섹션을 참조하세요.

  3. 활동을 로깅하고자 하는 다른 계정(이 예에서는 222222222222, 333333333333, 444444444444)에서 추적을 생성합니다. 각 계정에서 추적을 생성할 때, 1단계에서 지정한 계정에 속하는 Amazon S3 버킷을 지정합니다(이 예에서는 111111111111). 지침은 추가 계정에서 추적 생성 섹션을 참조하세요.

    참고

    SSE-KMS 암호화를 활성화하기로 선택한 경우 KMS 키 정책에서 키를 사용하여 로그 파일을 CloudTrail 암호화하도록 허용하고 지정한 사용자가 암호화되지 않은 형식으로 로그 파일을 읽을 수 있도록 허용해야 합니다. 키 정책의 수동 편집에 대한 자세한 내용은 에 대한 AWS KMS 주요 정책 구성 CloudTrail을 참조하세요.

다른 계정에서 호출한 데이터 이벤트에 대한 버킷 소유자 계정 ID 수정

과거에는 Amazon S3 CloudTrail 데이터 이벤트 API 호출자에서 데이터 이벤트가 활성화된 경우 데이터 이벤트에 S3 버킷 소유자의 계정 ID가 CloudTrail 표시되었습니다 (예:). AWS 계정 PutObject 버킷 소유자 계정에 S3 데이터 이벤트가 활성화되어 있지 않은 경우에도 이 문제가 발생했습니다.

이제 다음 두 조건이 모두 충족되면 resources 블록에서 S3 버킷 소유자의 계정 ID를 CloudTrail 제거합니다.

  • 데이터 이벤트 API 호출은 Amazon S3 버킷 AWS 계정 소유자와는 다릅니다.

  • API 호출자는 호출자 계정에만 해당되는 AccessDenied 오류를 수신했습니다.

API 호출이 이루어진 리소스의 소유자는 여전히 전체 이벤트를 수신합니다.

다음 이벤트 레코드 코드 조각은 예상되는 동작의 예시입니다. Historic 코드 조각에서 S3 버킷 소유자의 계정 ID 123456789012는 다른 계정의 API 호출자에게 표시됩니다. 현재 동작의 예시에서 버킷 소유자의 계정 ID는 표시되지 않습니다.

# Historic "resources": [ { "type": "AWS::S3::Object", "ARNPrefix": "arn:aws:s3:::DOC-EXAMPLE-BUCKET2/" }, { "accountId": "123456789012", "type": "AWS::S3::Bucket", "ARN": "arn:aws:s3:::DOC-EXAMPLE-BUCKET2" } ]

다음은 현재 동작입니다.

# Current "resources": [ { "type": "AWS::S3::Object", "ARNPrefix": "arn:aws:s3:::DOC-EXAMPLE-BUCKET2/" }, { "accountId": "", "type": "AWS::S3::Bucket", "ARN": "arn:aws:s3:::DOC-EXAMPLE-BUCKET2" } ]