View a markdown version of this page

日志记录 AWS Marketplace 使用计量 API 调用 CloudTrail - AWS Marketplace

AWS Marketplace API 参考已重组。有关支持的 API 操作的更多信息,请参阅 AWS Marketplace API 参考

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

日志记录 AWS Marketplace 使用计量 API 调用 CloudTrail

Metering API 与 AWS CloudTrail一项服务集成,该服务提供用户、角色或角色所执行操作 AWS 服务 的记录 AWS Marketplace。 CloudTrail 将计量 API 的 API 调用捕获为事件。捕获的调用包括来自 AWS Marketplace 网站、控制台和其他利用计量 API 接口的调用,以及对计量 API 操作的直接代码调用。

如果您创建跟踪,则可以允许将 CloudTrail 事件持续传输到 Amazon S3 存储桶,包括计量 API 的事件。跟踪允许 CloudTrail 将日志文件传输到 Amazon S3 存储桶。如果您未配置跟踪,您仍然可以在 CloudTrail 控制台的事件历史记录中查看最新的事件。使用收集的信息 CloudTrail,您可以确定向 Metering API 发出的请求、发出请求的 IP 地址、谁发出了请求、何时发出请求以及其他详细信息。

有关的更多信息 CloudTrail,请参阅《AWS CloudTrail 用户指南》

中的计量 API 信息 CloudTrail

CloudTrail 在您创建账户 AWS 账户 时已在您的账户上启用。当计量 API 中发生活动时,该活动会与其他 CloudTrail 事件一起记录在 AWS 服务 事件历史记录中。您可以在中查看、搜索和下载最近发生的事件 AWS 账户。有关更多信息,请参阅AWS CloudTrail 用户指南中的使用 CloudTrail 事件历史记录查看事件

要持续记录您的事件 AWS 账户,包括计量 API 的事件,请创建跟踪。跟踪允许 CloudTrail 将日志文件传输到 Amazon S3 存储桶。默认情况下,在控制台中创建跟踪记录时,此跟踪记录应用于所有 AWS 区域。此跟踪记录在 AWS 分区中记录所有区域中的事件,并将日志文件传送至您指定的 Amazon S3 存储桶。此外,您可以配置其他 AWS 服务 ,以进一步分析和处理 CloudTrail 日志中收集的事件数据。有关更多信息,请参阅下列内容:

SaaS-based 产品的BatchMeterUsageRegisterUsage操作、基于容器的产品的操作以及基于亚马逊系统映像 (AMI) 和基于容器的产品的MeterUsage操作均由记录。 CloudTrail

每个事件或日志条目都包含有关生成请求的人员信息。身份信息有助于您确定以下内容:

  • 请求是使用根凭证还是用户凭证发出的。

  • 请求是使用角色还是联合用户的临时安全凭证发出的。

  • 请求是否由其他 AWS 服务发出。

有关更多信息,请参阅《CloudTrail 用户指南》中的AWS CloudTrail 用户身份元素

了解计量 API 日志文件条目

示例:BatchMeterUsage对于 SaaS-based 产品

以下示例显示了演示 AWS Marketplace 计量 API 中BatchMeterUsage操作的 CloudTrail 日志条目。当卖家发送计量记录以报告其客户对所列软件即服务 (SaaS) 产品的使用情况时 AWS Marketplace,此 CloudTrail 日志条目将记录在卖家的日志条目中 AWS 账户。

{ "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 上的基于容器的产品

以下示例显示了演示 AWS Marketplace 计量 API 中RegisterUsage操作的 CloudTrail 日志条目。在买家部署按小时定价的容器产品时,容器中的软件会在买家RegisterUsage内部调用 AWS 账户,为该亚马逊弹性容器服务 (Amazon ECS) 任务或亚马逊 Elastic Kubernetes Service (Amazon EKS) Pod 启动每小时计量。 AWS Marketplace 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-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 账户,集装箱中的软件会在买方MeterUsage内部调用每小时 AWS 账户 进行一次报告。 AWS Marketplace 此 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-based 产品

以下示例显示了一个 CloudTrail 日志条目,该条目演示了亚马逊系统映像 (AMI) 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" }