Amazon web services AWS CloudTrail查找事件API

Amazon web services AWS CloudTrail查找事件API,amazon-web-services,postman,aws-api-gateway,amazon-cloudtrail,Amazon Web Services,Postman,Aws Api Gateway,Amazon Cloudtrail,我正在尝试使用Postman作为用户代理。 当我在Body中将filter设置为原始Json时,我仍然获得所有日志,而不是一个日志。你知道怎么做吗? 方法:邮寄 内容类型:application/json 或 内容类型:application/x-amz-json-1.0 我还尝试将原始正文转换为text/json { "LookupAttributes": [ { "AttributeKey": "EventName", "Attri

我正在尝试使用Postman作为用户代理。 当我在Body中将filter设置为原始Json时,我仍然获得所有日志,而不是一个日志。你知道怎么做吗? 方法:邮寄 内容类型:application/json 或 内容类型:application/x-amz-json-1.0 我还尝试将原始正文转换为text/json

{
    "LookupAttributes": [ 
      { 
         "AttributeKey": "EventName",
         "AttributeValue": "ConsoleLogin"
      }
    ],
    "MaxResults": 1
}

多么糟糕的API文档!我最终让它工作了,但步骤不容易找到

确保您的请求:

  • 方法是
    POST
  • 没有查询字符串参数
  • 包括
    应用程序/x-amz-json-1.1的
    内容类型
  • 包含值为
    com.amazonaws.cloudtrail.v20131101.cloudtrail_20131101.LookupEvents的
    x-amz-target
    标头
这有点误导,因为它似乎暗示
Action
属于查询字符串。事实并非如此

实际上,在查询字符串中包含
Action
,似乎会返回带有任何
EventName
的事件,并且不会限制结果的数量。就好像整个请求主体都被忽略了一样


cURL命令,删除AWS签名内容:

curl --location --request POST 'https://cloudtrail.us-east-1.amazonaws.com' \
--header 'Content-Type: application/x-amz-json-1.1' \
--header 'Accept: application/json' \
--header 'x-amz-target: com.amazonaws.cloudtrail.v20131101.CloudTrail_20131101.LookupEvents' \
--data-raw '{
    "LookupAttributes": [ 
      { 
         "AttributeKey": "EventName",
         "AttributeValue": "ConsoleLogin"
      }
    ],
    "MaxResults": 2
}'


我在任何地方都找不到
x-amz-target
文档。为了获得该值,我设置了
mitmproxy
,并查看了CLI命令生成的调用。

您是否正在使用API网关在Postman中发出请求?太棒了!!!这对我很管用。谢谢。但我同意,文件很差。