使用 Amazon CloudTrail 记录 Amazon Simple Queue Service API 调用
CloudTrail 允许您使用两种事件类型记录和监控 Amazon SQS 操作:数据事件和管理事件。这使您能够轻松跟踪和审计您账户中的 Amazon SQS 活动。
CloudTrail 中的 Amazon SQS 数据事件
数据事件提供对资源或在资源中所执行资源操作(例如,向 Amazon SQS 对象发送消息)的相关信息。这些也称为数据面板操作。数据事件通常是高容量活动。默认情况下,CloudTrail 不记录数据事件。CloudTrail 事件历史记录不记录数据事件。
记录数据事件将收取额外费用。有关 CloudTrail 定价的更多信息,请参阅 Amazon CloudTrail 定价
您可以使用 CloudTrail 控制台、Amazon CLI 或 CloudTrail API 操作来记录 Amazon SQS 资源类型的数据事件。有关如何记录数据事件的更多信息,请参阅《Amazon CloudTrail 用户指南》中的使用 Amazon Web Services 管理控制台 记录数据事件和使用 Amazon Command Line Interface 记录数据事件。
要使用 CloudTrail 记录 Amazon SQS 数据事件,您必须使用高级事件选择器来配置要记录的特定 Amazon SQS 资源或操作。请添加 AWS::SQS::Queue 资源类型,以捕获队列相关操作。您可以使用 eventName(例如 SendMessage 事件)等筛选条件进一步优化日志记录首选项。有关更多信息,请参阅《CloudTrail API 参考》中的 AdvancedEventSelector。
| 数据事件类型(控制台) | resources.type 值 | 记录至 CloudTrail 的数据 API |
|---|---|---|
| Amazon SQS 队列 |
AWS::SQS::Queue
|
请使用高级事件选择器来筛选字段并仅记录重要事件。有关这些字段的更多信息,请参阅《Amazon CloudTrail API 参考》中的 AdvancedFieldSelector。
CloudTrail 中的 Amazon SQS 管理事件
管理事件提供对您的 Amazon Web Services 账户 内资源所执行管理操作的相关信息。这些也称为控制面板操作。默认情况下,CloudTrail 会记录管理事件。
Amazon SQS 会将以下控制面板操作作为管理事件记录到 CloudTrail。
Amazon SQS 事件示例
一个事件表示一个来自任何源的请求,包括有关所请求的 API 操作、操作的日期和时间、请求参数等方面的信息。CloudTrail 日志文件不是公用 API 调用的有序堆栈跟踪,因此事件不会按任何特定顺序显示。
以下示例显示了一个 CloudTrail 事件,该事件演示了 SendMessage 操作。
{ "eventVersion": "1.09", "userIdentity": { "type": "AssumedRole", "principalId": "EXAMPLE_PRINCIPAL_ID", "arn": "arn:aws:sts::123456789012:assumed-role/RoleToBeAssumed/SessionName", "accountId": "123456789012", "accessKeyId": "ACCESS_KEY_ID", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "AKIAI44QH8DHBEXAMPLE", "arn": "arn:aws:sts::123456789012:assumed-role/RoleToBeAssumed", "accountId": "123456789012", "userName": "RoleToBeAssumed" }, "attributes": { "creationDate": "2023-11-07T22:13:06Z", "mfaAuthenticated": "false" } } }, "eventTime": "2023-11-07T23:59:11Z", "eventSource": "sqs.amazonaws.com", "eventName": "SendMessage", "awsRegion": "ap-southeast-4", "sourceIPAddress": "10.0.118.80", "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": { "queueUrl": "https://sqs.ap-southeast-4.amazonaws.com/123456789012/MyQueue", "messageBody": "HIDDEN_DUE_TO_SECURITY_REASONS", "messageDeduplicationId": "MsgDedupIdSdk1ae1958f2-bbe8-4442-83e7-4916e3b035aa", "messageGroupId": "MsgGroupIdSdk16" }, "responseElements": { "mD5OfMessageBody": "9a4e3f7a614d9dd9f8722092dbda17a2", "mD5OfMessageSystemAttributes": "f88f0587f951b7f5551f18ae699c3a9d", "messageId": "93bb6e2d-1090-416c-81b0-31eb1faa8cd8", "sequenceNumber": "18881790870905840128" }, "requestID": "c4584600-fe8a-5aa3-a5ba-1bc42f055fae", "eventID": "98c735d8-70e0-4644-9432-b6ced4d791b1", "readOnly": false, "resources": [ { "accountId": "123456789012", "type": "AWS::SQS::Queue", "ARN": "arn:aws:sqs:ap-southeast-4:123456789012:MyQueue" } ], "eventType": "AwsApiCall", "managementEvent": false, "recipientAccountId": "123456789012", "eventCategory": "Data", "tlsDetails": { "tlsVersion": "TLSv1.2", "cipherSuite": "ECDHE-RSA-AES128-GCM-SHA256", "clientProvidedHostHeader": "sqs.ap-southeast-4.amazonaws.com" }
注意
ListQueues 操作是一个独特的案例,因为它不作用于特定的资源。因此,ARN 字段不包含队列名称,而是使用通配符(*)。
有关 CloudTrail 记录内容的信息,请参阅《Amazon CloudTrail 用户指南》中的 CloudTrail 记录内容。