추적 이벤트를 이벤트 데이터 스토어에 복사 - AWS CloudTrail

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

추적 이벤트를 이벤트 데이터 스토어에 복사

트레일 이벤트를 CloudTrail Lake 이벤트 데이터 저장소에 복사하여 트레일에 기록된 이벤트의 point-in-time 스냅샷을 생성할 수 있습니다. 추적의 이벤트를 복사해도 추적의 이벤트 로깅 기능에 지장을 주지 않으며 어떤 식으로든 추적은 수정되지 않습니다.

이벤트용으로 구성된 기존 이벤트 데이터 저장소에 트레일 CloudTrail 이벤트를 복사하거나, 새 CloudTrail 이벤트 데이터 저장소를 만들고 이벤트 데이터 저장소 생성의 일부로 트레일 이벤트 복사 옵션을 선택할 수 있습니다. 기존 이벤트 데이터 스토어에 추적 이벤트를 복사하는 방법에 대한 자세한 내용은 콘솔을 사용하여 기존 이벤트 데이터 스토어에 트레일 이벤트를 복사합니다.를 참조하세요. 새 이벤트 데이터 스토어 생성에 대한 자세한 내용은 콘솔을 사용하여 이벤트용 CloudTrail 이벤트 데이터 저장소를 생성하십시오.을 참조하세요.

추적 이벤트를 조직 이벤트 데이터 스토어에 복사하는 경우 조직의 관리 계정을 사용해야 합니다. 조직의 위임된 관리자 계정을 사용하여 추적 이벤트를 복사할 수 없습니다.

CloudTrail 레이크 이벤트 데이터 스토어에는 요금이 부과됩니다. 이벤트 데이터 스토어를 생성할 때 이벤트 데이터 스토어에 사용할 요금 옵션을 선택합니다. 요금 옵션에 따라 이벤트 모으기 및 저장 비용과 이벤트 데이터 스토어의 기본 및 최대 보존 기간이 결정됩니다. CloudTrail 가격 책정 및 Lake 비용 관리에 대한 자세한 내용은 AWS CloudTrail 요금 CloudTrail 호수 비용 관리 을 참조하십시오.

트레일 이벤트를 CloudTrail Lake 이벤트 데이터 저장소에 복사하면 이벤트 데이터 저장소가 수집하는 압축되지 않은 데이터의 양에 따라 요금이 부과됩니다.

트레일 이벤트를 CloudTrail Lake에 복사하면 gzip (압축) 형식으로 저장된 로그의 압축을 CloudTrail 풀고 로그에 포함된 이벤트를 이벤트 데이터 저장소에 복사합니다. 압축되지 않은 데이터의 크기는 실제 S3 스토리지 크기보다 클 수 있습니다. 압축되지 않은 데이터 크기에 대한 일반적인 추정치를 구하려면, S3 버킷의 로그 크기에 10을 곱하면 됩니다.

복사한 이벤트의 시간 범위를 좁혀 비용을 줄일 수 있습니다. 이벤트 데이터 스토어를 복사한 이벤트를 쿼리하기 위해서만 사용하려는 경우, 이벤트 수집을 해제하여 향후 이벤트에 대한 요금이 발생하지 않도록 할 수 있습니다. 자세한 내용은 AWS CloudTrail 요금 CloudTrail 호수 비용 관리 섹션을 참조하세요.

시나리오

다음 표는 추적 이벤트를 복사하는 몇 가지 일반적인 시나리오와 콘솔을 사용하여 각 시나리오를 수행하는 방법을 설명합니다.

시나리오 콘솔에서 이 작업을 수행하려면 어떻게 해야 하나요?

새 이벤트를 수집하지 않고도 CloudTrail Lake의 과거 트레일 이벤트를 분석하고 쿼리할 수 있습니다.

새 이벤트 데이터 스토어를 생성하고, 이벤트 데이터 스토어를 생성할 때 Copy trail events(추적 이벤트 복사) 옵션을 선택합니다. 이벤트 데이터 스토어를 만들 때, 수집 이벤트(본 절차의 15단계)를 선택 취소하여 이벤트 데이터 스토어에 추적에 대한 과거 이벤트만 저장하고, 미래 이벤트는 저장하지 않도록 합니다.

기존 트레일을 CloudTrail Lake 이벤트 데이터 스토어로 바꾸세요.

