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

Azure Key Vault密钥自动轮换及到期前1个月通知与审批续签需求

Azure Key Vault密钥到期通知与自动续签实现方案

一、配置到期前1个月通知

1. 用Azure Monitor设置到期警报

  • 进入目标Azure Key Vault,导航到「监控」→「警报」→「创建警报规则」
  • 信号选择:搜索并选择「Key Vault - 密钥即将到期」指标,设置触发条件为「到期时间在30天内」
  • 动作组:配置通知方式,支持邮件、Teams消息,也可以触发Azure Function/Logic App来启动后续自动化流程
  • 可选:强制密钥设置到期日
    用Azure Policy避免无到期日的密钥漏监控,示例Policy定义:
    {
      "if": {
        "allOf": [
          {
            "field": "type",
            "equals": "Microsoft.KeyVault/vaults/keys"
          },
          {
            "field": "Microsoft.KeyVault/vaults/keys/expiresOn",
            "exists": false
          }
        ]
      },
      "then": {
        "effect": "deny"
      }
    }
    

二、Azure DevOps流水线自动化续签(带审批)

1. 流水线触发方式

  • 定时触发:设置每周运行一次,扫描所有即将到期的密钥
  • Webhook触发:将Azure Monitor警报关联到DevOps流水线的Webhook,当警报触发时自动启动流水线

2. 添加审批环节

在流水线的执行阶段前,添加「环境审批」:

  • 创建专用审批环境,指定审批人列表
  • 只有审批人通过后,流水线才会执行密钥续签操作

3. 编写续签脚本(Azure CLI示例)

给DevOps服务主体分配Key Vault的「密钥管理员」角色,确保有修改权限,然后添加CLI任务:

# 获取30天内到期的密钥列表
EXPIRING_KEYS=$(az keyvault key list --vault-name "your-vault-name" --query "[?expiresOn <= '$(date -d '+30 days' --utc +%Y-%m-%dT%H:%M:%SZ)'].[name]" -o tsv)

# 遍历续签(延长1年,可根据需求调整)
for KEY_NAME in $EXPIRING_KEYS; do
  az keyvault key set-attributes --vault-name "your-vault-name" --name $KEY_NAME --expires $(date -d '+1 year' --utc +%Y-%m-%dT%H:%M:%SZ)
  echo "Successfully renewed key: $KEY_NAME"
done

4. 结果通知与日志

添加任务发送续签结果通知(如Teams消息、邮件),同时在流水线中保留操作日志,便于追溯。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 08:57:04