使用 記錄 Amazon SNSAPI呼叫 CloudTrail - Amazon Simple Notification Service

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

使用 記錄 Amazon SNSAPI呼叫 CloudTrail

Amazon 與 SNS整合 AWS CloudTrail,此服務提供 Amazon SNS. CloudTrail captures AWS 呼叫 API Amazon SNS 作為事件的使用者、角色或服務所採取動作的記錄。擷取的呼叫包括從 Amazon SNS主控台呼叫,以及對 Amazon SNSAPI操作的程式碼呼叫。如果您建立追蹤,則可以啟用事件連續交付 CloudTrail至 Amazon S3 儲存貯體,包括 Amazon 的事件SNS。如果您未設定追蹤,仍然可以在 事件歷史記錄 中檢視 CloudTrail 主控台中的最新事件。 使用 所收集的資訊 CloudTrail,您可以判斷向 Amazon 提出的請求SNS、提出請求的 IP 地址、提出請求的人員、提出時間,以及其他詳細資訊。

若要進一步了解 CloudTrail,包括如何設定和啟用 ,請參閱 AWS CloudTrail 使用者指南

中的 Amazon SNS資訊 CloudTrail

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

若要持續記錄 中的事件 AWS 帳戶,包括 Amazon 的事件SNS,請建立追蹤。追蹤可讓 CloudTrail 將日誌檔案交付至 Amazon S3 儲存貯體。根據預設,當您在主控台中建立追蹤時,追蹤會套用至所有 AWS 區域。追蹤會記錄 AWS 分割區中所有 區域的事件,並將日誌檔案傳送至您指定的 Amazon S3 儲存貯體。此外,您可以設定其他服務 AWS ,以進一步分析 CloudTrail 日誌中收集的事件資料並對其採取行動。如需詳細資訊,請參閱下列內容:

在 中控制平面事件 CloudTrail

Amazon SNS支援將下列動作記錄為 CloudTrail 日誌檔案中的事件:

注意

當您未登入 Amazon Web Services (未驗證模式) 且叫用 ConfirmSubscription取消訂閱動作時,則不會將其記錄到 CloudTrail。例如,當您選擇電子郵件通知提供的連結,以確認對某一主題的等待訂閱時,系統會以未驗證模式叫用 ConfirmSubscription 動作。在此範例中,ConfirmSubscription動作不會記錄到 CloudTrail。

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

  • 請求是使用根 還是 AWS Identity and Access Management (IAM) 使用者憑證進行。

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

  • 該請求是否由其他 AWS 服務提出。

如需詳細資訊,請參閱CloudTrail userIdentity 元素

中的資料平面事件 CloudTrail

若要在 CloudTrail 檔案中啟用記錄下列API動作,您需要在 中啟用資料平面API活動記錄 CloudTrail。如需詳細資訊,請參閱《AWS CloudTrail 使用者指南》中的記錄資料事件

資料平面事件也可以依資源類型篩選,以精細控制您想要選擇性地在 中記錄和支付哪些 Amazon SNSAPI呼叫 CloudTrail。例如,透過將 指定AWS::SNS::Topic為資源類型,您可以記錄對 的呼叫Publish和主題PublishBatchAPI的動作。同樣地,透過將 指定AWS::SNS::PlatformEndpoint為資源類型,您可以將呼叫記錄為平台端點的發佈API動作。如需詳細資訊,請參閱 參考AdvancedEventSelector中的 AWS CloudTrail API 。

注意

AWS::SNS::PhoneNumber 不會記錄 Amazon SNS 資源類型 CloudTrail。

Amazon SNS資料平面 APIs

範例:Amazon SNS日誌檔案項目

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

下列範例顯示 ListTopicsCreateTopicDeleteTopic動作的 CloudTrail 日誌項目。

{ "Records": [ { "eventVersion": "1.02", "userIdentity": { "type":"IAMUser", "userName":"Bob" "principalId": "EX_PRINCIPAL_ID", "arn": "arn:aws:iam::123456789012:user/Bob", "accountId": "123456789012", "accessKeyId": "AKIAIOSFODNN7EXAMPLE" }, "eventTime": "2014-09-30T00:00:00Z", "eventSource": "sns.amazonaws.com", "eventName": "ListTopics", "awsRegion": "us-west-2", "sourceIPAddress": "127.0.0.1", "userAgent": "aws-sdk-java/unknown-version", "requestParameters": { "nextToken": "ABCDEF1234567890EXAMPLE==" }, "responseElements": null, "requestID": "example1-b9bb-50fa-abdb-80f274981d60", "eventID": "example0-09a3-47d6-a810-c5f9fd2534fe", "eventType": "AwsApiCall", "recipientAccountId": "123456789012" }, { "eventVersion": "1.02", "userIdentity": { "type":"IAMUser", "userName":"Bob" "principalId": "EX_PRINCIPAL_ID", "arn": "arn:aws:iam::123456789012:user/Bob", "accountId": "123456789012", "accessKeyId": "AKIAIOSFODNN7EXAMPLE" }, "eventTime": "2014-09-30T00:00:00Z", "eventSource": "sns.amazonaws.com", "eventName": "CreateTopic", "awsRegion": "us-west-2", "sourceIPAddress": "127.0.0.1", "userAgent": "aws-sdk-java/unknown-version", "requestParameters": { "name": "hello" }, "responseElements": { "topicArn": "arn:aws:sns:us-west-2:123456789012:hello-topic" }, "requestID": "example7-5cd3-5323-8a00-f1889011fee9", "eventID": "examplec-4f2f-4625-8378-130ac89660b1", "eventType": "AwsApiCall", "recipientAccountId": "123456789012" }, { "eventVersion": "1.02", "userIdentity": { "type":"IAMUser", "userName":"Bob" "principalId": "EX_PRINCIPAL_ID", "arn": "arn:aws:iam::123456789012:user/Bob", "accountId": "123456789012", "accessKeyId": "AKIAIOSFODNN7EXAMPLE" }, "eventTime": "2014-09-30T00:00:00Z", "eventSource": "sns.amazonaws.com", "eventName": "DeleteTopic", "awsRegion": "us-west-2", "sourceIPAddress": "127.0.0.1", "userAgent": "aws-sdk-java/unknown-version", "requestParameters": { "topicArn": "arn:aws:sns:us-west-2:123456789012:hello-topic" }, "responseElements": null, "requestID": "example5-4faa-51d5-aab2-803a8294388d", "eventID": "example8-6443-4b4d-abfd-1b867280d964", "eventType": "AwsApiCall", "recipientAccountId": "123456789012" }, ] }

