Azure 自动化 - 无法获取 AzRoleAssignement

Azure Automation - Unable to get AzRoleAssignement

为了使某些流程自动化,我正在使用具有 RunAsAccount 所有者权限的 Azure Automation

$connection = Get-AutomationConnection -Name AzureRunAsConnection

while(!($connectionResult) -And ($logonAttempt -le 10))
{
    $LogonAttempt++
    # Logging in to Azure...
    $connectionResult =    Connect-AzAccount `
                               -ServicePrincipal `
                               -Tenant $connection.TenantID `
                               -ApplicationId $connection.ApplicationID `
                               -CertificateThumbprint $connection.CertificateThumbprint

    Start-Sleep -Seconds 30
    Write-Output $connectionResult
}

Get-AzRoleAssignment -ResourceGroupName $USERRGNAME -SignInName $USEREMAIL -verbos

每次执行脚本时都会抛出 错误

Get-AzRoleAssignment: Cannot find principal using the specified options

有解决此问题的想法吗?

SignInName 选项中没有提供名称的角色分配时,会显示此错误。

可能您需要为 RunAsAccount 提供 Azure AD Graph 的应用程序权限 Directory.Read.All(不是 Microsoft Graph,不是委托权限)。默认情况下,RunAsAccount 没有 Azure AD 权限。

您可以阅读 Joy's answer 了解更多详情。