当我从 Azure Devops 运行 az role assignment list 时为什么看不到主体名称?

Why don't I see Principal Name when I run az role assignment list from Azure Devops?

I m 运行ning az role assignment list -g from Azure Devops on Microsofts Hosted Agent

我没有在结果中看到 principalName 参数。但是当我在本地 VsCode 中 运行 时使用相同的命令,我看到了 principalName。我检查了 MS 代理和我本地的 az cli 版本,它们是相同的 2.5.1

想知道我错过了什么....

下面是我在 运行 执行上述命令

后在 Azure Devops 中得到的内容
{
    "canDelegate": xxx,
    "id": xxx,
    "name": xxx,
    "principalId": xxx,
    "principalType": xxx,
    "resourceGroup": xxx,
    "roleDefinitionId": xxx,
    "scope": xxx,
    "type": "Microsoft.Authorization/roleAssignments"
}

Why don't I see Principal Name when I run az role assignment list from Azure Devops?

我可以通过 Azure CLI 任务重现此问题。

我发现 github 上有一个关于 Azure clisimilar issue,所以,恐怕这个问题还没有在 azure cli 任务上解决,它仍然存在。

对于resolve/verify这个问题,您可以尝试使用 Azure Powershell 任务登录并执行该命令行:

az login -u <username> -p <password>

az role assignment list --resource-group rgname

结果:

希望对您有所帮助。

Microsoft 帮助解决了这个问题。您的服务主体需要应用程序权限的目录读取访问权限。这将解决问题。