이벤트 데이터 스토어가 추적과 동일한 커버리지를 갖도록 추적과 동일한 이벤트 선택기를 사용하여 이벤트 데이터 스토어를 생성합니다.

소스 추적과 대상 이벤트 데이터 스토어 간에 이벤트가 중복되지 않도록 하려면 복사된 이벤트의 날짜 범위를 이벤트 데이터 스토어 생성 이전으로 선택합니다.

이벤트 데이터 스토어가 생성된 후에는 추가 요금이 부과되지 않도록 추적 로깅을 비활성화할 수 있습니다.

추적 이벤트 복사 시의 고려 사항

추적 이벤트를 복사할 때는 다음 요소를 고려합니다.

  • 트레일 이벤트를 복사할 때 S3 GetObjectAPI 작업을 CloudTrail 사용하여 원본 S3 버킷에서 트레일 이벤트를 검색합니다. S3 아카이브형 스토리지 클래스, 예를 들어 S3 Glacier Flexible Retrieval, S3 Glacier Deep Archive, S3 Outposts, S3 Intelligent-Tiering Deep Archive 티어 등은 GetObject를 사용하여 액세스할 수 없습니다. 이러한 아카이브된 스토리지 클래스에 저장된 추적 이벤트를 복사하려면 먼저 S3 RestoreObject 작업을 사용하여 복사본을 복원해야 합니다. 아카이브된 객체 복원에 대한 자세한 내용은 Amazon S3 사용 설명서아카이브된 객체 복원 섹션을 참조하세요.

  • 트레일 이벤트를 이벤트 데이터 스토어에 복사하면 대상 이벤트 데이터 스토어의 이벤트 유형, 고급 이벤트 선택기 등의 구성에 관계없이 모든 트레일 이벤트를 CloudTrail 복사합니다. AWS 리전

  • 기존 이벤트 데이터 스토어에 추적 이벤트를 복사하기 전에 이벤트 데이터 스토어의 요금 옵션과 보존 기간이 사용 사례에 맞게 적절하게 구성되어 있는지 확인합니다.

    • 요금 옵션: 요금 옵션에 따라 이벤트 모으기 및 저장 비용이 결정됩니다. 요금 옵션에 대한 자세한 내용은 AWS CloudTrail 요금이벤트 데이터 스토어 요금 옵션 섹션을 참조하세요.

    • 보존 기간: 보존 기간에 따라 이벤트 데이터가 이벤트 데이터 저장소에 보관되는 기간이 결정됩니다. CloudTrail 이벤트 데이터 저장소의 보존 기간 eventTime 내에 있는 트레일 이벤트만 복사합니다. 적절한 보존 기간을 결정하려면 복사하려는 가장 오래된 이벤트의 합계 (일) 와 이벤트를 이벤트 데이터 저장소에 보존하려는 일수 (보존 기간 = oldest-event-in-days+ number-days-to-retain) 를 구하십시오. 예를 들어, 복사 중인 가장 오래된 이벤트가 45일이고 이벤트 데이터 스토어에 이벤트를 추가로 45일 동안 보관하려는 경우 보존 기간을 90일로 설정합니다.

  • 조사를 위해 이벤트 데이터 스토어에 추적 이벤트를 복사하고, 향후 이벤트를 모으지 않으려면 이벤트 데이터 스토어에서 모으기를 중지할 수 있습니다. 이벤트 데이터 스토어를 만들 때, 수집 이벤트(본 절차의 15단계)를 선택 취소하여 이벤트 데이터 스토어에 추적에 대한 과거 이벤트만 저장하고, 미래 이벤트는 저장하지 않도록 합니다.

  • 추적 이벤트를 복사하기 전에 소스 S3 버킷에 연결된 모든 액세스 제어 목록(ACL)을 비활성화하고 대상 이벤트 데이터 스토어의 S3 버킷 정책을 업데이트합니다. S3 버킷 정책 업데이트에 대한 자세한 내용은 추적 이벤트 복사를 위한 Amazon S3 버킷 정책 섹션을 참조하세요. ACL 비활성화에 대한 자세한 내용은 객체 소유권 제어 및 버킷에 대해 ACL 사용 중지를 참조하세요.

  • CloudTrail 소스 S3 버킷에 있는 Gzip 압축 로그 파일의 트레일 이벤트만 복사합니다. CloudTrail 압축되지 않은 로그 파일이나 Gzip 이외의 형식을 사용하여 압축된 로그 파일의 트레일 이벤트를 복사하지 않습니다.

  • 소스 추적과 대상 이벤트 데이터 스토어 간에 이벤트가 중복되지 않도록 하려면 복사된 이벤트의 시간 범위를 이벤트 데이터 스토어 생성 이전으로 선택합니다.

  • 기본적으로 는 S3 버킷의 접두사에 포함된 CloudTrail 이벤트와 CloudTrail 접두사 내의 CloudTrail 접두사만 복사하고 다른 CloudTrail 서비스의 접두사는 확인하지 않습니다. AWS 다른 접두사에 포함된 CloudTrail 이벤트를 복사하려면 트레일 이벤트를 복사할 때 접두사를 선택해야 합니다.

  • 추적 이벤트를 조직 이벤트 데이터 스토어에 복사하려면 조직의 관리 계정을 사용해야 합니다. 위임된 관리자 계정을 사용하여 트레일 이벤트를 조직 이벤트 데이터 스토어에 복사할 수 없습니다.

