

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 將追蹤事件複製到 CloudTrail Lake
<a name="cloudtrail-copy-trail-to-lake"></a>

您可以將現有追蹤事件複製到 CloudTrail Lake 事件資料存放區，以建立記錄至追蹤之事件的時間點快照。複製追蹤事件不會干擾追蹤記錄事件的功能，也不會以任何方式修改追蹤。

您可以將追蹤事件複製到為 CloudTrail 事件設定的現有事件資料存放區，或者您可以建立一個新的 CloudTrail 事件資料存放區，然後在建立事件資料存放區的過程中選擇**複製追蹤事件**選項。如需有關將追蹤事件複製到現有事件資料存放區的詳細資訊，請參閱 [使用 CloudTrail 主控台將追蹤事件複製到現有的事件資料存放區](cloudtrail-copy-trail-events.md)。如需有關建立新的事件資料存放區的詳細資訊，請參閱 [使用主控台為 CloudTrail 事件建立事件資料存放區](query-event-data-store-cloudtrail.md)。

將追蹤事件複製到 CloudTrail Lake 事件資料存放區，可讓您對複製的事件執行查詢。與事件歷史記錄中單純的索引鍵和值查詢或執行 `LookupEvents` 相比，CloudTrail Lake 查詢提供了更深入、自訂功能更多的事件檢視畫面。如需有關 CloudTrail Lake 的詳細資訊，請參閱 [使用 AWS CloudTrail Lake](cloudtrail-lake.md)。

如果您要將追蹤事件複製到組織事件資料存放區，您必須使用組織的管理帳戶。您無法使用組織的委派管理員帳戶複製追蹤事件。

