如何解决使用 powershell 重置 Azure 服务主体的客户端机密
我想使用 powershell 命令重置服务主体客户端密码。
我按照文章 https://docs.microsoft.com/en-us/powershell/azure/create-azure-service-principal-azureps?view=azps-5.8.0 中的以下步骤操作 但它没有重置密码
Remove-AzADSpCredential -displayName ServicePrincipalName
$newCredential = New-AzADSpCredential -ServicePrincipalName ServicePrincipalName
你能告诉我我做错了什么吗?我只想重置秘密并拥有新的秘密
我执行了上述命令,然后转到该服务主体的应用注册,然后转到证书和机密,我看到它没有创建新的机密。
使用 bash 我可以通过执行以下命令来重置密码,但我希望它使用 powershell 命令来完成
az ad sp credential reset --name
解决方法
我去了那个服务主体的应用注册,然后我去了证书和机密,我看到它没有创建新的机密。
嗯,实际上命令 New-AzADSpCredential
确实为您创建了一个新的秘密。
首先,您需要了解应用注册(AD App)和服务主体的关系,参见Application and service principal objects in Azure Active Directory。
简而言之,服务主体是特定租户中 AD 应用程序的本地表示。当您为服务主体创建机密时,它不会出现在 Certificates & secrets
刀片中,您可以使用 Get-AzADSpCredential
获取它。
如果要重置可以在门户中找到的密钥,则需要通过Remove-AzADAppCredential
和New-AzADAppCredential
重置 AD 应用(即应用注册)的密钥。
您可以参考下面的示例,它会重置值为 ce96a0ed-5ae8-4a5a-9b3c-630da9ea3023
的机密,有效期为一年,您可以在门户中找到。
$obj = (Get-AzADApplication -DisplayName joyappv2).ObjectId
Remove-AzADAppCredential -ObjectId $obj -Force
$azurePassword = ConvertTo-SecureString "ce96a0ed-5ae8-4a5a-9b3c-630da9ea3023" -AsPlainText -Force
$date = Get-Date
$newCredential = New-AzADAppCredential -ObjectId $obj -Password $azurePassword -StartDate $date -EndDate $date.AddYears(1)
注意:创建后无法再次获取secret值,请在创建时保存。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。