Azure Automation RunAs 帐户访问 Active Directory 资源

Azure Automation RunAs account access to Active Directory resource

我正在尝试创建一个在 Active Directory 中进行一些维护的 Runbook。在创建自动化帐户时,创建了一个 "RunAs" 帐户。在运行手册中,我使用以下命令连接到 AD。

$connectionName = "AzureRunAsConnection"

# Get the connection "AzureRunAsConnection "
$servicePrincipalConnection=Get-AutomationConnection -Name $connectionName         

"Logging in to AzureAD..."
Connect-AzureAD `
 -TenantId $servicePrincipalConnection.TenantId `
 -CertificateThumbprint $servicePrincipalConnection.CertificateThumbprint `
 -ApplicationId $servicePrincipalConnection.ApplicationId `
 -LogLevel Info

此命令运行良好,但随后使用 AD CMDLETS 出现以下错误,

$Users = Get-AzureADUser
Get-AzureADUser : Error occurred while executing GetUsers Code: Authorization_RequestDenied Message: Insufficient privileges to complete the operation. 
HttpStatusCode: Forbidden 
HttpStatusDescription: Forbidden 
HttpResponseStatus: Completed

A​​D模块中的其他CMDLETS也是如此,不仅如此我已经尝试通过Active Directory中的注册应用程序(与自动化帐户连接资源相关)添加API权限但我仍然面临上述特权问题。

根据一些测试,您需要添加Azure AD的权限而不是Micorsoft Graph。 Get-AzureADUser 命令似乎在后端使用了 Azure AD 图形。所以我们需要做如下操作:

之后我们就可以使用命令Get-AzureADUser成功了(如果你在powershell中测试命令,当你添加Azure AD权限时,请关闭powershell并重新打开它并重新连接)