CloudTrail Lake 事件資料存放區會產生費用。建立事件資料存放區時，您可以選擇要用於事件資料存放區的[定價選項](cloudtrail-lake-manage-costs.md#cloudtrail-lake-manage-costs-pricing-option)。此定價選項將決定擷取和儲存事件的成本，以及事件資料存放區的預設和最長保留期。如需有關 CloudTrail 定價和管理 Lake 成本的詳細資訊，請參閱 [AWS CloudTrail 定價](https://aws.amazon.com/cloudtrail/pricing/) 和 [管理 CloudTrail Lake 成本](cloudtrail-lake-manage-costs.md)。

在將追蹤事件複製到 CloudTrail Lake 事件資料存放區時，您需要按事件資料存放區擷取的未壓縮的資料量支付費用。

當您將追蹤事件複製到 CloudTrail Lake 時，CloudTrail 會解壓縮以 gzip (已壓縮) 格式存放的日誌，然後將日誌中的事件複製到您的事件資料存放區。未壓縮資料的大小可能大於實際的 S3 儲存大小。若要取得未壓縮資料大小的一般估計值，您可以將 S3 儲存貯體中的日誌大小乘以 10。

您可以縮小指定的複製事件的時間範圍，來降低該費用。如果您計劃只使用事件資料存放區來查詢複製的事件，可以關閉事件擷取以避免因未來事件而產生費用。如需詳細資訊，請參閱 [AWS CloudTrail 定價](https://aws.amazon.com/cloudtrail/pricing/)和 [管理 CloudTrail Lake 成本](cloudtrail-lake-manage-costs.md)。

**案例**

下表描述一些複製追蹤事件的常見案例，以及您可以如何使用主控台應對每個案例。


| 案例 | 我可以如何在主控台中加以應對？ | 
| --- | --- | 
| 分析並查詢 CloudTrail Lake 中的歷史追蹤事件，而不擷取新事件 | 建立一個[新的事件資料存放區](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/query-event-data-store-cloudtrail.html#query-event-data-store-cloudtrail-procedure)，並且在建立事件資料存放區的過程中選擇**複製追蹤事件**選項。在建立事件資料存放區時，取消選取**擷取事件** (程序中的步驟 15)，以確保事件資料存放區僅包含追蹤的歷史事件而不包含未來事件。 | 
| 使用 CloudTrail Lake 事件資料存放區取代您的現有追蹤 | 使用與建立追蹤時所使用的相同事件選取器來建立事件資料存放區，以確保事件資料存放區與您的追蹤有相同的覆蓋範圍。<br />若要避免來源追蹤和目的地事件資料存放區之間發生重複事件，請為複製的事件選擇早於事件資料存放區建立日期的日期範圍。<br />在建立您的事件資料存放區後，您可以關閉追蹤記錄，以避免產生額外費用。 | 

**Topics**
+ [複製追蹤事件的考量](#cloudtrail-trail-copy-considerations)
+ [複製追蹤事件所需的許可](#cloudtrail-copy-trail-events-permissions)
+ [使用 CloudTrail 主控台將追蹤事件複製到現有的事件資料存放區](cloudtrail-copy-trail-events.md)

## 複製追蹤事件的考量
<a name="cloudtrail-trail-copy-considerations"></a>

複製追蹤事件時，請考慮下列因素。
+  複製追蹤事件時，CloudTrail 會使用 S3 [https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html) API 操作來擷取來源 S3 儲存貯體中的追蹤事件。一些 S3 已封存儲存類別無法透過使用 `GetObject` 存取，例如 S3 Glacier Flexible Retrieval、S3 Glacier Deep Archive、S3 Outposts 和 S3 Intelligent-Tiering Deep Archive 層。若要複製儲存在這些已封存儲存類別中的追蹤事件，您必須先使用 S3 `RestoreObject` 操作還原一個複本。如需有關還原已封存物件的詳細資訊，請參閱《Amazon S3 使用者指南》**中的[還原已封存的物件](https://docs.aws.amazon.com/AmazonS3/latest/userguide/restoring-objects.html)。
+  當您將追蹤事件複製到事件資料存放區時，CloudTrail 會複製所有追蹤事件，無論目的地事件資料存放區的事件類型、進階事件選取器或組態為何 AWS 區域。
+  將追蹤事件複製到現有的事件資料存放區前，請務必先為您的使用案例妥善設定事件資料存放區的定價選項和保留期。
  + **定價選項：**定價選項決定擷取和儲存事件的成本。如需更多關於定價選項的資訊，請參閱 [AWS CloudTrail 定價](https://aws.amazon.com/cloudtrail/pricing/)和 [事件資料存放區定價選項](cloudtrail-lake-manage-costs.md#cloudtrail-lake-manage-costs-pricing-option)。
  + **保留期：**保留期決定事件資料在事件資料存放區中保留的時間長度。CloudTrail 只會複製 `eventTime` 在事件資料存放區保留期內的追蹤事件。若要決定適當的保留期，請加總您要複製的最舊事件所經歷的天數與要在事件資料存放區中保留事件的天數 (**保留期** = {{最舊事件所經歷天數}} \+ {{保留天數}})。例如，如果您要複製的最舊事件為 45 天前的事件，並希望這些事件在事件資料存放區中再保留 45 天，則可以將保留期設為 90 天。
+ 如果您要複製追蹤事件到事件資料存放區以用於調查，而且不想擷取任何未來事件，您可以停止在事件資料存放區上的擷取。在建立事件資料存放區時，取消選取**擷取事件**選項 ([程序](query-event-data-store-cloudtrail.md#query-event-data-store-cloudtrail-procedure)中的步驟 15)，以確保事件資料存放區僅包含追蹤的歷史事件而不包含未來事件。
+  複製追蹤事件之前，請停用連接到來源 S3 儲存貯體的任何存取控制清單 (ACL)，並更新目的地事件資料存放區的 S3 儲存貯體政策。如需更新 S3 儲存貯體政策的詳細資訊，請參閱 [複製追蹤事件的 Amazon S3 儲存貯體政策](#cloudtrail-copy-trail-events-permissions-s3)。如需停用 ACL 的詳細資訊，請參閱[控制物件的擁有權並停用儲存貯體的 ACL](https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html)。
+  CloudTrail 只會從來源 S3 儲存貯體中的 Gzip 壓縮日誌檔案複製追蹤事件。CloudTrail 不會從未壓縮的日誌檔案或使用 Gzip 以外格式壓縮的日誌檔案複製追蹤事件。
+  若要避免來源追蹤和目的地事件資料存放區之間發生重複事件，請為複製的事件選擇早於事件資料存放區建立日期的時間範圍。
+  根據預設，CloudTrail 只會複製包含在 S3 儲存貯體`CloudTrail`字首和`CloudTrail`字首內的字首中的 CloudTrail 事件，而不會檢查其他服務的字首 AWS 。如果您要複製其他字首中包含的 CloudTrail 事件，則必須在複製追蹤事件時選擇字首。
+  若要將追蹤事件複製到組織事件資料存放區，您必須使用組織的管理帳戶。您無法使用委派的管理員帳戶將追蹤事件複製到組織事件資料存放區。

## 複製追蹤事件所需的許可
<a name="cloudtrail-copy-trail-events-permissions"></a>

複製追蹤事件之前，請確定您擁有 IAM 角色所需的所有必要許可。如果您選擇現有的 IAM 角色來複製追蹤事件，則只需更新 IAM 角色許可。如果您選擇建立新的 IAM 角色，CloudTrail 會為角色提供所需的所有許可。

如果來源 S3 儲存貯體使用 KMS 金鑰進行資料加密，請確保 KMS 金鑰政策允許 CloudTrail 解密儲存貯體中的資料。如果來源 S3 儲存貯體使用多個 KMS 金鑰，則必須更新每個金鑰的政策以允許 CloudTrail 解密儲存貯體中的資料。

**Topics**
+ [複製追蹤事件的 IAM 許可](#cloudtrail-copy-trail-events-permissions-iam)
+ [複製追蹤事件的 Amazon S3 儲存貯體政策](#cloudtrail-copy-trail-events-permissions-s3)
+ [用於解密來源 S3 儲存貯體中資料的 KMS 金鑰政策](#cloudtrail-copy-trail-events-permissions-kms)

### 複製追蹤事件的 IAM 許可
<a name="cloudtrail-copy-trail-events-permissions-iam"></a>

複製追蹤事件時，您可以選擇建立新的 IAM 角色，也可以使用現有的 IAM 角色。當您選擇新的 IAM 角色時，CloudTrail 會建立具有所需許可的 IAM 角色，您不需要進一步採取任何動作。

如果您選擇現有的角色，請確保 IAM 角色的政策允許 CloudTrail 從來源 S3 儲存貯體複製追蹤事件。此區段提供所需 IAM 角色許可和信任政策的範例。

下列範例提供許可政策，允許 CloudTrail 從來源 S3 儲存貯體複製追蹤事件。將 {{amzn-s3-demo-bucket}}、{{myAccountID}}、 {{region}}、 {{prefix}} 和 {{eventDataStoreId}} 取代為您的組態的適當值。{{myAccountID}} 是用於 CloudTrail Lake AWS 的帳戶 ID，可能與 S3 儲存貯體 AWS 的帳戶 ID 不同。

使用用於加密來源 S3 儲存貯體的 KMS 金鑰的值來取代 {{key-region}}、{{keyAccountID}} 和 {{keyID}}。如果來源 S3 儲存貯體不使用 KMS 金鑰進行加密，則您可以省略 `AWSCloudTrailImportKeyAccess` 陳述式。

```
{
  "Version": "2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "AWSCloudTrailImportBucketAccess",
      "Effect": "Allow",
      "Action": ["s3:ListBucket", "s3:GetBucketAcl"],
      "Resource": [
        "arn:aws:s3:::{{amzn-s3-demo-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:::{{amzn-s3-demo-bucket}}/{{prefix}}",
        "arn:aws:s3:::{{amzn-s3-demo-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 信任政策，允許 CloudTrail 擔任 IAM 角色，從來源 S3 儲存貯體複製追蹤事件。將 {{myAccountID}}、{{region}} 和 {{eventDataStoreArn}} 取代為適當的組態值。{{myAccountID}} 是用於 CloudTrail Lake 的 AWS 帳戶 ID，可能與 S3 儲存貯體 AWS 的帳戶 ID 不同。

```
{
  "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 儲存貯體政策
<a name="cloudtrail-copy-trail-events-permissions-s3"></a>

根據預設，所有 Amazon S3 儲存貯體和物件皆為私有。只有資源擁有者 (建立儲存貯體的 AWS 帳戶)，可存取儲存貯體及其包含的物件。資源擁有者可藉由編寫存取政策，將存取許可授予其他資源和使用者。

複製追蹤事件之前，您必須更新 S3 儲存貯體政策，以允許 CloudTrail 從來源 S3 儲存貯體複製追蹤事件。

您可以將下列陳述式新增至 S3 儲存貯體政策，以授予這些許可。將 {{roleArn}} 和 {{amzn-s3-demo-bucket}} 取代為您的組態的適當值。

****

```
{
  "Sid": "AWSCloudTrailImportBucketAccess",
  "Effect": "Allow",
  "Action": [
    "s3:ListBucket",
    "s3:GetBucketAcl",
    "s3:GetObject"
  ],
  "Principal": {
    "AWS": "{{roleArn}}"
  },
  "Resource": [
    "arn:aws:s3:::{{amzn-s3-demo-bucket}}",
    "arn:aws:s3:::{{amzn-s3-demo-bucket}}/*"
  ]
},
```

### 用於解密來源 S3 儲存貯體中資料的 KMS 金鑰政策
<a name="cloudtrail-copy-trail-events-permissions-kms"></a>

如果來源 S3 儲存貯體使用 KMS 金鑰進行資料加密，請確保 KMS 金鑰政策為 CloudTrail 提供從已啟用 SSE-KMS 加密的 S3 儲存貯體複製追蹤事件所需的 `kms:Decrypt` 和 `kms:GenerateDataKey` 許可。如果您的來源 S3 儲存貯體使用多個 KMS 金鑰，則必須更新每個金鑰的政策。更新 KMS 金鑰政策可讓 CloudTrail 解密來源 S3 儲存貯體中的資料、執行驗證檢查以確保事件符合 CloudTrail 標準，以及將事件複製到 CloudTrail Lake 事件資料存放區。

下列範例提供 KMS 金鑰政策，該政策允許 CloudTrail 解密來源 S3 儲存貯體中的資料。將 {{roleArn}}、{{amzn-s3-demo-bucket}}、{{myAccountID}}、{{region}} 和 {{eventDataStoreId}} 取代為您的組態的適當值。{{myAccountID}} 是用於 CloudTrail Lake AWS 的帳戶 ID，可能與 S3 儲存貯體 AWS 的帳戶 ID 不同。

```
{
  "Sid": "AWSCloudTrailImportDecrypt",
  "Effect": "Allow",
  "Action": [
          "kms:Decrypt",
          "kms:GenerateDataKey"
  ],
  "Principal": {
    "AWS": "{{roleArn}}"
  },
  "Resource": "*",
  "Condition": {
    "StringLike": {
      "kms:EncryptionContext:aws:s3:arn": "arn:aws:s3:::{{amzn-s3-demo-bucket}}/*"
    },
    "StringEquals": {
      "aws:SourceAccount": "{{myAccountID}}",
      "aws:SourceArn": "arn:aws:cloudtrail:{{region}}:{{myAccountID}}:eventdatastore/{{eventDataStoreId}}"
    }
  }
}
```