在 Flashduty On-call
您可通过以下两种方式获取集成推送地址,任选其一即可。集成类型都选择标准告警事件,不是 Microsoft Defender for Cloud。
使用专属集成
- 进入 Flashduty 控制台,选择 协作空间,打开一个协作空间
- 选择 配置 → 集成数据 → 专属集成,点击 新增一个集成
- 选择 标准告警事件,点击 保存
- 打开生成的集成卡片,复制 推送地址,形如
https://api.flashcat.cloud/event/push/alert/standard?integration_key=<集成密钥>
使用共享集成
- 进入 Flashduty 控制台,选择 集成中心 → 告警事件
- 选择 标准告警事件,填写集成名称
- 配置默认路由并选择协作空间;创建后可在 路由 中增加更多规则
- 点击 保存,复制生成的 推送地址
在 Microsoft Defender for Cloud 中配置
需要 Security admin 角色或资源组的 Owner 权限;创建和修改 Logic App 需要 Logic App Contributor 权限。
创建 Logic App
- 在 Azure 门户创建一个 Consumption 类型的 Logic App。工作流自动化只会触发 Consumption Logic App
- 工作流的触发器选择 When a Defender for Cloud Alert is created or triggered。不要选择旧的 When a response to a Microsoft Defender for Cloud alert is triggered,工作流自动化不会运行使用它的 Logic App
- 在触发器后添加内置的 HTTP 操作,按下一节填写各字段
- 保存工作流
创建工作流自动化
- 在 Defender for Cloud 左侧菜单选择 Workflow automation,点击 Add workflow automation
- 填写名称和描述
- 在触发条件中选择安全警报,并按需限定严重程度
- 在 Actions 中选择上一步创建的 Logic App;列表里没有时点击 Refresh
- 保存
HTTP 操作
HTTP 操作各字段:
下面是这个 HTTP 操作的 JSON 定义,可以在 Logic App 的 Code view 中放进
actions。@ 开头的整段字符串是 Logic App 表达式,取值来自警报触发器的输出,按 JSON 类型输出,警报名称里含引号也不会破坏 JSON:
字段映射
恢复与去重
Defender for Cloud 工作流自动化只在警报产生(created or triggered)时运行 Logic App,不会在警报解除时再发通知,所以这个集成的告警不会自动恢复。请在接收该集成的协作空间开启 超时自动关闭,建议 3 天,或按团队处理警报的周期调整;也可以在 Flashduty 中手动关闭。
排查问题
- Flashduty 返回
InvalidParameter:检查event_status是否为首字母大写的Critical、Warning、Info之一,title_rule是否为空 - 工作流自动化的下拉列表里没有 Logic App:列表只显示带有 Defender for Cloud 连接器的 Consumption Logic App,创建后点击 Refresh
- Logic App 没有运行:确认触发器是 When a Defender for Cloud Alert is created or triggered,并且工作流自动化的触发条件(严重程度)覆盖了这条警报