View a markdown version of this page

使用 CloudTrail 記錄 AWS Marketplace 計量 API 呼叫 - AWS Marketplace

AWS Marketplace API 參考已重組。如需支援的 API 操作的詳細資訊,請參閱 AWS Marketplace API 參考

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

使用 CloudTrail 記錄 AWS Marketplace 計量 API 呼叫

計量 API 已與 整合 AWS CloudTrail,此服務提供使用者、角色或 AWS 服務 所採取動作的記錄 AWS Marketplace。CloudTrail 會將計量 API 的 API 呼叫擷取為事件。擷取的呼叫包括來自 AWS Marketplace 網站、主控台和利用計量 API 的其他界面的呼叫,以及對計量 API 操作的直接程式碼呼叫。

如果您建立追蹤,則可以將 CloudTrail 事件持續交付至 Amazon S3 儲存貯體,包括計量 API 的事件。線索能讓 CloudTrail 將日誌檔案交付至 Amazon S3 儲存貯體。即使您未設定追蹤,依然可以透過 CloudTrail 主控台中的事件歷史記錄檢視最新事件。您可以使用 CloudTrail 所收集的資訊,判斷對計量 API 提出的請求、提出請求的 IP 地址、提出請求的人員、提出請求的時間,以及其他詳細資訊。

如需有關 CloudTrail 的相關資訊,請參閱 AWS CloudTrail 使用者指南

在 CloudTrail 中計量 API 資訊

當您建立帳戶 AWS 帳戶 時,您的 上會啟用 CloudTrail。當活動在計量 API 中發生時,該活動會與事件歷史記錄中的其他 AWS 服務 事件一起記錄在 CloudTrail 事件中。您可以在 中檢視、搜尋和下載最近的事件 AWS 帳戶。如需詳細資訊,請參閱 AWS CloudTrail 使用者指南中的 使用 CloudTrail 事件歷史記錄檢視事件

若要持續記錄 中的事件 AWS 帳戶,包括計量 API 的事件,請建立追蹤。線索能讓 CloudTrail 將日誌檔案交付至 Amazon S3 儲存貯體。依預設,當您在主控台中建立追蹤時,該追蹤會套用至所有的 AWS 區域。該追蹤會記錄來自 AWS 分割區中所有區域的事件,並將日誌檔案交付到您指定的 Amazon S3 儲存貯體。此外,您可以設定其他 AWS 服務 來進一步分析和處理 CloudTrail 日誌中收集的事件資料。如需詳細資訊,請參閱下列內容:

CloudTrail 會記錄 SaaS 型產品的 BatchMeterUsage 動作、容器型產品的 RegisterUsage動作,以及 Amazon Machine Image (AMI) 型和容器型產品的 MeterUsage動作。

每一筆事件或日誌專案都會包含產生請求者的資訊。身分資訊可協助您判斷下列事項:

  • 該請求是否使用根或使用者憑證提出。

  • 提出該請求時,是否使用了特定角色或聯合身分使用者的暫時安全憑證。

  • 該請求是否由另一項 AWS 服務服務提出。

如需詳細資訊,請參閱《AWS CloudTrail 使用者指南》中的 CloudTrail userIdentity 元素

了解計量 API 日誌檔案項目

範例:BatchMeterUsage適用於 SaaS 型產品

下列範例顯示 CloudTrail 日誌項目,示範來自 AWS Marketplace 計量 API BatchMeterUsage的動作。當賣方傳送計量記錄以報告客戶在 中列出的軟體即服務 (SaaS) 產品的用量時 AWS Marketplace,此 CloudTrail 日誌項目會記錄在賣方的 中 AWS 帳戶。 SaaS

