こんばんは、小寺です。
CloudTrailによるAWS Marketplaceでの調達のモニタリングが改善されました。

https://aws.amazon.com/about-aws/whats-new/2023/09/aws-marketplace-cloudtrail-improve-procurement-activity-monitoring/

アップデート内容

AWS Marketplaceを利用される際に、AWS CloudTrailログから、AWS Marketplace サブスクリプション (契約) の調達アクティビティを監視できるようになりました。
AWSアカウントからAWS MarketplaceへアクセスしてSaaS、AMI、コンテナ、またはプロフェッショナル サービス製品をサブスクライブまたはサブスクライブの解除をするときにいつでもアクティビティ ログが表示できるようになりました。
CloudTrailでのイベントの可視化により、アカウント管理者や調達/財務ユーザーのセキュリティとガバナンスの向上に貢献します。

以下のイベントがモニタリング可能です。

・新しい契約の作成 (オファー承諾)
・サブスクライブ:既存の契約の修正 (ディメンション/インスタンス タイプの単位の増加、自動更新ステータスの変更など)
・サブスクライブ:既存の契約を別の契約に置き換える (「契約ベースのオファー」を受け入れる)
・サブスクライブの解除:マーケットプレイス コンソールからの既存のサブスクリプションのキャンセル

試してみる

AcceptAgreementRequest アクション

AWS Identity and Access Management (IAM) ユーザーまたは AWS アカウントのロールが AWS Marketplace で該当する製品を購入するときに使用されます。

MarketPlaceからプライベートオファーのアクセプトを行います。

サブスクライブをクリックします。

CloudTrailのイベント出力が確認できました。

{
"eventVersion": "1.08",
"userIdentity": {
"type": "Unknown",
"principalId": "XXXXXXXX",
"arn": "arn:aws:iam::XXXXXXXXX:user/kodera@ids.co.jp",
"accountId": "XXXXXXXXXXX",
"accessKeyId": "XXXXXXXXX"
},
"eventTime": "2023-09-06T15:46:57Z",
"eventSource": "agreement-marketplace.amazonaws.com",
"eventName": "AcceptAgreementRequest",
"awsRegion": "us-east-1",
"sourceIPAddress": "AWS Internal",
"userAgent": "Coral/Netty4",
"requestParameters": {
"agreementRequestId": "ar-8rluzdknoucv62qj6ycv4nc1h"
},
"responseElements": {
"agreementId": "agmt-cx71281flrkxyks8eurk5nlyk"
},
"requestID": "9b550c66-eddd-4496-b89a-b82be7e831d4",
"eventID": "efed262e-da4d-4226-82a4-39dd37f5d92a",
"readOnly": false,
"eventType": "AwsApiCall",
"managementEvent": true,
"recipientAccountId": "XXXXXXXX",
"eventCategory": "Management"
}

CancelAgreement アクション

IAM ユーザーまたはロールが契約またはサブスクリプションをキャンセルするときに使用されます。購入する人は、Agreements API で CloudTrail ログを監視することで、AWS Marketplace の AWS アカウントで発生する最も重要な購入関連のアクションを監視できます。 購入者は、CloudTrail ログから契約の契約 ID を特定することもできます。契約の詳細については、AWS Marketplace コンソールの [サブスクリプションの管理] タブから確認できます。

「アクション」から「サブスクリプションをキャンセル」を選びます。

[詳細] ビューに契約 ID が表示されます。契約 ID は、agreementIdとして確認が可能です。

{
"eventVersion": "1.08",
"userIdentity": {
"type": "Unknown",
"principalId": "XXXXXXXXXX",
"arn": "arn:aws:iam::XXXXX:user/kodera@ids.co.jp",
"accountId": "XXXXXXXXXXX",
"accessKeyId": "XXXXXXXXX"
},
"eventTime": "2023-09-06T15:51:32Z",
"eventSource": "agreement-marketplace.amazonaws.com",
"eventName": "CancelAgreement",
"awsRegion": "us-east-1",
"sourceIPAddress": "AWS Internal",
"userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36",
"requestParameters": {
"agreementId": "agmt-cx71281flrkxyks8eurk5nlyk"
},
"responseElements": null,
"requestID": "b1ad502b-46c1-4ce2-bed7-9e14fc545dc9",
"eventID": "6ceeee75-2d61-4de5-9f98-aa4e3bbc5a41",
"readOnly": false,
"eventType": "AwsApiCall",
"managementEvent": true,
"recipientAccountId": "XXXXXXXXXX",
"eventCategory": "Management"
}

まとめ

AWS Marketplaceからの購買履歴もCloudTrailでモニタリングがアップデートされています。いつ購入して、キャンセルしたのかが明確にわかるのは便利ですよね。