추적 이벤트 복사에 필요한 권한

트레일 이벤트를 복사하기 전에 IAM 역할에 필요한 모든 권한이 있는지 확인하세요. 추적 이벤트를 복사할 기존 IAM 역할을 선택한 경우 IAM 역할 권한을 업데이트하기만 하면 됩니다. 새 IAM 역할을 생성하기로 선택한 경우 역할에 CloudTrail 필요한 모든 권한을 제공하십시오.

원본 S3 버킷이 데이터 암호화에 KMS 키를 사용하는 경우, KMS 키 정책이 버킷의 데이터 암호 CloudTrail 해독을 허용하는지 확인하십시오. 원본 S3 버킷이 여러 KMS 키를 사용하는 경우 버킷의 데이터를 해독할 수 있도록 CloudTrail 각 키의 정책을 업데이트해야 합니다.

추적 이벤트 복사를 위한 IAM 권한

추적 이벤트를 복사할 때 새 IAM 역할을 생성하거나 기존 IAM 역할을 사용할 수 있습니다. 새 IAM 역할을 선택하면 필요한 권한이 있는 IAM 역할이 CloudTrail 생성되므로 추가 조치가 필요하지 않습니다.

기존 역할을 선택하는 경우, IAM 역할의 정책이 원본 S3 버킷에서 트레일 이벤트를 CloudTrail 복사할 수 있도록 허용해야 합니다. 이 섹션에서는 필요한 IAM 역할 권한 및 신뢰 정책의 예제를 제공합니다.

다음 예는 원본 S3 버킷에서 트레일 이벤트를 CloudTrail 복사할 수 있는 권한 정책을 제공합니다. DOC-EXAMPLE-BUCKET, MyAccountID, 지역, 접두사 및 eventDataStore ID를 구성에 적합한 값으로 바꾸십시오. MyAccountID는 CloudTrail Lake에 사용되는 AWS 계정 ID이며, S3 버킷의 계정 ID와 동일하지 않을 수 있습니다. AWS

