[英]Cannot acces keyvault secrets through service endpoint in a VSTS release
我們正在嘗試使用 VSTS 中的下載密鑰保管庫機密發布任務來下載機密。
服務主體添加到密鑰保管庫的訪問策略中,檢查所有權限,包括獲取、列出機密。
我使用此服務主體創建了一個服務端點,並使用它來部署到 Azure,但在嘗試檢索 keyvault 機密時出現以下錯誤:
2018-05-21T12:18:53.9240364Z ##[錯誤]獲取機密失敗。 錯誤:訪問被拒絕。 指定的 Azure 終結點需要對選定的密鑰保管庫具有獲取、列出機密管理權限。 要設置這些權限,請從構建/發布日志下載 ProvisionKeyVaultPermissions.ps1 腳本並執行它或從 Azure 門戶設置它們。
0)轉到您的變量庫
1) 勾選Link secrets from an Azure key vault as variables
2) 選擇訂閱
3) 選擇密鑰庫
4) 點擊Authorize
ACLing 將由 MS 完成,您將能夠使用密鑰保管庫任務。
我確定在任務中選擇密鑰保管庫時曾經有一個Authorize
按鈕,但我可能記錯了。 只是花了 2 小時才弄清楚這一點....
此處跟蹤的問題
如果防火牆已打開(防火牆和虛擬網絡頁面上的“允許從...訪問”),Dev Ops 服務器還需要能夠通過防火牆訪問密鑰庫。
我相信對變量密鑰庫的網絡訪問是通過 AzDevOps 的非代理部分完成的,但我還沒有弄清楚如何將這些服務器列入白名單。
打開“允許受信任的 Microsoft 服務繞過此防火牆”不起作用。
作為最簡單的解決方案,我現在必須允許“所有網絡”訪問以解決此問題。
使用代理任務而不是變量組的另一個更安全的選擇是...
希望這可以幫助。 標記。
當錯誤仍然出現時。
導航到 Azure 密鑰保管庫。 檢查您的訪問策略
*如果選擇了 Azure 基於角色的訪問控制
*如果選擇了保管庫訪問策略
我對 MarkD 有同樣的問題,但我不想啟用all networks
選項。 因此,我找到了根據您所在地區需要允許的 IP 列表:
Region IP V4 ranges
Australia East 20.37.194.0/24
Australia South East 20.42.226.0/24
Brazil South 191.235.226.0/24
Central Canada 52.228.82.0/24
Asia Pacific (Singapore) 20.195.68.0/24
South India 20.41.194.0/24
Central United States 20.37.158.0/23
West Central United States 52.150.138.0/24
East United States 20.42.5.0/24
East 2 United States 20.41.6.0/23
North United States 40.80.187.0/24
South United States 40.119.10.0/24
West United States 40.82.252.0/24
West 2 United States 20.42.134.0/23
Western Europe 40.74.28.0/23
United Kingdom South 51.104.26.0/24
只需找到您的資源位置的 IP 范圍,然后在下面的屏幕截圖中的第 3 字段中輸入。 不要忘記保存(數字 4)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.