到期时自动更新服务主体客户机密?

Automatically update Service Principal client secret on expiry?

我有一个 Power Platform 环境的服务主体,DevOps 平台将使用它来部署到这个环境。

服务主体要求我设置一个客户端密码,我在 DevOps 中的服务连接将引用该密码

您必须设置最长 2 年的客户端密码到期日期,超过 2 年将无法使用。所以我需要进入 Azure 门户,更新客户端密码,然后进入 DevOps 并更新服务连接。

有没有办法让我自动执行此操作?

You must set a client secret expiry date of up to 2 years and after that time, it won't work.

实际上,不需要这样做,在 azure portal 中,最长为 2 年,但您可以使用 azure powershell 来创建一个近乎永久的秘密,例如100 年。

如果您想自定义秘密值,请使用 Az module, login with Connect-AzAccount, then use New-AzADAppCredential,如下所示。

$SecureStringPassword = ConvertTo-SecureString -String "password" -AsPlainText -Force
New-AzADAppCredential -ApplicationId <ApplicationId of the App Registration> -CustomKeyIdentifier "test" -Password $SecureStringPassword -EndDate (Get-Date).AddYears(100)

如果您想自动生成一个秘密值,请使用下面的AzureAD module, login with Connect-AzureAD, then use as New-AzureADApplicationPasswordCredential

New-AzureADApplicationPasswordCredential -ObjectId <ObjectId of the App Registration> -EndDate (Get-Date).AddYears(100)