API событий AWS CloudTrail Lookup

Я пытаюсь использовать LookupEvents API, используя Postman в качестве пользователя агент. Когда я устанавливаю фильтр в Body как необработанный Json, я все равно получаю все журналы вместо одного. Есть идеи как это сделать? Метод: Post Content-type: application / json или Content-type: application / x-amz-json-1.0 Я также пробовал использовать необработанное тело как text / json.

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

person Nitish Mathur    schedule 17.02.2020    source источник
comment
Вы используете API Gateway для отправки запроса в Postman?   -  person Suraj Bhatia    schedule 17.02.2020


Ответы (1)


Какой плохо документированный API! В конце концов у меня это получилось, но найти шаги было непросто.

Убедитесь, что ваш запрос:

  • Метод POST.
  • Не имеет параметров строки запроса
  • Включает Content-Type из application/x-amz-json-1.1.
  • Содержит заголовок x-amz-target со значением com.amazonaws.cloudtrail.v20131101.CloudTrail_20131101.LookupEvents.

Документация «Общие параметры» немного вводит в заблуждение, так как похоже, подразумевается, что 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.

person Mike Patrick    schedule 17.02.2020
comment
Гениально !!! Это сработало для меня. Большое спасибо. Но согласен, очень плохая документация. - person Nitish Mathur; 18.02.2020