key-region, KeyAccount IDKeyID를 소스 S3 버킷 암호화에 사용하는 KMS 키 값으로 대체합니다. 원본 S3 버킷이 암호화에 KMS 키를 사용하지 않는다면 AWSCloudTrailImportKeyAccess 문을 생략할 수 있습니다.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AWSCloudTrailImportBucketAccess", "Effect": "Allow", "Action": ["s3:ListBucket", "s3:GetBucketAcl"], "Resource": [ "arn:aws:s3:::DOC-EXAMPLE-BUCKET" ], "Condition": { "StringEquals": { "aws:SourceAccount": "myAccountID", "aws:SourceArn": "arn:aws:cloudtrail:region:myAccountID:eventdataStore/eventDataStoreId" } } }, { "Sid": "AWSCloudTrailImportObjectAccess", "Effect": "Allow", "Action": ["s3:GetObject"], "Resource": [ "arn:aws:s3:::DOC-EXAMPLE-BUCKET/prefix", "arn:aws:s3:::DOC-EXAMPLE-BUCKET/prefix/*" ], "Condition": { "StringEquals": { "aws:SourceAccount": "myAccountID", "aws:SourceArn": "arn:aws:cloudtrail:region:myAccountID:eventdataStore/eventDataStoreId" } } }, { "Sid": "AWSCloudTrailImportKeyAccess", "Effect": "Allow", "Action": ["kms:GenerateDataKey","kms:Decrypt"], "Resource": [ "arn:aws:kms:key-region:keyAccountID:key/keyID" ] } ] }

다음 예는 IAM 역할을 맡아 원본 S3 버킷에서 트레일 이벤트를 CloudTrail 복사할 수 있는 IAM 신뢰 정책을 제공합니다. MyAccountID, 지역eventDataStoreArn을 구성에 적합한 값으로 바꾸십시오. MyAccountID는 CloudTrail Lake에 사용되는 AWS 계정 ID이며, 이 ID는 S3 버킷의 계정 ID와 동일하지 않을 수 있습니다. AWS

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "cloudtrail.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "myAccountID", "aws:SourceArn": "arn:aws:cloudtrail:region:myAccountID:eventdataStore/eventDataStoreId" } } } ] }

추적 이벤트 복사를 위한 Amazon S3 버킷 정책

기본적으로 Amazon S3 버킷 및 객체는 프라이빗입니다. 리소스 소유자(버킷을 생성한 AWS 계정)만 버킷과 버킷에 포함된 객체에 액세스할 수 있습니다. 리소스 소유자는 액세스 정책을 작성하여 다른 리소스 및 사용자에게 액세스 권한을 부여할 수 있습니다.

트레일 이벤트를 복사하기 전에 원본 S3 버킷에서 트레일 이벤트를 복사할 수 있도록 CloudTrail S3 버킷 정책을 업데이트해야 합니다.

S3 버킷 정책에 다음 명령문을 추가하여 이러한 권한을 부여할 수 있습니다. RoLearnDOC-EXAMPLE-BUCKET을 구성에 적합한 값으로 바꾸십시오.

{ "Sid": "AWSCloudTrailImportBucketAccess", "Effect": "Allow", "Action": [ "s3:ListBucket", "s3:GetBucketAcl", "s3:GetObject" ], "Principal": { "AWS": "roleArn" }, "Resource": [ "arn:aws:s3:::DOC-EXAMPLE-BUCKET", "arn:aws:s3:::DOC-EXAMPLE-BUCKET/*" ] },

소스 S3 버킷의 데이터 해독을 위한 KMS 키 정책

원본 S3 버킷이 데이터 암호화에 KMS 키를 사용하는 경우, KMS 키 정책이 SSE-KMS 암호화가 활성화된 S3 버킷에서 트레일 이벤트를 복사하는 데 필요한 kms:Decrypt kms:GenerateDataKey 권한과 권한을 CloudTrail 제공하는지 확인하십시오. 소스 S3 버킷에서 여러 KMS 키를 사용하는 경우, CloudTrail 각 키의 정책을 업데이트해야 합니다. KMS 키 정책을 업데이트하면 CloudTrail 원본 S3 버킷의 데이터를 해독하고, 검증 검사를 실행하여 이벤트가 CloudTrail 표준을 준수하는지 확인하고, 이벤트를 Lake 이벤트 데이터 스토어에 복사할 수 있습니다. CloudTrail

다음 예는 원본 S3 버킷의 데이터를 CloudTrail 해독할 수 있는 KMS 키 정책을 제공합니다. RoLearn, DOC-EXAMPLE-BUCKET, 내 계정 ID, 지역 및 Id를 구성에 적합한 값으로 바꾸십시오. eventDataStore MyAccountID는 CloudTrail Lake에 사용되는 AWS 계정 ID이며, S3 버킷의 계정 ID와 동일하지 않을 수 있습니다. AWS

{ "Sid": "AWSCloudTrailImportDecrypt", "Effect": "Allow", "Action": [ "kms:Decrypt", "kms:GenerateDataKey" ], "Principal": { "AWS": "roleArn" }, "Resource": "*", "Condition": { "StringLike": { "kms:EncryptionContext:aws:s3:arn": "arn:aws:s3:::DOC-EXAMPLE-BUCKET/*" }, "StringEquals": { "aws:SourceAccount": "myAccountID", "aws:SourceArn": "arn:aws:cloudtrail:region:myAccountID:eventdataStore/eventDataStoreId" } } }