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

如何在Azure Key Vault中自动续订Service Principals密钥?

在Azure Key Vault中自动续订Service Principal密钥的解决方案

方案1:Azure Automation Runbook 脚本实现

前置准备

  • 创建Azure Automation账户,启用系统分配托管标识,为该标识分配:
    • Azure Key Vault的Secret Get、Secret Set权限
    • Azure AD的Application.ReadWrite.OwnedBy权限(针对目标Service Principal)

核心步骤

  1. 编写PowerShell Runbook,实现密钥轮换逻辑:
# 通过托管标识登录Azure
Connect-AzAccount -Identity

# 配置参数
$targetSpClientId = "替换为你的Service Principal Client ID"
$keyVaultName = "替换为你的Key Vault名称"
$secretName = "存储Service Principal密钥的Secret名称"
$secretValidityMonths = 6

# 生成新的客户端密钥
$newCredential = New-AzADAppCredential -ApplicationId $targetSpClientId -EndDate (Get-Date).AddMonths($secretValidityMonths)

# 将新密钥存入Key Vault
Set-AzKeyVaultSecret -VaultName $keyVaultName -Name $secretName -SecretValue (ConvertTo-SecureString $newCredential.SecretText -AsPlainText -Force)

# 清理过期密钥(可选)
$oldCredentials = Get-AzADAppCredential -ApplicationId $targetSpClientId | Where-Object { $_.EndDate -lt (Get-Date).AddDays(7) }
foreach ($cred in $oldCredentials) {
    Remove-AzADAppCredential -ApplicationId $targetSpClientId -KeyId $cred.KeyId -Force
}
  1. 为Runbook设置定时触发器,比如在密钥过期前30天执行。

方案2:Azure Logic Apps 无代码实现

步骤

  1. 创建Logic App,添加Recurrence触发器,设置触发频率(如每月1次)。
  2. 添加Azure AD操作Create application password,指定目标Service Principal,设置密钥有效期。
  3. 添加Azure Key Vault操作Set secret,将新生成的密钥存入指定Secret。
  4. (可选)添加Azure AD操作Delete application password,清理即将过期的旧密钥。
  5. 为Logic App的系统分配托管标识配置对应Azure AD和Key Vault权限。

方案3:Azure AD 托管标识自动轮换(预览)

如果你的Service Principal使用系统分配/用户分配托管标识,可直接启用Azure AD的自动密钥轮换功能:

  • 托管标识的密钥由Azure后台自动轮换(每60天一次)
  • Key Vault中引用托管标识凭据的Secret会自动同步最新密钥,无需额外操作
  • 注意:该功能目前仅针对托管标识,非托管Service Principal暂不支持原生自动轮换。

关键注意事项

  • 最小权限原则:仅给执行轮换的主体分配必要权限,避免过度授权。
  • 版本管理:Key Vault默认保留Secret历史版本,可配置版本保留策略以便回滚。
  • 通知:可在轮换流程中添加邮件/Teams通知,确保运维人员知晓密钥更新。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 18:18:26