共用方式為


設定受控 DevOps 集區安全性設定

瞭解如何設定受控DevOps集區的安全性設定。 有兩種方式可以設定安全性設定:

  • 當您使用 [ 安全性 ] 索引標籤建立集區時
  • 使用 [ 安全性 設定] 窗格建立集區之後

設定組織存取

根據預設,您使用受管理 DevOps 集區建立的集區會針對單一組織中的所有專案進行設定。 您可以選擇性地限制對組織中特定專案的存取權,也可以將存取權授與其他組織。

如果您設定集區並授與所有專案的存取權,則集區會新增至您具有適當權限的專案。 如果您設定集區並授與特定專案的存取權,您必須具有在所有指定專案中新增集區的許可權,否則集區建立會失敗。

若要查看在組織和專案中設定受控 DevOps 集區所需的許可權,請參閱 必要條件:驗證 Azure DevOps 許可權。

將集區與單一組織搭配使用

根據預設,受控 DevOps 集區會設定您在建立集區時指定的單一 Azure DevOps 組織。 當您的集區設定為單一組織時,組織名稱會顯示並在 集區設定 中設定。

根據預設,將 集區新增至所有專案 設定會設定為 ,且受控 DevOps 集區的存取權會授與組織中的所有專案。 若要限制組織中哪些專案可以使用集區,請選取 [ ],然後指定哪些專案應該具有存取權。

螢幕擷取畫面,顯示如何為單一組織設定專案。

在多個組織中使用集區

若要搭配多個 Azure DevOps 組織使用集區,請啟用 [在多個組織中使用集區]。 針對每一個組織,指定允許使用集區的專案,或將此欄位保留空白以允許所有專案。 指定要對每個組織配置平行度,透過集區中最大代理程式值來決定並分配每個組織的併發部分。 所有組織的平行度總和必須等於集區的最大並行度。 例如,如果 [最大代理程式 ] 設定為5,則指定組織的平行處理原則總和必須為5。 如果 代理數目上限 值設定為 1,則這個集區只能搭配一個組織使用。

在下列範例中,集區設定為可用於 FabrikamResearchFabrikamTest 專案在 fabrikam-tailspin 組織中,並適用於 fabrikam-blue 組織中的所有專案。

螢幕擷取畫面,顯示如何設定多個組織。

如果您收到類似 The sum of parallelism for all organizations must equal the max concurrency 的錯誤,請確保 最大的代理程式數目並行性 欄的總和相符。

為您的集區設置管線的開放存取權限

若要設定管線的開放存取,除了 必要條件 - 驗證 Azure DevOps 許可權中所述的許可權之外,您還必須具有下列許可權:

根據預設,您必須明確授權每個管線定義在自行架設的代理程式集區中執行,例如使用受控 DevOps 集區建立的集區,這樣它才能在該集區中首次執行。

Azure DevOps 提供下列模式來授權管線在代理程式集區中執行。

  • 授權特定管線 (預設) :個別授權來自 Azure DevOps 專案的特定管線在集區中執行。
  • 開放存取:在專案層級設定代理程式集區,以供該專案中的所有管線使用。

啟用 [允許所有管線在集區上執行,而不需要核准 (開放存取) ] ,以在建立集區時在 Azure DevOps 中設定 Open access 代理程式集區設定。

只有在建立集區時,您才能在受控 DevOps 集區中設定允許 所有管線在集區上執行,而不需要核准 (開放存取) 設定。 建立集區之後,您可以針對使用集區的每個專案,在 Azure DevOps 中對應的代理程式集區上檢視和設定開放存取

