在主机上执行命令
编辑在主机上执行命令
编辑在运行 Elastic Defend 的主机上执行命令。
您必须拥有 Security 功能中的 执行操作
Kibana 权限,并且拥有企业版许可证才能执行此操作。
请求 URL
编辑POST <kibana host>:<port>/api/endpoint/action/execute
请求体
编辑包含以下字段的 JSON 对象
名称 | 类型 | 描述 | 必需 |
---|---|---|---|
|
数组(字符串) |
要在其上执行此操作的端点的 ID。 |
是 |
|
字符串 |
主机正在运行的 Agent 的类型。接受的值为
|
否 |
|
数组(字符串) |
如果此操作与任何警报相关联,则可以在此处指定。该操作将记录在与指定警报相关的任何案例中。 |
否 |
|
数组(字符串) |
将记录所采取操作的案例的 ID。 |
否 |
|
字符串 |
将注释附加到此操作的日志。注释文本将出现在关联的案例中。 |
否 |
|
字符串 |
要在主机上运行的 shell 命令。该命令必须受 Linux 和 macOS 主机的 |
是 |
|
整数 |
主机等待命令完成的持续时间(以秒为单位)。如果未指定超时,则默认为四小时。 |
否 |
execute
操作上传一个文本文件,其中包含端点上执行的结果,该文件受到速率限制。 如果您使用 endpoint_ids
字段来为多个端点分配任务,则应将您的调用按每次 10 个进行批量处理。
示例请求
编辑在 endpoint_id
值为 ed518850-681a-4d60-bb98-e22640cae2a8
的主机上运行命令 ls -al
,超时时间为 600
秒,并添加注释 获取所有文件列表
POST /api/endpoint/action/execute { "endpoint_ids": ["ed518850-681a-4d60-bb98-e22640cae2a8"], "parameters": { "command": "ls -al", "timeout": 600 }, "comment": "Get list of all files" }
响应代码
编辑-
200
- 表示调用成功。
-
403
- 表示用户权限不足(需要执行操作),或不支持的许可证级别(需要企业版许可证)。
响应有效负载
编辑包含创建的响应操作详细信息的 JSON 对象。
示例响应
编辑{ "data": { "id": "9f934028-2300-4927-b531-b26376793dc4", "agents": [ "ed518850-681a-4d60-bb98-e22640cae2a8" ], "hosts": { "ed518850-681a-4d60-bb98-e22640cae2a8": { "name": "gke-endpoint-gke-clu-endpoint-node-po-e1a3ab89-4c4r" } }, "agentType": "endpoint", "command": "execute", "startedAt": "2023-07-28T18:43:27.362Z", "isCompleted": false, "wasSuccessful": false, "isExpired": false, "status": "pending", "outputs": {}, "agentState": { "ed518850-681a-4d60-bb98-e22640cae2a8": { "isCompleted": false, "wasSuccessful": false } }, "createdBy": "myuser", "comment": "Get list of all files", "parameters": { "command": "ls -al", "timeout": 600 } } }