【发布时间】:2023-01-19 16:17:54
【问题描述】:
您好,我想使用自动化帐户 Runbook 获取租户中多个应用程序(但订阅不同)的应用程序注册信息。我目前在自动化帐户上有一个系统分配的托管标识。在我的 powreshell 工作流程运行手册中,我有以下 sn-p 代码:
try{
"Logging in to Azure..."
#Connect-AzAccount
Connect-AzAccount -Identity
$token = (Get-AzAccessToken -ResourceTypeName MSGraph).token
$secreToken = ConvertTo-SecureString -String $token -AsPlainText -Force
Connect-MgGraph -AccessToken $secreToken
}
catch{
Write-Error -Message $_.Exception
throw $_.Exception
}
$apps = Get-AzADApplication
当我运行 Runbook 时,我收到 Insufficient privileges to complete the operation. 错误消息。无论如何以这种方式使用托管标识运行 Get-AzADApplication 吗?如果没有,是否有更好的身份验证方法可以使用?
【问题讨论】:
-
您的 MSI 具有哪种 AAD 角色?
-
如果我转到 AAD->企业应用程序->搜索我的 MSI->角色和管理员,我会看到应用程序凭据管理员、云应用程序管理员、报告阅读器和 XOM - 应用程序角色管理员
标签: azure powershell runbook