

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

# 使用 記錄 AWS Data Exchange API 呼叫 AWS CloudTrail
<a name="logging-api-calls-with-cloudtrail"></a>

 AWS Data Exchange 已與 服務整合 AWS CloudTrail，此服務會提供使用者、角色或 AWS 服務 in AWS Data Exchange. AWS CloudTrail captures 對 AWS Data Exchange API 操作的所有呼叫作為事件所採取動作的記錄，包括從 AWS Data Exchange 主控台的呼叫，以及從程式碼呼叫到 AWS Data Exchange API 操作的呼叫。

如果您建立線索，您可以將 CloudTrail 事件持續交付至 Amazon Simple Storage Service (Amazon S3) 儲存貯體，包括 的事件 AWS Data Exchange。即使您未設定追蹤，依然可以透過 CloudTrail 主控台中的**事件歷史記錄**檢視最新事件。您可以使用 CloudTrail 所收集的資訊來判斷提出的請求 AWS Data Exchange、提出請求的 IP 地址、提出請求的人員、提出請求的時間，以及其他詳細資訊。

**重要**  
您可以採取的某些動作是僅限主控台的動作。SDK AWS 或 AWS Command Line Interface () 中沒有對應的 API AWS CLI。這些是依賴 AWS Marketplace 功能的動作，例如發佈或訂閱 product。 AWS Data Exchange 會提供 CloudTrail 日誌給僅限主控台動作的子集。請參閱以下僅主控台動作清單，其中提供 CloudTrail 日誌。  
如需詳細資訊，請參閱[什麼是 AWS CloudTrail？](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/)

除了所有 [AWS Data Exchange APIs](https://docs.aws.amazon.com/data-exchange/latest/apireference) 和對應主控台動作的 CloudTrail 事件之外， AWS Data Exchange 也提供 CloudTrail 追蹤給 AWS Marketplace後端主控台限定動作的子集。 AWS Data Exchange 提供下列主控台限定動作的 CloudTrail 日誌：

**訂閱者動作**
+ 訂閱產品
+ 傳送訂閱驗證請求
+ 啟用訂閱自動續約
+ 停用訂閱自動續約
+ 取消訂閱驗證請求
+ 列出作用中訂閱
+ 檢查訂閱狀態
+ 列出目標私有優惠
+ 檢視特定產品和優惠的詳細資訊
+ 檢視特定訂閱的詳細資訊
+ 檢視特定訂閱驗證請求的詳細資訊

**供應商動作**
+ 發佈產品
+ 取消發佈產品
+ 編輯產品
+ 建立自訂優惠
+ 編輯自訂優惠
+ 核准訂閱驗證請求
+ 拒絕訂閱驗證請求
+ 刪除訂閱者的聯絡資訊
+ 列出訂閱驗證請求
+ 檢視特定訂閱驗證請求的詳細資訊
+ 傳送資料集的通知

## AWS Data Exchange CloudTrail 中的資訊
<a name="information-in-cloudtrail"></a>

CloudTrail 會在您建立 時啟用 AWS 帳戶。在 中發生活動時 AWS Data Exchange，活動會記錄在 CloudTrail 事件中，以及**事件歷史記錄**中的其他 AWS 服務事件。您可以在 中檢視、搜尋和下載最近的事件 AWS 帳戶。如需詳細資訊，請參閱《AWS CloudTrail 使用者指南》**中的[使用 CloudTrail 事件歷史記錄檢視事件](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/view-cloudtrail-events.html)。

若要持續記錄 中的事件 AWS 帳戶，包括 的事件 AWS Data Exchange，請建立追蹤。CloudTrail 使用此線索將日誌檔案交付至 S3 儲存貯體。根據預設，當您使用主控台建立線索時，它適用於所有 AWS 區域。線索會記錄所有 區域的事件，並將日誌檔案交付至您指定的 S3 儲存貯體。您可設定其他 AWS 服務，以進一步分析和處理 CloudTrail 記錄中所收集的事件資料。如需詳細資訊，請參閱：
+ [建立追蹤的概觀](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-create-and-update-a-trail.html)
+ [CloudTrail 支援的服務和整合](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-aws-service-specific-topics.html#cloudtrail-aws-service-specific-topics-integrations)
+ [設定 CloudTrail 的 Amazon SNS 通知](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/getting_notifications_top_level.html)
+ [從多個區域接收 CloudTrail 日誌檔案](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/receive-cloudtrail-log-files-from-multiple-regions.html)
+ [從多個帳戶接收 CloudTrail 日誌檔案](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-receive-logs-from-multiple-accounts.html)

 所有 AWS Data Exchange 動作都會記錄在 *AWS Data Exchange API 參考*中。除了 之外`SendAPIAsset`，CloudTrail 會記錄每個 AWS Data Exchange 動作。例如，對 `CreateDataSet`、 `StartImportAssetsFromS3Workflow`和 `ListRevisionAssets` API 操作的呼叫會在 CloudTrail 日誌檔案中產生項目。

每一筆事件或日誌專案都會包含產生請求者的資訊。身分資訊可協助您判斷下列事項：
+ 是否使用根或 AWS Identity and Access Management (IAM) 登入資料提出請求。
+ 提出該請求時，是否使用了特定角色或聯合身分使用者的暫時安全憑證。
+ 請求是否由其他 AWS 服務提出。

如需詳細資訊，請參閱 [CloudTrail userIdentity 元素](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-event-reference-user-identity.html)。

## 了解 AWS Data Exchange 日誌檔案項目
<a name="understanding-log-entries"></a>

線索是一種組態，可讓您將事件作為日誌檔案交付到您指定的 S3 儲存貯體。CloudTrail 日誌檔案包含一或多個日誌專案。一個事件為任何來源提出的單一請求，並包含請求動作、請求的日期和時間、請求參數等資訊。CloudTrail 日誌檔案不是公有 API 呼叫的排序堆疊追蹤，因此它們不會以任何順序顯示。

**注意**  
這些範例已格式化，以改善可讀性。在 CloudTrail 日誌檔案中，所有項目和事件會合併為單一列。此範例僅限於單一 AWS Data Exchange 項目。在真實的 CloudTrail 日誌檔案中，您將看到來自多個 AWS 服務的項目和事件。

以下範例顯示的 CloudTrail 日誌項目會示範 `CreateDataSet` 操作：

```
{
    "eventVersion": "1.05",
    "userIdentity": {
        "type": "AssumedRole",
        "principalId": "{{AIDACKCEVSQ6C2EXAMPLE}}:account_name",
        "arn": "arn:aws:sts::{{123456789012}}:user/Mary_Major",
        "accountId": "{{123456789012}}",
        "accessKeyId": "{{AKIAIOSFODNN7EXAMPLE}}",
        "sessionContext": {
            "attributes": {
                "mfaAuthenticated": "false",
                "creationDate": "2018-06-20T18:32:25Z"
            },
            "sessionIssuer": {
                "type": "Role",
                "principalId": "{{AIDACKCEVSQ6C2EXAMPLE}}",
                "arn": "arn:aws:iam::{{123456789012}}:role/Admin",
                "accountId": "{{123456789012}}",
                "userName": "{{username}}"
            }
        }
    },
    "eventTime": "2018-06-20T19:04:36Z",
    "eventSource": "dataexchange.amazonaws.com",
    "eventName": "CreateDataSet",
    "awsRegion": "us-east-1",
    "sourceIPAddress": "203.0.113.12",
    "userAgent": "console.amazonaws.com",
    "requestParameters": {
        "Name": "MyDataSet",
        "AssetType": "S3_SNAPSHOT",
        "Description": "This is my data set"
    },
    "responseElements": {
        "Origin": "OWNED",
        "AssetType": "S3_SNAPSHOT",
        "Name": "MyDataSet",
        "CreatedAt": 1726255485679,
        "UpdatedAt": 1726255485679,
        "Arn": "arn:aws:dataexchange:us-east-1:{{123456789012}}:data-sets/DataSetIdentifier",
        "Id": "DataSetIdentifier",
        "Description": "This is my data set"
    },
    "requestID": "{{cb8c167e-EXAMPLE}}",
    "eventID": "{{e3c6f4ce-EXAMPLE}}",
    "readOnly": false,
    "eventType": "AwsApiCall",
    "recipientAccountId": "{{123456789012}}"
}>
```