iT邦幫忙

2023 iThome 鐵人賽

DAY 8
0

前言

Azure DevOps 權限設定並沒有一個彙整的位置進行設定,而是在各個功能內設定。即使過去有前往各大企業授課經驗,也沒有辦法短時間內設計出符合每一個組織所需要安全設定。依據過去經驗,隨著專案越來越多,安全單位要求越來越嚴謹,組織內每個角色所擁有的權限會越來越少。身為平台管理人員,熟知每個權限對應的功能與作用是相當重要的,因為安全單位與稽核單位不一定熟悉相對應權限,所以提供正確的功能說明與提供設定建議是非常重要的。

Azure DevOps 功能權限設定可以分成 Allow, Deny, 與 Not set,並且可以透過繼承方式套用權限。

https://ithelp.ithome.com.tw/upload/images/20230923/200914948gxiqmHA1X.png

 
 

如何規劃 Azure Pipeline 權限

Pipeline 與 Release Pipeline 權限設定

首先,我們先說明在哪裡可以設定 Pipeline 與 Release Pipeline 權限。點選左邊選單中 Pipelines 功能,於主畫面右上角點選 ... 按鈕,選擇 Manage Security,即可開啟 Pipeline 權限設定畫面。
https://ithelp.ithome.com.tw/upload/images/20230923/20091494OiNN1MhybO.png

如果專案內沒有任何 Pipeline,你可以在主畫面中間點選 ... 按鈕,點選 Manage Security
https://ithelp.ithome.com.tw/upload/images/20230923/20091494td4ld2LRau.png

 

有幾比較重要的權限提出來說明一下,設定包含: Administer build permissions (管理權限,可以修改 Pipeline 權限)、Override check-in validation by build (一般情況不會勾選) 與 View build pipeline/View builds (提供檢視權限,通常會給不須直接操作的利害關係人)。這些權限通常是平台管理者最查被詢問的,其餘部分只需要依據需求給予即可。

https://ithelp.ithome.com.tw/upload/images/20230923/20091494ZPjfaqEqLk.png

 

Release Pipeline 與前述的 Pipeline 設定方式有些不一樣,它是透過資料夾方式來設定權限。若你在資料夾設定權限,其資料夾下所有 Release Pipeline 皆會有相同的權限。也因為如此在設定 Release Pipeline 權限前至少要有一個 Release Pipeline 權限。

https://ithelp.ithome.com.tw/upload/images/20230923/20091494T2YLhmbujA.png

 

設定 Release Pipeline 權限步驟有些多,點選左邊功能列 Releases,選擇以資料夾方式檢視,點選要設定權限的資料夾,選擇右上方 ... 按鈕,點選 Secuirty 即可設定 Release Pipeline 權限。
https://ithelp.ithome.com.tw/upload/images/20230923/20091494kA482SvXKg.png

 

https://ithelp.ithome.com.tw/upload/images/20230923/200914945UsgueeViL.png
相同的,我們提幾個比較重要的功能:Administer release permissions (為管理權限,可以修改修改 Release Pipeline 權限;比較容易混淆的是 Edit release pipeline、Edit release stage 與 Edit release pipeline
Edit release stage,前兩者為編輯 release pipeline 流程,後者為建立 Release 後的管理權限 (定義很重要)。

 
 

權限設計最佳實踐

無論在哪一個功能內設定權限,皆可以以 Group 或 Person 方式指定權限。理所當然,最快最簡單的方式當然是直接指定使用者給予所需的權限。但以長期管理來說,團隊成員可能經歷新入加入、離開、角色變換或資安原因限縮等情境,若透過單一使用者調整權限,即可能衍伸出許多繁複的工作,不斷的在調整權限。

比較好的方式是建立 Team,將相對應的時候使用者做好分類,當權限調整的時候,就不用逐一使用者進行設定
https://ithelp.ithome.com.tw/upload/images/20230923/200914942U416an0gY.png


上一篇
Azure Pipeline - 如何使用 Container 提升 Agent 能力卻不提升複雜度
下一篇
Azure Pipeline - 代理程式集區與代理程式管理最佳實踐
系列文
Azure DevOps Troubleshooting and best practices 30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言