我看过类似这样的帖子,其中对于允许 ServicePrincipal 在使用 Login-AzureRmAccount 登录时调用 Get-AzureRmRoleAssignment 所需的确切权限存在混淆。
在我的情况下,如果我使用 -debug 标志调用 Get-AzureRmRoleAssignment,我可以在 HTTP 响应的正文中捕获以下错误:
Body:
{
"odata.error": {
"code": "Authorization_RequestDenied",
"message": {
"lang": "en",
"value": "Insufficient privileges to complete the operation."
}
}
}
我为应用程序设置了权限,如下所示......首先是 Azure AD 访问:
然后 Microsoft Graph 访问:
这仍然会给出 authZ 失败错误。我什至尝试过一个实验,我为每个 API 赋予应用程序所有权限,但仍然没有用。
少了什么东西?究竟需要哪些权限才能允许只读编程访问以列出此调用的角色分配?