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

如何为Azure客户端应用的服务主体设置密钥过期预警?

Azure服务主体密钥过期预警与管理方案

一、内置预警设置方法

1. Azure Monitor自定义警报规则

直接通过Azure Monitor创建针对服务主体密钥过期的警报,精准通知指定团队:

  • 登录Azure门户,进入Monitor > 警报 > 创建 > 警报规则
  • 选择范围:筛选资源类型为Microsoft.AAD/domainServices,或直接指定目标服务主体
  • 选择信号:在"信号类型"中找到服务主体凭据即将过期,设置预警阈值(比如过期前7天)
  • 配置动作组:添加邮件/短信通知,指定需要接收预警的团队成员邮箱或手机号

2. 利用Azure AD内置通知

Azure AD默认会在服务主体密钥过期前30天、7天、1天向全局管理员发送提醒邮件。如果需要让业务团队接收,可结合上面的Monitor规则,将动作组的通知对象扩展到对应团队。

二、无内置预警时的替代管理方案

1. 定期脚本巡检

用PowerShell或Azure CLI编写自动化脚本,定期扫描并通知即将过期的密钥:

# 登录Azure账号
Connect-AzAccount -TenantId "你的租户ID"

# 设置预警提前天数
$warningThreshold = 7
$currentDate = Get-Date

# 获取所有服务主体及其密钥信息
$expiringCredentials = Get-AzADServicePrincipal | ForEach-Object {
    $sp = $_
    Get-AzADSpCredential -ObjectId $sp.Id | Where-Object {
        $_.EndDate -lt $currentDate.AddDays($warningThreshold) -and $_.EndDate -gt $currentDate
    } | Select-Object @{Name="服务主体名称";Expression={$sp.DisplayName}}, @{Name="过期时间";Expression={$_.EndDate}}
}

# 发送预警邮件(需提前配置SMTP服务器)
if ($expiringCredentials) {
    $emailBody = $expiringCredentials | ConvertTo-Html -Fragment
    Send-MailMessage -From "azure-alert@yourdomain.com" -To "team@yourdomain.com" -Subject "Azure服务主体密钥即将过期预警" -Body $emailBody -BodyAsHtml -SmtpServer "smtp.yourdomain.com"
}

将脚本配置为Azure自动化账户的定时作业,实现无人值守的定期巡检。

2. 纳入团队配置管理流程

  • 把所有服务主体的密钥过期日期记录到团队的配置文档(如Confluence、Notion)
  • 在团队共享日历中为每个密钥设置提前预警的日历提醒
  • 每月安排一次手动复查,确认所有密钥的有效期状态

3. 替换为证书凭据

优先使用证书凭据替代客户端密钥:

  • 证书的有效期可设置为1-3年,减少频繁更新的操作
  • 支持通过Azure AD的证书轮换机制自动更新,降低服务中断风险

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 08:32:07