簡體   English   中英

Azure DevOps 服務連接是否需要提升權限?

[英]Do Azure DevOps Service Connection need elevated permissions?

我正在使用 Azure DevOps 服務來創建服務連接,但出現錯誤。 我正在嘗試按照此處概述的步驟進行操作

這些是我遵循的步驟:

  • 使用密鑰添加新的 AAD 應用注冊。

  • 在 DevOps 中,從項目設置中創建一個新的服務連接。

    • 連接類型:ARM
    • 認證方式:Serviceprincipal(手動)
    • 環境:Azure 雲
    • Scope:訂閱
    • 訂閱號:xxx
    • 訂閱名稱:xxx
    • 服務主體 ID:xxx
    • 服務主體密鑰:xxx
    • 租戶編號:xxx

當我單擊驗證時,我收到此錯誤:

查詢服務連接失敗 API: 'https://management.azure.com/subscriptions/xxx?api-version=2016-06-01'。 狀態碼:'Forbidden',來自服務器的響應:'{"error":{"code":"AuthorizationFailed","message":"object id 'abc' 的客戶端 'abc' 沒有執行操作的授權' Microsoft.Resources/subscriptions/read' over scope '/subscriptions/xxx' 或 scope 無效。如果最近授予訪問權限,請刷新您的憑據。"}}'

所以,

這是否意味着,我的應用注冊需要對此 xxx 訂閱具有讀取權限? 我不能 scope 到資源組級別嗎? 如果是,我該怎么做,因為我在門戶中看不到該選項? 謝謝!

我試圖在我的環境中重現相同的內容並得到與以下相同的錯誤:

在此處輸入圖像描述

這是否意味着,我的應用注冊需要對此 xxx 訂閱具有讀取權限? 我不能 scope 到資源組級別嗎?

是的,您的應用注冊需要具有該訂閱級別的讀取權限。 您不能將其 scope 查詢到資源組級別,因為查詢https://management.azure.com/subscriptions/xxx?01-version=2016-06訂閱相關

閱讀權限將包含在讀者、貢獻者和所有者等角色中。 對於最低權限,我為應用程序分配了reader角色,如下所示:

Go 到 Azure 門戶 -> 訂閱 -> 您的訂閱 -> 訪問控制 (IAM) -> 添加角色分配 -> Select 角色

在此處輸入圖像描述

分配該角色后,驗證成功,如下所示:

在此處輸入圖像描述

當您創建 ARM 服務原則(手動)類型服務連接時,您需要在 Z3A580F142203677F1F0BC30898F63F5Z 門戶中的 Azure 訂閱中手動添加此服務原則的角色分配。

通常,您需要為此服務原則賦予“貢獻”角色來執行操作。

在 AAD 中找到此應用注冊的概覽頁面。

在此處輸入圖像描述

在您的 Azure 訂閱頁面中,單擊 IAM -> 添加 -> 添加角色分配

在此處輸入圖像描述

Select 此應用程序的名稱並為其分配此 Azure 訂閱的“貢獻”角色。

在此處輸入圖像描述

暫無
暫無

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

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