Azure Service Principal(服务主体)的有效期是多久?是否可延长?
关于Azure服务主体生命周期及凭证有效期的说明
服务主体本身的生命周期
- 服务主体本身无默认有效期限制,只要未在Azure AD中手动删除该服务主体、其关联的应用注册未被清理、所属Azure AD租户正常存续,就可以长期使用,不存在自动过期的问题。
关联凭证的有效期规则
- 服务主体用于登录的凭证(包括密码、证书两类)默认存在有效期限制:
- 常规创建时默认最长可选有效期为2年,也可根据需求设置更短的有效期
- 凭证有效期支持自定义调整,可设置为超过2年的时长,也可以设置为永久有效
凭证有效期延长操作(PowerShell方式)
可直接通过Az PowerShell模块为已有服务主体续期或调整有效期,以下是常用操作示例:
1. 安装并导入Az.Accounts模块(如果未安装)
Install-Module -Name Az.Accounts -Scope CurrentUser -Force Import-Module Az.Accounts
2. 先以全局管理员/应用管理员身份登录Azure
Connect-AzAccount -Tenant <你的租户ID>
3. 为指定服务主体创建新的长期有效的密码凭证
# 替换为你的服务主体对应的应用注册ID $appId = "xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" # 自定义凭证有效期,示例设置为10年有效期,也可以调整为你需要的时长 $endDate = (Get-Date).AddYears(10) $sp = Get-AzADServicePrincipal -ApplicationId $appId $newCredential = New-AzADSpCredential -ObjectId $sp.Id -EndDate $endDate # 输出新生成的密码值,注意妥善保存,关闭窗口后无法再次查看 $newCredential.SecretText
注意:如果需要设置永久有效,只需要将
$endDate设置为(Get-Date).AddYears(99)即可,Azure会识别为永久有效凭证。
4. 删除过期/不需要的旧凭证(可选)
# 查看该服务主体所有现有凭证的ID和有效期 Get-AzADSpCredential -ObjectId $sp.Id # 删除指定ID的旧凭证 Remove-AzADSpCredential -ObjectId $sp.Id -KeyId <要删除的凭证KeyId>
内容的提问来源于stack exchange,提问作者korra
相关产品推荐
相关产品推荐

