azure - Get-AzRoleAssignment 在 Azure Runbook 中引发 M

我正在 Azure 自动化帐户中使用 Runbook。在此 Runbook 中,我使用“以帐户身份运行”,它对订阅拥有所有者权限。当我执行命令 Get-AzRoleAssignment 时,我得到:

    Get-AzRoleAssignment : Exception of type 'Microsoft.Rest.Azure.CloudException' was thrown. 
    At line:21 char:16 + $listOfUsers = Get-AzRoleAssignment -verbose + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +
 CategoryInfo : CloseError: (:) [Get-AzRoleAssignment], CloudException + FullyQualifiedErrorId : 
Microsoft.Azure.Commands.Resources.GetAzureRoleAssignmentCommand 

“以帐户身份运行”的服务主体具有以下权限:

你有什么想法吗?

是否是授权错误?如果是这样,我应该给 SP 哪些权限?

最佳答案

当您使用某些参数运行命令时,例如,我也可以在我这边重现您的问题。使用 ObjectIdGet-AzRoleAssignment -ObjectId xxxxx,它将首先调用 AAD 图表来验证租户中的对象。

要解决此问题,只需添加 Azure Active Directory Graph应用程序权限 Directory.Read.All > 到您的 RunAs 帐户的 AD 应用程序。

注意:在您的屏幕截图中,您添加了委派权限 Directory.Read.All,它将不起作用,它必须是应用程序权限,请检查以下步骤。

授予权限后,就可以正常工作了。

关于azure - Get-AzRoleAssignment 在 Azure Runbook 中引发 Microsoft.Rest.Azure.CloudException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67002473/

相关文章:

google-apps-script - 在多个工作表中搜索一个词

python - 如何使 Prophet 的输出静音?

typescript - 类型错误 : Property 'currentTime' does no

ios - FaSTLane 设置 - 致命 : could not read Password f

azure - 对于高级、低延迟、带有搜索功能的大量小型 json 文件,Azure BlockBl

javascript - 如果没有 .js 扩展名,则为 ERR_MODULE_NOT_FOUND

java - 未找到 native micronaut 数据插入查询的可能实现

sql-server - SQL 服务器 : splitting a row into severa

python - datetime.combine with timezone 不同于 dateti

mongodb - 如何在 Rust 中使用 Mongodb::cursor?