{ "eventVersion": "1.05", "userIdentity": { "type": "IAMUser", "principalId": "EX_PRINCIPAL_ID", "arn": "arn:aws:iam::123456789012:user/*****", "accountId": "123456789012", "accessKeyId": "EXAMPLE_KEY_ID", "userName": "*****" }, "eventTime": "2018-04-19T16:32:51Z", "eventSource": "metering-marketplace.amazonaws.com", "eventName": "BatchMeterUsage", "awsRegion": "us-east-1", "sourceIPAddress": "************", "userAgent": "Coral/Netty14", "requestParameters": { "usageRecords": [ { "dimension": "Dimension1", "timestamp": "Apr 19, 2018 4:32:50 PM", "customerIdentifier": "customer1", "customerAWSAccountID": "987654321098", "quantity": 1 } ], "productCode": "EXAMPLE_proCode" }, "responseElements": { "results": [ { "usageRecord": { "dimension": "Dimension1", "timestamp": "Apr 19, 2018 4:32:50 PM", "customerIdentifier": "customer1", "customerAWSAccountID": "987654321098", "quantity": 1 }, "meteringRecordId": "bEXAMPLE-98f0-4e90-8bd2-bf0EXAMPLE1e", "status": "Success" } ], "unprocessedRecords": [ ] }, "requestID": "dEXAMPLE-251d-11e7-8d11-1f3EXAMPLE8b", "eventID": "cEXAMPLE-e6c2-465d-b47f-150EXAMPLE97", "readOnly": false, "eventType": "AwsApiCall", "recipientAccountId": "123456789012" }

範例:RegisterUsage適用於部署在 Amazon EKS 上的容器型產品

下列範例顯示 CloudTrail 日誌項目,示範來自 AWS Marketplace 計量 API RegisterUsage的動作。在買方的 中 AWS Marketplace 部署每小時定價的容器產品時 AWS 帳戶,容器中的軟體會在買方的 RegisterUsage內呼叫 AWS 帳戶 ,以啟動該 Amazon Elastic Container Service (Amazon ECS) 任務或 Amazon Elastic Kubernetes Service (Amazon EKS) Pod 的每小時計量。此 CloudTrail 日誌項目會記錄在買方的 中 AWS 帳戶。

{ "eventVersion": "1.05", "userIdentity": { "type": "AssumedRole", "principalId": "EX_PRINCIPAL_ID:botocore-session-1111111111", "arn": "arn:aws:sts::123456789012:assumed-role/Alice/botocore-session-1111111111", "accountId": "123456789012", "accessKeyId": "EXAMPLE_KEY_ID", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "EX_PRINCIPAL_ID", "arn": "arn:aws:iam::123456789012:role/Alice", "accountId": "123456789012", "userName": "Alice" }, "webIdFederationData": { "federatedProvider": "arn:aws:iam::123456789012:oidc-provider/oidc.eks.us-east-1.amazonaws.com/id/EXAMPLEFA1C58F08CDB049167EXAMPLE", "attributes": {} }, "attributes": { "mfaAuthenticated": "false", "creationDate": "2020-07-23T02:19:34Z" } } }, "eventTime": "2020-07-23T02:19:46Z", "eventSource": "metering-marketplace.amazonaws.com", "eventName": "RegisterUsage", "awsRegion": "us-east-1", "sourceIPAddress": "1.2.3.4", "userAgent": "aws-cli/1.18.103 Python/3.8.2 Linux/4.14.181-142.260.amzn2.x86_64 botocore/1.17.26", "requestParameters": { "productCode": "EXAMPLE_proCode", "publicKeyVersion": 1 }, "responseElements": { "signature": "eyJhbGciOiJQUzI1Ni..." }, "requestID": "dEXAMPLE-251d-11e7-8d11-1f3EXAMPLE8b", "eventID": "cEXAMPLE-e6c2-465d-b47f-150EXAMPLE97", "eventType": "AwsApiCall", "recipientAccountId": "123456789012" }

範例:MeterUsage適用於部署在 Amazon EKS 上的容器型產品

下列範例顯示 CloudTrail 日誌項目,示範 Amazon EKS 上容器計量 AWS Marketplace API MeterUsage的動作。在買方的 中 AWS Marketplace 部署具有自訂計量的容器產品時 AWS 帳戶,容器中的軟體會呼叫買方的 MeterUsage ,每小時 AWS 帳戶 回報一次。此 CloudTrail 日誌項目會記錄在買方的 中 AWS 帳戶。

{ "eventVersion": "1.05", "userIdentity": { "type": "AssumedRole", "principalId": "EX_PRINCIPAL_ID:botocore-session-1111111111", "arn": "arn:aws:sts::123456789012:assumed-role/Alice/botocore-session-1111111111", "accountId": "123456789012", "accessKeyId": "EXAMPLE_KEY_ID", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "EX_PRINCIPAL_ID", "arn": "arn:aws:iam::123456789012:role/Alice", "accountId": "123456789012", "userName": "Alice" }, "webIdFederationData": { "federatedProvider": "arn:aws:iam::123456789012:oidc-provider/oidc.eks.us-east-1.amazonaws.com/id/EXAMPLEFA1C58F08CDB049167EXAMPLE", "attributes": {} }, "attributes": { "mfaAuthenticated": "false", "creationDate": "2020-07-23T01:03:26Z" } } }, "eventTime": "2020-07-23T01:38:13Z", "eventSource": "metering-marketplace.amazonaws.com", "eventName": "MeterUsage", "awsRegion": "us-east-1", "sourceIPAddress": "1.2.3.4", "userAgent": "aws-cli/1.18.103 Python/3.8.2 Linux/4.14.181-142.260.amzn2.x86_64 botocore/1.17.26", "requestParameters": { "timestamp": "Jul 23, 2020 1:35:44 AM", "usageQuantity": 1, "usageDimension": "Dimension1", "productCode": "EXAMPLE_proCode" }, "responseElements": { "meteringRecordId": "bEXAMPLE-98f0-4e90-8bd2-bf0EXAMPLE1e" }, "requestID": "dEXAMPLE-251d-11e7-8d11-1f3EXAMPLE8b", "eventID": "cEXAMPLE-e6c2-465d-b47f-150EXAMPLE97", "eventType": "AwsApiCall", "recipientAccountId": "123456789012" }

範例:MeterUsage適用於 AMI 型產品

下列範例顯示 CloudTrail 日誌項目,示範來自 Amazon Machine Image (AMIs) AWS Marketplace 計量 API MeterUsage的動作。在買方的 中 AWS Marketplace 部署具有自訂計量的 AMI 產品時 AWS 帳戶,來自 AMI 的軟體會在買方的 MeterUsage內呼叫 AWS 帳戶 ,以每小時報告用量。此 CloudTrail 日誌項目會記錄在買方的 中 AWS 帳戶。

{ "eventVersion": "1.05", "userIdentity": { "type": "AssumedRole", "principalId": "EX_PRINCIPAL_ID:i-exampled859aa775c", "arn": "arn:aws:sts::123456789012:assumed-role/Alice/i-exampled859aa775c", "accountId": "123456789012", "accessKeyId": "EXAMPLE_KEY_ID", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "EX_PRINCIPAL_ID", "arn": "arn:aws:iam::123456789012:role/Alice", "accountId": "123456789012", "userName": "Alice" }, "webIdFederationData": {}, "attributes": { "mfaAuthenticated": "false", "creationDate": "2020-07-10T23:05:20Z" }, "ec2RoleDelivery": "1.0" } }, "eventTime": "2020-07-10T23:06:42Z", "eventSource": "metering-marketplace.amazonaws.com", "eventName": "MeterUsage", "awsRegion": "us-east-1", "sourceIPAddress": "1.2.3.4", "userAgent": "aws-cli/1.16.102 Python/2.7.16 Linux/4.14.133-113.112.amzn2.x86_64 botocore/1.12.92", "requestParameters": { "productCode": "EXAMPLE_proCode", "timestamp": "Jul 10, 2020 11:06:41 PM", "usageDimension": "Dimension1", "usageQuantity": 1, "dryRun": false }, "responseElements": { "meteringRecordId": "bEXAMPLE-98f0-4e90-8bd2-bf0EXAMPLE1e" }, "requestID": "dEXAMPLE-251d-11e7-8d11-1f3EXAMPLE8b", "eventID": "cEXAMPLE-e6c2-465d-b47f-150EXAMPLE97", "eventType": "AwsApiCall", "recipientAccountId": "123456789012" }