0

试图增加计算机对象安全更新的报告价值。将 list_computers 方法与 python 开发工具包一起使用并使用 AWS TM 11.3.184。

方法参考:https ://automation.deepsecurity.trendmicro.com/article/11_3/api-reference?platform=aws#operation/listComputers

根据 SDK 文档,返回内部应该有一个 securityUpdates 对象(实际上是 python 返回中的 security_updates),其中包含内部的状态对象。但是,测试似乎表明,虽然 security_updates 存在,但它的值始终为 None

注意:顺便说一句,需要注意的第二个问题是 python SDK API 参考显示了驼峰式(假设 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 文档中返回类似于 this 而不是 None (当然在现实中的蛇情况下,这是从 API ref 复制的):

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

1 回答 1

0

您已经找到了我所说的“对未来 DS API 功能的意外预览”。尽管有一个文档错误表明 securityUpdates 是可见的,但这不是 DS 11.3 中提供的功能。我的团队有一个案例可以尽快修复文档错误,但我很遗憾看到你在此期间被它抓住了。

至于 API Reference camel/snake 案例...... API Reference 显示了从 DSM 发送的“在线”JSON,它使用 camelCase。当 python SDK 接收到 JSON 时,它会将值分配给 snake_case 变量(其他 SDK 分配给 camelCase,或者像 Postman 这样的工具直接显示 JSON)。我可以看到它是多么令人困惑,因为 python 对象的 str() 看起来类似于 json。

我希望这有助于理解事情,并且使用 python SDK 对你来说很顺利!

PS 我在 Trend Micro Deep Security 的研发部门工作

于 2019-04-02T20:04:49.503 回答