簡體   English   中英

Azure 自動化:Runbook、RunAs 帳戶:如何允許訪問 AAD(例如 Get-AzADUser)?

[英]Azure Automation: Runbook, RunAs Account: How to allow access to AAD (e.g. for Get-AzADUser)?

下午好

我為這個問題選擇了stackoverflow,因為可能主要是程序員面臨這個問題:

這是問題:

如果我們調用Get-AzADUser來獲取 Azure 自動化運行手冊中的所有 AAD 用戶,那么我們會得到: Error 'Insufficient privileges'

我們這樣做:

  1. 我們有一個帶有“Azure 運行方式帳戶”的自動化帳戶
  2. 在 PowerShell Runbook 中,我們調用:
    # Connect to AAD
    $Conn = Get-AutomationConnection -Name AzureRunAsConnection
    $account = Connect-AzAccount -ServicePrincipal `
               -TenantId $Conn.TenantID  `
               -ApplicationId $Conn.ApplicationID  `
               -CertificateThumbprint $Conn.CertificateThumbprint
    # Get All AAD Users
    $AllADUsers = Get-AzADUser
  1. 如果我們啟動 Runbook,我們會得到錯誤:
> Get-AzADUser : Insufficient privileges to complete the operation.
> FullyQualifiedErrorId :
> Microsoft.Azure.Commands.ActiveDirectory.GetAzureADUserCommand

這是權限配置:

  1. Automation Account已設置Run as accounts » Azure Run As Account (而不是 Azure 經典運行方式帳戶)
  2. 事實上, Azure Run As Account具有誤導性,它是一個注冊應用程序,可以在 Azure App registrations中找到
  3. 注冊的應用程序具有以下設置:

» 具有所有權限的自定義角色。

» API 權限:

Microsoft Graph (6)
Delegated    Directory.AccessAsUser.All
Delegated    Directory.ReadWrite.All
Delegated    User.ReadWrite.All
Application  Directory.ReadWrite.All
Application  User.Export.All
Application  User.ReadWrite.All

» 所有 API 權限均授予我們的租戶

不幸的是,我們仍然收到錯誤“權限不足”

非常感謝您的幫助!

親切的問候,托馬斯

根據一些測試,您需要添加 Azure AD 而不是 Micorsoft Graph 的權限。 似乎Get-AzADUser命令在后端使用 Azure AD 圖,而不是微軟圖。 所以我們需要進行如下操作: 在此處輸入圖像描述

在此處輸入圖像描述

之后我們就可以使用命令Get-AzADUser成功了(如果你在powershell中測試命令,當你添加Azure AD權限時,請關閉Z2F2D399F0EA8844859FE5514B30473的影響,避免重新打開緩存的影響)並重新連接B73

我在我這邊測試它,它顯示與您相同的錯誤,並且在添加此權限后它可以讓用戶成功。 希望有幫助~

在此處輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM