【发布时间】:2015-07-29 02:14:04
【问题描述】:
我在使用服务主体对 Azure 资源管理器进行身份验证时遇到问题。在故障排除过程中,我注意到Get-AzureADServicePrincipal 为我的服务主体显示AccountEnabled: False,而Get-MsolServicePrincipal 为同一服务主体显示AccountEnabled: True。
C:\Users\virklba> Get-AzureADServicePrincipal -SearchString azuremaint |fl
ServicePrincipalName : https://mycompany.com/AzureMaint
ApplicationId : 20bc779d-0edb-4a00-becf-952fda93edc5
AccountEnabled : False <-----------
DisplayName : AzureMaint
Id : 585cd6c7-403a-4940-9817-5139a254245e
Type :
C:\Users\virklba> Get-MsolServicePrincipal -ObjectId 585cd6c7-403a-4940-9817-5139a254245e
ExtensionData : System.Runtime.Serialization.ExtensionDataObject
AccountEnabled : True <-----------
Addresses : {Microsoft.Online.Administration.RedirectUri, Microsoft.Online.Administration.RedirectUri}
AppPrincipalId : 20bc779d-0edb-4a00-becf-952fda93edc5
DisplayName : AzureMaint
ObjectId : 585cd6c7-403a-4940-9817-5139a254245e
ServicePrincipalNames : {https://mycompany.com/AzureMaint, 20bc779d-0edb-4a00-becf-952fda93edc5}
TrustedForDelegation : False
我尝试过Set-MsolServicePrincipal -ObjectId 585cd6c7-403a-4940-9817-5139a254245e -AccountEnabled $true,但这并没有改变任何东西。没有Set-AzureADServicePrincipal cmdlet。
那么如何确保该帐户真正启用?
【问题讨论】:
-
您是如何配置服务主体的?它应该已被授予 Azure 服务管理 API 的权限,如下所述:msdn.microsoft.com/en-us/library/azure/dn790557.aspx
-
我按照您链接的说明创建了另一个服务主体 - 结果相同。也许这是
Get-AzureADServicePrincipal中的一个错误。 -
但是您的服务主体正在工作,它只是来自 powershell 的这个属性值?您可以运行 fiddler 并检查来自 powershell 的调用和结果。
-
好点。 Fiddler 显示
Get-AzureADServicePrincipal后面的 API 调用正在返回accountEnabled=True,因此显然这是Get-AzureADServicePrincipal的问题。我仍然无法让我的服务主体在 Azure 自动化中工作,但这是另一个问题。
标签: azure azure-active-directory azure-resource-manager