若要設定從指定專案中所有管線存取集區的存取權,請啟用 [允許所有管線在集區上執行,而不需要核准 (開放存取)。

螢幕擷取畫面,顯示如何設定開放存取。

  • 如果 [將集區新增至所有專案 ] 設定為 [是],受控DevOps集區會為所有專案中的所有管線設定 [開啟存取 ]。
  • 如果將 集區新增至所有專案 設定為 ,則受控 DevOps 集區只會針對所列專案中的所有管線設定 開放存取 權。

如果您在 多個組織中啟用 [使用集區],您可以為每個組織個別指定 [開啟存取 ]。

螢幕擷取畫面,顯示如何設定多個組織的開放存取。

如果您嘗試執行未獲授權存取代理程式集區的管線,您會收到錯誤,例如「此管線需要存取資源的許可權,才能繼續此執行」。您可以設定開放式存取,如上一節所述,或 明確授權管線在代理程式集區中執行,以解決此問題。

設定互動式模式

如果你的測試需要互動式登入來進行 UI 測試,請啟用 EnableInteractiveMode 設定來啟用互動式登入。

顯示如何啟用互動模式的螢幕擷取畫面。

設定集區管理權限

在受控DevOps集區建立程式中,會在Azure DevOps組織層級建立代理程式集區,並在每個指定的專案中建立專案層級代理程式集區。 集 區管理許可權 設定會指定哪些用戶獲授與 Azure DevOps 中新建立之代理程式集區的系統管理員許可權。 若要在建立受控 DevOps 集區之後檢視和管理 Azure DevOps 代理程式集區許可權,請參閱 建立和管理代理程式集區:代理程式集區的安全性

螢幕擷取畫面,顯示如何設定集區管理許可權。

  • 僅限建立者:此設定會將建立受控 DevOps 集區的使用者新增為 Azure DevOps 代理程式集區的系統管理員,並在代理程式集區安全性設定中將 繼承設定關閉僅限建立者 是預設設定。
  • 從專案繼承許可權:此設定會將建立受控 DevOps 集區的使用者新增為 Azure DevOps 代理程式集區的系統管理員,並在代理程式集區安全性設定中將 [繼承] 設定為 [ 開啟 ]。
  • 特定帳戶:您可以使用此設定來指定您想要新增為 Azure DevOps 中代理程式集區系統管理員的帳戶。 根據預設設定,會包含集區建立者。

您可以在建立集區時,在 [安全性] 索引標籤上設定 [集區管理權限] 設定。 建立集區之後,它不會顯示在 [ 安全性 ] 設定中。 若要在建立集區之後檢視和管理 Azure DevOps 代理程式集區許可權,請參閱 建立和管理代理程式集區 - 代理程式集區的安全性

設定金鑰保存庫

受控 DevOps 集區可讓您在佈建期間從 Azure 金鑰保存庫擷取憑證。 當系統執行管道時,憑證已存在於系統上。

若要使用這項功能,您必須:

  • 集區上設定身份。 您必須授與此身分識別金鑰 保存庫秘密使用者 許可權,才能從金鑰保存庫擷取秘密。 若要將您的身分識別指派給 金鑰保存庫秘密 使用者角色,請參閱 使用 Azure 角色型存取控制提供金鑰保存庫金鑰、憑證和秘密的存取權

  • 要設定金鑰保存庫整合設定的使用者(如果您要設定金鑰保存庫設定,則為您的帳戶)必須在儲存憑證的金鑰保存庫上具有金鑰保存庫憑證用戶角色指派。

  • 為了強制你的 Azure Key Vault 實例進行網路隔離,只允許授權資源存取,你必須將以下 IP 位址加入你的 Azure Key Vault 允許清單。 下列 IP 位址範圍位於名為 DevOpsInfrastructureAzure 服務標籤中。

    位置 IP 位址範圍
    澳大利亞東部 4.198.194.192/28
    巴西南部 74.163.143.32/28
    加拿大中部 130.107.66.0/28
    中印度 98.70.255.112/28
    中心 72.152.33.16/28
    伊斯特斯2 72.153.21.192/28
    德國中西部 131.189.121.128/28
    北歐 72.145.24.48/28
    東南亞 135.171.33.48/28
    瑞士北部 74.161.82.192/28
    英國南部 131.145.107.64/28
    westus3 57.154.125.208/28

注意

api-version 2025-01-21起,如果您使用此功能,則只能在集區中使用單一身份。

您只能使用一個身分識別,從金鑰保存庫擷取秘密。

您可以在集區層級設定受控 DevOps 集區憑證設定,而某些設定是 Windows 或 Linux 特有的。 如果您的工作流程同時需要 Linux 和 Windows 映像,如果您找不到適用於 Windows 和 Linux 的通用憑證設定集,則可能必須將它們分成多個集區。

下列設定會設定從金鑰保存庫擷取的憑證:

  • 憑證observedCertificates):此設定會指定要從金鑰保存庫擷取的憑證,並安裝在集區中的所有電腦上。
  • 憑證存放區位置certificateStoreLocation):此設定會指定在代理程式上安裝憑證的位置。
    • Windows 代理程式:指定 LocalMachineCurrentUser
    • Linux 代理程式:憑證 存放區位置 設定僅支援 Ubuntu 發行版。 指定儲存憑證的磁碟路徑 (例如 /var/lib/waagent/Microsoft.Azure.KeyVault/app1)。 對於 Ubuntu 發行版,如果您指定信任的存放區位置 (例如 /usr/local/share/ca-certificates),則憑證會以根目錄身分新增至該憑證存放區。 如需詳細資訊,請參閱 在信任存放區中安裝根 CA 憑證
  • 憑證存放區名稱certificateStoreName
    • Windows 代理程式:此設定會指定憑證存放區的名稱。 它是 My (本機憑證存放區,如果未指定名稱,則為預設值) 或 Root (受信任的根位置)。
    • Linux 代理程式:此設定不適用於Linux代理程式。
  • 可匯出的私密金鑰keyExportable):此設定會指定憑證的金鑰是否可匯出。 預設值為 false

您可以在 [設定>安全性] 中設定金鑰保存庫整合。

螢幕擷取畫面,示範如何設定金鑰保存庫憑證。

只有在建立集區之後,您才能設定金鑰保存庫整合設定。 建立集區時,您無法設定金鑰保存庫整合設定。 在集區建立期間,它們不會顯示在 [ 安全性 ] 索引標籤上。

設定機密管理設定

從您的集區使用 SecretManagementSettings 取得的憑證會自動與金鑰庫中發佈的最新版本同步。 當機器執行第一個流程時,這些秘密已經存在機器上,這表示您可以節省時間並移除取得憑證的工作。

重要

如果由於許可權或網路問題而無法從 Key Vault 擷取機密,則配置代理虛擬機器會失敗。

對於 Windows,您可以將 憑證存放區位置 值設定為 LocalMachineCurrentUser。 此設定可確保密碼安裝在電腦上的該位置。 如需機密擷取運作方式的特定行為,請參閱 適用於 Windows 的 Azure Key Vault 擴充功能