You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过编程方式根据触发事件设置PagerDuty告警接收人

动态设置PagerDuty告警接收人的实现方案

你的核心需求完全可以实现,初步构思的Lambda查询CloudTrail提取操作人邮箱的思路具备可行性,具体落地方式和更优路径如下:

现有思路的落地步骤

  • 保留现有AWS Config→EventBridge→SNS的链路基础,只需要在EventBridge侧加一个Lambda触发,不要让PagerDuty直接消费SNS的原始事件。
  • Lambda触发后,从AWS Config推送的不合规事件中提取资源ID、违规时间戳、关联配置项ID,用这些参数查询对应时间窗内CloudTrail的API调用记录,定位到触发资源变更的操作人身份,再从IAM用户标签、Identity Center目录或者企业内部的人员映射表拿到对应邮箱地址。
  • 拿到目标邮箱后,直接在Lambda内构造PagerDuty事件请求,提交告警时直接指定接收人参数,或者给事件打上自定义分派标签:需要确保传入的邮箱已经在你的PagerDuty租户下绑定了对应用户,否则分派会失败,自动回退到默认通知规则。

更优实现路径(降低维护成本、减少链路延迟)

  • 跳过事后查询CloudTrail的环节:直接在EventBridge配置规则,捕获所有会触发AWS Config不合规的资源修改类API操作(比如修改安全组规则、调整S3桶公有访问配置、修改IAM权限策略等),这类CloudTrail事件本身就自带userIdentity字段,事件触发时就能直接拿到操作人标识,不用等Config跑完规则检测再倒查日志,告警延迟能从几分钟降到秒级,也省掉了多步CloudTrail查询的逻辑和API调用成本。
  • 用PagerDuty原生动态分派规则替代硬编码传参:Lambda处理事件时,不需要直接写死接收人字段,只需要把提取到的操作人邮箱、资源所属业务线、违规等级这些字段作为自定义属性附加到告警事件中,在PagerDuty后台提前配置分派规则:事件携带的操作人邮箱匹配到租户内用户时自动分派给对应人员,匹配失败时自动 fallback 到你原来配置的预设接收人,容错性更高,后续调整分派逻辑不用改Lambda代码。
  • 按需简化链路:如果SNS主题没有其他消费方,可以直接去掉SNS层,EventBridge触发Lambda处理完逻辑后直接推送事件到PagerDuty,链路更短排障更简单;如果SNS还要给其他监控、审计系统推送事件,保留SNS也不影响,只要把PagerDuty的事件来源改成Lambda输出即可。

避坑提示:不要在PagerDuty已经触发告警、给默认接收人发完通知之后再调用接口改派,会导致无关人员收到无效告警打扰,所有分派相关的参数和标签一定要在第一次向PagerDuty提交告警事件时就带全。

内容的提问来源于stack exchange,提问作者Ben

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.28 17:45:47