AWS CloudTrail查找事件API



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

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

多么糟糕的API文档!我最终完成了这项工作,但步骤并不容易找到。

确保您的请求:

  • 方法为POST
  • 没有查询字符串参数
  • 包括application/x-amz-json-1.1Content-Type
  • 包含一个值为com.amazonaws.cloudtrail.v20131101.CloudTrail_20131101.LookupEventsx-amz-target标头

"Common Parameters"文档有点误导,因为它似乎暗示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命令生成的调用。

最新更新