瞭解如何設定受控DevOps集區的安全性設定。 有兩種方式可以設定安全性設定:
- 當您使用 [ 安全性 ] 索引標籤建立集區時
- 使用 [ 安全性 設定] 窗格建立集區之後
根據預設,您使用受管理 DevOps 集區建立的集區會針對單一組織中的所有專案進行設定。 您可以選擇性地限制對組織中特定專案的存取權,也可以將存取權授與其他組織。
如果您設定集區並授與所有專案的存取權,則集區會新增至您具有適當權限的專案。 如果您設定集區並授與特定專案的存取權,您必須具有在所有指定專案中新增集區的許可權,否則集區建立會失敗。
若要查看在組織和專案中設定受控 DevOps 集區所需的許可權,請參閱 必要條件:驗證 Azure DevOps 許可權。
將集區與單一組織搭配使用
根據預設,受控 DevOps 集區會設定您在建立集區時指定的單一 Azure DevOps 組織。 當您的集區設定為單一組織時,組織名稱會顯示並在 集區設定 中設定。
根據預設,將 集區新增至所有專案 設定會設定為 是,且受控 DevOps 集區的存取權會授與組織中的所有專案。 若要限制組織中哪些專案可以使用集區,請選取 [ 否],然後指定哪些專案應該具有存取權。
您可以在 Managed DevOps Pools 資源的屬性 organizationProfile 中設定組織。
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [
{
"name": "fabrikam-managed-pool",
"type": "microsoft.devopsinfrastructure/pools",
"apiVersion": "2025-09-20",
"location": "eastus",
"properties": {
...
"organizationProfile": {
"organizations": [
{
"url": "https://dev.azure.com/fabrikam-tailspin",
"projects": [],
"parallelism": 4
}
],
"permissionProfile": {
"kind": "CreatorOnly"
},
"kind": "AzureDevOps"
}
}
]
}
區 organizationProfile 段具有下列屬性。
| 財產 |
說明 |
organizations |
可使用您資源池的組織清單。 屬性 url 會指定組織的 URL。 屬性 projects 是可以使用集區的專案名稱清單(若為空白清單,則支援組織中的所有專案)。 此 parallelism 屬性指定組織可以使用的代理程式數目。 組織的併行性總和必須符合集區的最大代理設定。 |
permissionProfile |
此值會指定您在建立 Azure DevOps 集區時授與 Azure DevOps 集區的許可權。 只有在建立集區時,才能設定此值。 允許的值為 Inherit、CreatorOnly 和 SpecificAccounts。 如果您指定 specificAccounts,請提供屬性的 users 單一電子郵件地址或電子郵件地址清單。 否則,省略 users。 如需詳細資訊,請參閱 集區管理許可權。 |
kind |
這個值會指定集區的組織類型,而且必須設定為 Azure DevOps。 |
您可以在organization-profile或更新集區時,在參數中設定組織。
az mdp pool create \
--organization-profile organization-profile.json
# other parameters omitted for space
下列範例顯示一個organization-profile物件,該物件已配置於fabrikam-tailspin組織的所有專案,其parallelism值設為1。
{
"AzureDevOps":
{
"organizations": [
{
"url": "https://dev.azure.com/fabrikam-tailspin",
"projects": [],
"parallelism": 1
}
]
}
}
區 organizationProfile 段具有下列屬性。
| 財產 |
說明 |
AzureDevOps |
這個值是 中 organization-profile 定義的物件名稱,而且必須設定為 Azure DevOps。 |
organizations |
可使用您資源池的組織清單。
openAccess 指定受管理 DevOps 集區是否在集區建立期間設定集區的 開放存取 權。 屬性 url 會指定組織的 URL。 屬性 projects 是可以使用集區的專案名稱清單(若為空白清單,則支援組織中的所有專案)。 此 parallelism 屬性指定此組織可以使用的代理程式數目。 組織的併行性總和必須符合集區的最大代理設定。 |
permissionProfile |
此屬性會指定您在建立 Azure DevOps 集區時授與的許可權。 只有在建立集區時,才能設定此值。 允許的值為 Inherit、CreatorOnly 和 SpecificAccounts。 如果您指定 specificAccounts,請提供屬性的 users 單一電子郵件地址或電子郵件地址清單。 否則,省略 users。 如需詳細資訊,請參閱 集區管理許可權。 |
您可以在 Managed DevOps Pools 資源的屬性 organizationProfile 中設定組織。
resource managedDevOpsPools 'Microsoft.DevOpsInfrastructure/pools@2025-09-20' = {
name: 'fabrikam-managed-pool'
location: 'eastus'
properties: {
organizationProfile: {
organizations: [
{
url: 'https://dev.azure.com/fabrikam-tailspin'
projects: []
parallelism: 4
}
]
permissionProfile: {
kind: 'CreatorOnly'
}
kind: 'AzureDevOps'
}
}
}
區 organizationProfile 段具有下列屬性。
| 財產 |
說明 |
organizations |
可使用您資源池的組織清單。 屬性 url 會指定組織的 URL。 屬性 projects 是可以使用集區的專案名稱清單(若為空白清單,則支援組織中的所有專案)。 此 parallelism 屬性指定此組織可以使用的代理程式數目。 組織的併行性總和必須符合集區的最大代理設定。 |
permissionProfile |
此屬性會指定您在建立 Azure DevOps 集區時授與的許可權。 只有在建立集區時,才能設定此值。 允許的值為 Inherit、CreatorOnly 和 SpecificAccounts。 如果指定了 specificAccounts,請為屬性 users 提供一個單一的電子郵件地址或一個電子郵件地址清單。 否則,省略 users。 如需詳細資訊,請參閱 集區管理許可權。 |
kind |
這個值會指定集區的組織類型,而且必須設定為 Azure DevOps。 |
在多個組織中使用集區
若要搭配多個 Azure DevOps 組織使用集區,請啟用 [在多個組織中使用集區]。 針對每一個組織,指定允許使用集區的專案,或將此欄位保留空白以允許所有專案。 指定要對每個組織配置平行度,透過集區中最大代理程式值來決定並分配每個組織的併發部分。 所有組織的平行度總和必須等於集區的最大並行度。 例如,如果 [最大代理程式 ] 設定為5,則指定組織的平行處理原則總和必須為5。 如果 代理數目上限 值設定為 1,則這個集區只能搭配一個組織使用。
在下列範例中,集區設定為可用於 FabrikamResearch 和 FabrikamTest 專案在 fabrikam-tailspin 組織中,並適用於 fabrikam-blue 組織中的所有專案。
如果您收到類似 The sum of parallelism for all organizations must equal the max concurrency 的錯誤,請確保 最大的代理程式數目 與 並行性 欄的總和相符。
若要設定集區,讓多個組織可以使用它,請將更多組織新增至組織清單。 下列範例已設定兩個組織。 第一個組織設定為對所有專案使用受管理 DevOps 集區,而第二個組織只能將其與兩個專案搭配使用。 在此範例中,集區的最大代理程式設定為四個,每個組織都可以使用這四個代理程式的兩個。
"organizationProfile": {
"organizations": [
{
"url": "https://dev.azure.com/fabrikam-tailspin",
"projects": [],
"parallelism": 2
},
{
"url": "https://dev.azure.com/fabrikam-prime",
"projects": [ "fabrikam-dev", "fabrikam-test" ],
"parallelism": 2
}
],
"permissionProfile": {
"kind": "CreatorOnly"
},
"kind": "AzureDevOps"
}
您可以在organization-profile或更新集區時,在參數中設定組織。
az mdp pool create \
--organization-profile organization-profile.json
# other parameters omitted for space
若要設定集區,讓多個組織可以使用它,請將更多組織新增至組織清單。 下列範例已設定兩個組織。 第一個組織設定為對所有專案使用受管理 DevOps 集區,而第二個組織只能將其與兩個專案搭配使用。 在此範例中,集區的最大代理程式設定為四個,每個組織都可以使用這四個代理程式的兩個。
{
"AzureDevOps":
{
"organizations": [
{
"url": "https://dev.azure.com/fabrikam-tailspin",
"projects": [],
"parallelism": 2
},
{
"url": "https://dev.azure.com/fabrikam-prime",
"projects": [ "fabrikam-dev", "fabrikam-test" ],
"parallelism": 2
}
]
}
}
若要設定集區,讓多個組織可以使用它,請將更多組織新增至組織清單。 下列範例已設定兩個組織。 第一個組織設定為對所有專案使用受管理 DevOps 集區,而第二個組織只能將其與兩個專案搭配使用。 在此範例中,集區的最大代理程式設定為四個,每個組織都可以使用這四個代理程式的兩個。
organizationProfile: {
organizations: [
{
url: 'https://dev.azure.com/fabrikam-tailspin'
projects: []
parallelism: 2
}
{
url: 'https://dev.azure.com/fabrikam-prime'
projects: ['fabrikam-dev', 'fabrikam-test']
parallelism: 2
}
]
permissionProfile: {
kind: 'CreatorOnly'
}
kind: 'AzureDevOps'
}
若要設定管線的開放存取,除了 必要條件 - 驗證 Azure DevOps 許可權中所述的許可權之外,您還必須具有下列許可權:
根據預設,您必須明確授權每個管線定義在自行架設的代理程式集區中執行,例如使用受控 DevOps 集區建立的集區,這樣它才能在該集區中首次執行。
Azure DevOps 提供下列模式來授權管線在代理程式集區中執行。
-
授權特定管線 (預設) :個別授權來自 Azure DevOps 專案的特定管線在集區中執行。
-
開放存取:在專案層級設定代理程式集區,以供該專案中的所有管線使用。
啟用 [允許所有管線在集區上執行,而不需要核准 (開放存取) ] ,以在建立集區時在 Azure DevOps 中設定 Open access 代理程式集區設定。
只有在建立集區時,您才能在受控 DevOps 集區中設定允許 所有管線在集區上執行,而不需要核准 (開放存取) 設定。 建立集區之後,您可以針對使用集區的每個專案,在 Azure DevOps 中對應的代理程式集區上檢視和設定開放存取。
若要設定從指定專案中所有管線存取集區的存取權,請啟用 [允許所有管線在集區上執行,而不需要核准 (開放存取)。
- 如果 [將集區新增至所有專案 ] 設定為 [是],受控DevOps集區會為所有專案中的所有管線設定 [開啟存取 ]。
- 如果將 集區新增至所有專案 設定為 否,則受控 DevOps 集區只會針對所列專案中的所有管線設定 開放存取 權。
如果您在 多個組織中啟用 [使用集區],您可以為每個組織個別指定 [開啟存取 ]。
注意
當您使用及更高版本時,會顯示api-version 2025-01-21設定。
您可以在 Managed DevOps Pools 資源的屬性 organizationProfile 中設定組織。 下列範例已設定兩個組織:
- 組織
fabrikam-tailspin 已在所有項目上設定 開放存取 權。
-
fabrikam-prime 這個組織已配置為可用性,以便用於兩個專案,且只在這兩個專案上啟用 開放存取 。
"organizationProfile": {
"organizations": [
{
"url": "https://dev.azure.com/fabrikam-tailspin",
"projects": [],
"openAccess": true,
"parallelism": 2
},
{
"url": "https://dev.azure.com/fabrikam-prime",
"projects": [ "fabrikam-dev", "fabrikam-test" ],
"openAccess": true,
"parallelism": 2
}
],
"permissionProfile": {
"kind": "CreatorOnly"
},
"kind": "AzureDevOps"
}
只有在建立集區時,才能設定 開放存取 。 若要在建立集區之後變更 [開啟存取] 設定 (包括從受控 DevOps 集區設定新增或移除專案) ,您必須針對使用集區的每個專案,在 Azure DevOps 中對應的代理程式集區上手動設定 [開放存取]。
您在建立集區時,可以在openAccess參數中設定organization-profile。
az mdp pool create \
--organization-profile organization-profile.json
# other parameters omitted for space
下列 orgaization-profile 範例已設定兩個組織:
- 組織
fabrikam-tailspin 已在所有項目上設定 開放存取 權。
-
fabrikam-prime 這個組織已配置為可用性,以便用於兩個專案,且只在這兩個專案上啟用 開放存取 。
{
"AzureDevOps":
{
"organizations": [
{
"url": "https://dev.azure.com/fabrikam-tailspin",
"projects": [],
"parallelism": 2
},
{
"url": "https://dev.azure.com/fabrikam-prime",
"projects": [ "fabrikam-dev", "fabrikam-test" ],
"parallelism": 2
}
]
}
}
只有在建立集區時,才能設定 開放存取 。 若要在建立集區之後變更 [開啟存取] 設定 (包括從受控 DevOps 集區設定新增或移除專案) ,您必須針對使用集區的每個專案,在 Azure DevOps 中對應的代理程式集區上手動設定 [開放存取]。
注意
使用 和 更新版本時,會出現 api-version 2025-01-21] 設定。
您可以在 Managed DevOps Pools 資源的屬性 organizationProfile 中設定組織。 下列範例已設定兩個組織:
- 組織
fabrikam-tailspin 已在所有項目上設定 開放存取 權。
-
fabrikam-prime 這個組織已配置為可用性,以便用於兩個專案,且只在這兩個專案上啟用 開放存取 。
organizationProfile: {
organizations: [
{
url: 'https://dev.azure.com/fabrikam-tailspin'
projects: []
openAccess: true
parallelism: 2
}
{
url: 'https://dev.azure.com/fabrikam-prime'
projects: ['fabrikam-dev', 'fabrikam-test']
openAccess: true
parallelism: 2
}
]
permissionProfile: {
kind: 'CreatorOnly'
}
kind: 'AzureDevOps'
}
只有在建立集區時,才能設定 開放存取 。 若要在建立集區之後變更 [開啟存取] 設定 (包括從受控 DevOps 集區設定新增或移除專案) ,您必須針對使用集區的每個專案,在 Azure DevOps 中對應的代理程式集區上手動設定 [開放存取]。
如果您嘗試執行未獲授權存取代理程式集區的管線,您會收到錯誤,例如「此管線需要存取資源的許可權,才能繼續此執行」。您可以設定開放式存取,如上一節所述,或 明確授權管線在代理程式集區中執行,以解決此問題。
如果你的測試需要互動式登入來進行 UI 測試,請啟用 EnableInteractiveMode 設定來啟用互動式登入。
您可以在 osProfile 屬性的 fabricProfile 區段中設定互動模式。 將 logonType 設為 Interactive 啟用互動式模式,或將 Service 設為停用互動式模式。
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [
{
"name": "fabrikam-managed-pool",
"type": "microsoft.devopsinfrastructure/pools",
"apiVersion": "2025-09-20",
"location": "eastus",
"properties": {
...
"fabricProfile": {
"sku": {...},
"images": [...],
"osProfile": {
"secretsManagementSettings": {...},
"logonType": "Interactive"
},
"storageProfile": {...},
"kind": "Vmss"
}
}
]
}
您可以在logonType或osProfile集區時,使用fabric-profile參數中 區段中的內容來設定互動模式。
az mdp pool create \
--fabric-profile fabric-profile.json
# other parameters omitted for space
下列範例顯示 fabric-profile.json 檔案的 區段並啟用模式。
{
"vmss": {
"sku": {...},
"images": [...],
"osProfile": {
"secretsManagementSettings": {...},
"logonType": "Interactive"
},
"storageProfile": {...}
}
}
互動模式是在 osProfile 區段的 fabricProfile 屬性中設定的。 將 logonType 設為 Interactive 啟用互動式模式,或將 Service 設為停用互動式模式。
resource managedDevOpsPools 'Microsoft.DevOpsInfrastructure/pools@2025-09-20' = {
name: 'fabrikam-managed-pool'
location: 'eastus'
properties: {
fabricProfile: {
sku: {...}
images: [...]
osProfile: {
secretsManagementSettings: {...}
logonType: 'Interactive'
}
storageProfile: {...}
kind: 'Vmss'
}
}
}
在受控DevOps集區建立程式中,會在Azure DevOps組織層級建立代理程式集區,並在每個指定的專案中建立專案層級代理程式集區。 集 區管理許可權 設定會指定哪些用戶獲授與 Azure DevOps 中新建立之代理程式集區的系統管理員許可權。 若要在建立受控 DevOps 集區之後檢視和管理 Azure DevOps 代理程式集區許可權,請參閱 建立和管理代理程式集區:代理程式集區的安全性。
-
僅限建立者:此設定會將建立受控 DevOps 集區的使用者新增為 Azure DevOps 代理程式集區的系統管理員,並在代理程式集區安全性設定中將 繼承設定 為 關閉 。
僅限建立者 是預設設定。
-
從專案繼承許可權:此設定會將建立受控 DevOps 集區的使用者新增為 Azure DevOps 代理程式集區的系統管理員,並在代理程式集區安全性設定中將 [繼承] 設定為 [ 開啟 ]。
-
特定帳戶:您可以使用此設定來指定您想要新增為 Azure DevOps 中代理程式集區系統管理員的帳戶。 根據預設設定,會包含集區建立者。
您可以在建立集區時,在 [安全性] 索引標籤上設定 [集區管理權限] 設定。 建立集區之後,它不會顯示在 [ 安全性 ] 設定中。 若要在建立集區之後檢視和管理 Azure DevOps 代理程式集區許可權,請參閱 建立和管理代理程式集區 - 代理程式集區的安全性。
您可以在受管理的 DevOps 集區資源的permissionsProfile區段中的organizationProfile屬性中設定集區管理權限。
{
"organizationProfile": {
"organizations": [...],
"permissionProfile": {
"kind": "CreatorOnly"
},
"kind": "AzureDevOps"
}
您只能在建立集區時設定 permissionProfile 屬性。 允許的值為 Inherit、CreatorOnly 和 SpecificAccounts。
-
CreatorOnly:此設定會將建立受控 DevOps 集區的使用者新增為 Azure DevOps 代理程式集區的系統管理員,並在代理程式集區安全性設定中將繼 承 設定為 關閉 。
僅限建立者 是預設設定。
-
Inherit:此設定會將建立受控 DevOps 集區的使用者新增為 Azure DevOps 代理程式集區的系統管理員,並在代理程式集區安全性設定中將 [繼承] 設定為 [ 開啟 ]。
-
SpecificAccounts:您可以使用此設定來指定要新增為 Azure DevOps 中代理程式集區系統管理員的帳戶。 根據預設設定,會包含集區建立者。
"organizationProfile": {
"organizations": [...],
"permissionProfile": {
"kind": "SpecificAccounts",
"users" : ["User1@fabrikam.com", "User2@fabrikam.com" ]
},
"kind": "AzureDevOps"
}
您可以在organization-profile集區時,在參數中設定集區管理權限。
az mdp pool create \
--organization-profile organization-profile.json
# other parameters omitted for space
{
"AzureDevOps":
{
"organizations": [...],
"permissionProfile": {
"kind": "CreatorOnly"
}
}
}
您只能在建立集區時設定 permissionProfile 屬性。 允許的值為 Inherit、CreatorOnly 和 SpecificAccounts。
-
CreatorOnly:此設定會將建立受控 DevOps 集區的使用者新增為 Azure DevOps 代理程式集區的系統管理員,並在代理程式集區安全性設定中將繼 承 設定為 關閉 。
僅限建立者 是預設設定。
-
Inherit:此設定會將建立受控 DevOps 集區的使用者新增為 Azure DevOps 代理程式集區的系統管理員,並在代理程式集區安全性設定中將 [繼承] 設定為 [ 開啟 ]。
-
SpecificAccounts:您可以使用此設定來指定要新增為 Azure DevOps 中代理程式集區系統管理員的帳戶。 根據預設設定,會包含集區建立者。 請提供 users 屬性的一個電子郵件地址或電子郵件地址清單。 否則,省略 users。
{
"AzureDevOps" : {
"organizationProfile": {
"organizations": [...],
"permissionProfile": {
"kind": "SpecificAccounts",
"users" : ["User1@fabrikam.com", "User2@fabrikam.com" ]
}
}
}
}
您可以在受管理的 DevOps 集區資源的permissionsProfile區段中的organizationProfile屬性中設定集區管理權限。
organizationProfile: {
organizations: [...]
permissionProfile: {
kind: 'CreatorOnly'
}
kind: 'AzureDevOps'
}
您只能在建立集區時設定 permissionProfile 屬性。 允許的值為 Inherit、CreatorOnly 和 SpecificAccounts。
-
CreatorOnly:此設定會將建立受控 DevOps 集區的使用者新增為 Azure DevOps 代理程式集區的系統管理員,並在代理程式集區安全性設定中將繼 承 設定為 關閉 。
僅限建立者 是預設設定。
-
Inherit:此設定會將建立受控 DevOps 集區的使用者新增為 Azure DevOps 代理程式集區的系統管理員,並在代理程式集區安全性設定中將 [繼承] 設定為 [ 開啟 ]。
-
SpecificAccounts:您可以使用此設定來指定要新增為 Azure DevOps 中代理程式集區系統管理員的帳戶。 根據預設設定,會包含集區建立者。 請提供 users 屬性的一個電子郵件地址或電子郵件地址清單。 否則,省略 users。
organizationProfile: {
organizations: [...]
permissionProfile: {
kind: 'SpecificAccounts'
users: ['User1@fabrikam.com', 'User2@fabrikam.com']
}
kind: 'AzureDevOps'
}
受控 DevOps 集區可讓您在佈建期間從 Azure 金鑰保存庫擷取憑證。 當系統執行管道時,憑證已存在於系統上。
若要使用這項功能,您必須:
在 集區上設定身份。 您必須授與此身分識別金鑰 保存庫秘密使用者 許可權,才能從金鑰保存庫擷取秘密。 若要將您的身分識別指派給 金鑰保存庫秘密 使用者角色,請參閱 使用 Azure 角色型存取控制提供金鑰保存庫金鑰、憑證和秘密的存取權。
要設定金鑰保存庫整合設定的使用者(如果您要設定金鑰保存庫設定,則為您的帳戶)必須在儲存憑證的金鑰保存庫上具有金鑰保存庫憑證用戶角色指派。
為了強制你的 Azure Key Vault 實例進行網路隔離,只允許授權資源存取,你必須將以下 IP 位址加入你的 Azure Key Vault 允許清單。 下列 IP 位址範圍位於名為 DevOpsInfrastructure 的 Azure 服務標籤中。
| 位置 |
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 代理程式:指定
LocalMachine 或 CurrentUser。
-
Linux 代理程式:憑證 存放區位置 設定僅支援 Ubuntu 發行版。 指定儲存憑證的磁碟路徑 (例如
/var/lib/waagent/Microsoft.Azure.KeyVault/app1)。
對於 Ubuntu 發行版,如果您指定信任的存放區位置 (例如 /usr/local/share/ca-certificates),則憑證會以根目錄身分新增至該憑證存放區。 如需詳細資訊,請參閱 在信任存放區中安裝根 CA 憑證。
-
憑證存放區名稱 (
certificateStoreName)
-
Windows 代理程式:此設定會指定憑證存放區的名稱。 它是
My (本機憑證存放區,如果未指定名稱,則為預設值) 或 Root (受信任的根位置)。
-
Linux 代理程式:此設定不適用於Linux代理程式。
-
可匯出的私密金鑰 (
keyExportable):此設定會指定憑證的金鑰是否可匯出。 預設值為 false。
您可以在 [設定>安全性] 中設定金鑰保存庫整合。
只有在建立集區之後,您才能設定金鑰保存庫整合設定。 建立集區時,您無法設定金鑰保存庫整合設定。 在集區建立期間,它們不會顯示在 [ 安全性 ] 索引標籤上。
您可以在 osProfile 屬性中的 fabricProfile 區段設定 Azure Key Vault。 設定 secretManagementSettings 為能夠存取所需的憑證。
注意
該 osProfile.certificateStoreName 屬性僅在 apiVersion 2025-01-21 及更高版本中可用。
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [
{
"name": "fabrikam-managed-pool",
"type": "microsoft.devopsinfrastructure/pools",
"apiVersion": "2025-09-20",
"location": "eastus",
"properties": {
...
"fabricProfile": {
"sku": {...},
"images": [...],
"osProfile": {
"secretsManagementSettings": {
"certificateStoreLocation": "LocalMachine",
"certificateStoreName": "Root",
"observedCertificates": [
"https://<keyvault-uri>/secrets/<certificate-name>"
],
"keyExportable": false
}
},
"storageProfile": {...},
"kind": "Vmss"
}
}
]
}
當您osProfile或fabricProfile集區時,您可以在屬性區段中設定 Azure 金鑰保存庫。 將 secretManagementSettings 設定為能夠存取所需憑證。
az mdp pool create \
--fabric-profile fabric-profile.json
# other parameters omitted for space
下列範例顯示 osProfile 區段的 fabric-profile.json 文件,且 secretsManagementSettings 已設定。
{
"vmss": {
"sku": {...},
"images": [...],
"osProfile": {
"secretsManagementSettings": {
"certificateStoreLocation": "LocalMachine",
"observedCertificates": [
"https://<keyvault-uri>/secrets/<certificate-name>"
],
"keyExportable": false
},
"logonType": "Interactive"
},
"storageProfile": {...}
}
}
您可以在 osProfile 屬性中的 fabricProfile 區段設定 Azure Key Vault。 設定 secretManagementSettings 為能夠存取所需的憑證。
注意
該 osProfile.certificateStoreName 屬性僅在 apiVersion 2025-01-21 及更高版本中可用。
resource managedDevOpsPools 'Microsoft.DevOpsInfrastructure/pools@2025-09-20' = {
name: 'fabrikam-managed-pool'
location: 'eastus'
properties: {
fabricProfile: {
sku: {...}
images: [...]
osProfile: {
secretsManagementSettings: {
certificateStoreLocation: 'LocalMachine'
certificateStoreName: 'Root'
observedCertificates: 'https://<keyvault-uri>/secrets/<certificate-name>'
keyExportable: false
}
}
kind: 'Vmss'
}
}
}
從您的集區使用 SecretManagementSettings 取得的憑證會自動與金鑰庫中發佈的最新版本同步。 當機器執行第一個流程時,這些秘密已經存在機器上,這表示您可以節省時間並移除取得憑證的工作。
重要
如果由於許可權或網路問題而無法從 Key Vault 擷取機密,則配置代理虛擬機器會失敗。
相關內容