Python SDK list_computers метод security_updates объект всегда Нет - PullRequest
0 голосов
/ 02 апреля 2019

Попытка добавить в отчет значение для обновлений безопасности на компьютерных объектах.используя метод list_computers вместе с python SDK и используя AWS TM 11.3.184.

Ссылка на метод: https://automation.deepsecurity.trendmicro.com/article/11_3/api-reference?platform=aws#operation/listComputers

Согласно документации SDK, в возвращении должен быть объект securityUpdates (действительно, security_updates в возвращении python), который содержит объект состояния внутри.Тем не менее, тестирование, похоже, показывает, что в то время как security_updates существует, его значение всегда Нет.

Примечание. Кстати, вторичная проблема, на которую следует обратить внимание, - это ссылка Python API SDK на верблюд (если предположить, что Java SDK возвращает таковой), но реальное возвращение - змеядело.

Я провел перекрестную проверку с консолью и смотрю на компьютер с установленным статусом обновления безопасности «Обновлен», объект в возврате вызова API по-прежнему показывает «Нет».Во фрагменте кода видно конец возврата объекта компьютера для этого случая

 'last_agent_communication': 1554232722261,
 'last_appliance_communication': None,
 'last_ip_used': '10.254.253.126',
 'last_send_policy_request': 1554148882568,
 'last_send_policy_success': 1554148896261,
 'log_inspection': {'module_status': {'agent_status': 'inactive',
                                      'agent_status_message': 'Off, not '
                                                              'installed, '
                                                              'no rules',
                                      'appliance_status': None,
                                      'appliance_status_message': None},
                    'rule_ids': None,
                    'state': 'off'},
 'no_connector_virtual_machine_summary': None,
 'platform': 'Amazon Linux (64 bit) (4.14.77-70.59.amzn1.x86_64)',
 'policy_id': 4,
 'relay_list_id': None,
 'sap': None,
 'security_updates': None,
 'tasks': None,
 'vmware_vm_virtual_machine_summary': None,
 'web_reputation': {'module_status': {'agent_status': 'inactive',
                                      'agent_status_message': 'Off, not '
                                                              'installed',
                                      'appliance_status': None,
                                      'appliance_status_message': None},
                    'state': 'off'},
 'workspace_virtual_machine_summary': None},

Ожидание похоже на то, что в документации API возвращение похоже на это вместо None (в случае со змеей, конечно, в действительности этоскопировано из API ref):

"securityUpdates": {
"updateStatus": {
"status": "inactive",
"statusMessage": "string"
},
"lastChanged": 0,
"rules": [],
"antiMalware": [],
"webReputationService": [],
"manifests": [],
"other": []
},

1 Ответ

0 голосов
/ 02 апреля 2019

Вы нашли то, что я назову «случайным предварительным просмотром будущей функциональности DS API». Хотя есть ошибка в документации, которая означает, что securityUpdates видна, это не функциональность, предлагаемая в DS 11.3. У моей команды есть дело, чтобы исправить ошибку с документами в ближайшее время, но мне жаль, что вы тем временем поймали ее.

Что касается Справочника API в случае верблюда / змеи ... Справочник API показывает JSON "по проводам", отправленный из DSM, который использует camelCase. Когда Python SDK получает JSON, он присваивает значения переменным snake_case (другие SDK присваивают camelCase или инструмент, такой как Postman, отображает JSON напрямую). Я могу видеть, как это сбивает с толку, хотя, поскольку str () объектов python похож на json.

Надеюсь, это поможет разобраться, и что использование Python SDK в противном случае будет для вас удачным!

P.S. Я работаю в R & D для Trend Micro Deep Security

...