下列範例顯示示範 PublishPublishBatch動作的 CloudTrail 日誌項目。

發布

{ "eventVersion": "1.09", "userIdentity": { "type": "AssumedRole", "principalId": "EX_PRINCIPAL_ID", "arn": "arn:aws:iam::123456789012:user/Bob", "accountId": "123456789012", "accessKeyId": "AKIAIOSFODNN7EXAMPLE", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "AKIAIOSFODNN7EXAMPLE", "arn": "arn:aws:iam::123456789012:role/Admin", "accountId": "123456789012", "userName": "ExampleUser" }, "attributes": { "creationDate": "2023-08-21T16:44:05Z", "mfaAuthenticated": "false" } } }, "eventTime": "2023-08-21T16:48:37Z", "eventSource": "sns.amazonaws.com", "eventName": "Publish", "awsRegion": "us-east-1", "sourceIPAddress": "192.0.2.0", "userAgent": "aws-cli/1.29.16 md/Botocore#1.31.16 ua/2.0 os/linux#5.4.250-173.369.amzn2int.x86_64 md/arch#x86_64 lang/python#3.8.17 md/pyimpl#CPython cfg/retry-mode#legacy botocore/1.31.16", "requestParameters": { "topicArn": "arn:aws:sns:us-east-1:123456789012:ExampleSNSTopic", "message": "HIDDEN_DUE_TO_SECURITY_REASONS", "subject": "HIDDEN_DUE_TO_SECURITY_REASONS", "messageStructure": "json", "messageAttributes": "HIDDEN_DUE_TO_SECURITY_REASONS" }, "responseElements": { "messageId": "0787cd1e-d92b-521c-a8b4-90434e8ef840" }, "requestID": "0a8ab208-11bf-5e01-bd2d-ef55861b545d", "eventID": "bb3496d4-5252-4660-9c28-3c6aebdb21c0", "readOnly": false, "resources": [{ "accountId": "123456789012", "type": "AWS::SNS::Topic", "ARN": "arn:aws:sns:us-east-1:123456789012:ExampleSNSTopic" }], "eventType": "AwsApiCall", "managementEvent": false, "recipientAccountId": "123456789012", "eventCategory": "Data", "tlsDetails": { "tlsVersion": "TLSv1.2", "cipherSuite": "ECDHE-RSA-AES128-GCM-SHA256", "clientProvidedHostHeader": "sns.us-east-1.amazonaws.com" } }

PublishBatch

{ "eventVersion": "1.09", "userIdentity": { "type": "AssumedRole", "principalId": "EX_PRINCIPAL_ID", "arn": "arn:aws:iam::123456789012:user/Bob", "accountId": "123456789012", "accessKeyId": "AKIAIOSFODNN7EXAMPLE", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "AKIAIOSFODNN7EXAMPLE", "arn": "arn:aws:iam::123456789012:role/Admin", "accountId": "123456789012", "userName": "ExampleUser" }, "attributes": { "creationDate": "2023-08-21T19:20:49Z", "mfaAuthenticated": "false" } } }, "eventTime": "2023-08-21T19:22:01Z", "eventSource": "sns.amazonaws.com", "eventName": "PublishBatch", "awsRegion": "us-east-1", "sourceIPAddress": "192.0.2.0", "userAgent": "aws-cli/1.29.16 md/Botocore#1.31.16 ua/2.0 os/linux#5.4.250-173.369.amzn2int.x86_64 md/arch#x86_64 lang/python#3.8.17 md/pyimpl#CPython cfg/retry-mode#legacy botocore/1.31.16", "requestParameters": { "topicArn": "arn:aws:sns:us-east-1:123456789012:ExampleSNSTopic", "publishBatchRequestEntries": [{ "id": "1", "message": "HIDDEN_DUE_TO_SECURITY_REASONS" }, { "id": "2", "message": "HIDDEN_DUE_TO_SECURITY_REASONS" } ] }, "responseElements": { "successful": [{ "id": "1", "messageId": "30d68101-a64a-5573-9e10-dc5c1dd3af2f" }, { "id": "2", "messageId": "c0aa0c5c-561d-5455-b6c4-5101ed84de09" } ], "failed": [] }, "requestID": "e2cdf7f3-1b35-58ad-ac9e-aaaea0ace2f1", "eventID": "10da9a14-0154-4ab6-b3a5-1825b229a7ed", "readOnly": false, "resources": [{ "accountId": "123456789012", "type": "AWS::SNS::Topic", "ARN": "arn:aws:sns:us-east-1:123456789012:ExampleSNSTopic" }], "eventType": "AwsApiCall", "managementEvent": false, "recipientAccountId": "123456789012", "eventCategory": "Data", "tlsDetails": { "tlsVersion": "TLSv1.2", "cipherSuite": "ECDHE-RSA-AES128-GCM-SHA256", "clientProvidedHostHeader": "sns.us-east-1.amazonaws.com" } }