Azure Runbook Authorization_RequestDenied AzureAD 模块

Azure Runbook Authorization_RequestDenied AzureAD module

我正在尝试在 Azure 中创建一个运行手册来执行 AzureAD 命令。我一开始就收到错误(跳过参数设置):

$connection = Connect-AzureAD -TenantId $ServicePrincipalConnection.TenantId -ApplicationId $ServicePrincipalConnection.ApplicationId -CertificateThumbprint $ServicePrincipalConnection.CertificateThumbprint
Write-Output "Connection established: "
$connection

Get-AzureADUSer

这是我得到的输出:

Connection established: 

Account      : xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Environment  : AzureCloud
Tenant       : yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy
TenantId     : yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy
TenantDomain : 
Error occurred while executing GetUsers 
Code: Authorization_RequestDenied
Message: Insufficient privileges to complete the operation.
RequestId: zzzzzzzz-zzzz-zzzz-zzzz-zzzzzzzzzzzz
DateTimeStamp: Fri, 18 Feb 2022 17:49:37 GMT
HttpStatusCode: Forbidden
HttpStatusDescription: Forbidden
HttpResponseStatus: Completed

所以连接似乎工作正常,但 Get-AzureADUser 调用失败。我猜该应用程序缺少某些 API 权限,但我不知道那是什么。 现在我已经授予:

有人能帮忙吗?提前谢谢了。 问候。

ps:Runbook 和 AzureAD 模块版本 5.1。 7.1 版抛出错误:https://github.com/PowerShell/PowerShell/issues/10473

当用于 运行 Azure PowerShell cmdlet 的用户帐户没有正确的管理员角色时,会发生此错误。

Get-AzureADUser 命令在后端使用 Azure AD 图形。 您可能需要添加 AAD 图(Azure Active Directory 图)的 应用程序权限 ,Directory.Read.All 并确保 授予管理员同意。

勾选support-for-azure-ad-graph-permission

(或)

转到 Azure 门户 > Azure AD > 角色和管理员 > Select 目录读者角色并将此角色分配给所需的 运行 图书。

参考: Authorization_RequestDenied error

编辑: