Azure中如何创建有效警报,通知证书/API密钥等资产即将过期?
Azure资产过期实用通知实现方案
方案一:Azure Monitor自定义查询规则警报(推荐)
- 利用Azure Monitor的自定义查询规则直接查询资产过期属性,无需依赖资源自身信号:
- 进入Azure Monitor > 警报 > 创建 > 警报规则
- 选择目标范围:可覆盖订阅、资源组或特定资源类型(如Key Vault、App Service)
- 选择信号类型为自定义日志搜索,编写Kusto查询筛选即将过期的资产:
- 示例:查询Key Vault中30天内到期的证书
AzureDiagnostics | where ResourceType == "VAULTS" and OperationName == "CertificateList" | extend ExpiryDate = todatetime(properties_s.expiry) | where ExpiryDate between (now() .. now()+30d) | project VaultName=Resource, CertificateName=name_s, ExpiryDate
- 示例:查询Key Vault中30天内到期的证书
- 设置警报触发条件:当查询结果行数大于0时激活
- 关联已定义的Action Group,在通知环节选择目标行动组
- 自定义通知内容:在警报规则的「详细信息」中编辑自定义电子邮件内容,插入查询结果中的字段(如证书名称、过期日期),让通知包含实用信息
方案二:Azure Logic Apps(Workflow)自定义通知集成
- 虽然Logic Apps无直接Action Group连接器,但可通过两种方式实现:
- 调用Action Group Webhook:
- 进入目标Action Group > 添加接收器 > 选择「Webhook」,复制生成的Webhook URL
- 在Logic Apps中创建计划触发的工作流,添加「HTTP」动作,方法设为POST,URL填入上述Webhook地址
- 在请求体中自定义JSON格式的通知内容,包含资产名称、过期时间、更新指引等,Action Group会自动转发该内容给接收者
- 直接发送个性化邮件:
- 使用Logic Apps的「Office 365 Outlook」或「SendGrid」连接器,直接向维护人员发送邮件,内容可自定义插入资产过期详情,同时复用Action Group中的收件人列表(将收件人信息存储在变量或Azure Key Vault中)
- 调用Action Group Webhook:
方案三:Azure Automation Runbook批量检查通知
- 适合批量管理多类型到期资产的场景:
- 创建Azure Automation账户,编写PowerShell/Python Runbook,遍历目标资源(如Key Vault证书、API密钥)并检查过期时间
- 在Runbook中筛选即将过期的资产,生成包含详细信息的通知内容
- 调用Azure Monitor Action Group API,或使用Automation内置的「Send Email」动作发送通知
- 为Runbook设置计划触发器,定期执行检查任务
内容的提问来源于stack exchange,提问作者Neutrino
相关产品推荐
相关产品推荐

