如何用同一套賬號接入整個研發過程?

雲效DevOps平臺發表於2022-11-23

前言

“君子和而不同,小人同而不和。”-- 孔子

我們認為,對於任何一個有研發訴求的企業,賬號體系都是需要儘早考慮、慎重對待,且不應該隨意變更的。

問題型別

研發團隊在設計賬號體系和管理賬號的時候經常會遇到各種問題,比如:

問題1:

業務在變化,組織也要隨時調整,導致與之相應的賬號許可權也要頻繁調整:

在企業業務高速發展的大背景下,為了適應業務變化,企業的組織架構經常會進行調整,研發人員也會在不同的業務中來回切換,甚至在不同的業務中會承擔不同的角色。因此,設計賬號體系的時候,需要考慮賬號許可權能靈活調整、即時生效,避免因為許可權缺失阻礙研發活動,或是因為許可權氾濫引起安全風險。

問題2:

研發活動中存在多種角色,一個賬號也包含多個角色,賬號與角色的對應關係不好維護:

現代研發體系下,一次需求交付涉及多個角色,比如產品經理、後端開發、前端開發、UED、測試、應用運維等,不同的角色有不同的關注檢視和許可權,而同一個賬號又會承擔多個角色,比如同時承擔後端開發與應用運維的工作。因此,賬號與角色的對應關係是多對多,且會隨著業務變化的,如何有效維護,也是一個需要考慮的問題。

問題3:

不同的工具有各自的賬號系統,需要分別對接,且經常需要維護以適應組織調整和員工變化:

為了保證業務的高效演進,企業需要購買和自研大量的工具和系統,為了讓這些系統協同工作,需要進行賬號體系的對接,並且保證組織的調整和人員的變化,能及時同步到這些系統上,避免資料不一致帶來的協作問題。因此,企業的賬號體系需要做到唯一來源,標準化接入。

我們推薦的企業賬號體系應該滿足如下幾點要求:

  1. 企業的所有角色都有唯一的賬號管理來源
  2. 企業的各個系統(包括研發系統與一般業務系統)的賬號統一且互通
  3. 企業可以管理和維護自己的組織架構,並能根據組織架構在各個系統中管理許可權
  4. 企業可以定義和管理研發活動中的各種角色,為每種角色定義許可權
  5. 企業可以透過為賬號配置角色來控制賬號許可權
  6. 企業的各類研發資產都能納入許可權管理,並能被角色管理

我們基於阿里雲的產品,來具體看一下如何建立符合上述要求的企業賬號體系。

以釘釘為中心的賬號體系

對於沒有過多歷史包袱,或者已經在使用釘釘的企業,我們推薦以釘釘為中心的賬號體系。

image.png

在這一賬號體系下,企業所有成員(包括研發團隊與業務團隊)都在釘釘上建立和管理組織架構。研發成員透過釘釘認證登入系統,獲取成員在系統中的角色資訊,根據所屬角色的許可權進行研發活動。

因此,從實施的角度,企業基於釘釘建立研發賬號體系包含4個步驟:

1.企業基於釘釘管理組織結構

第一步是註冊釘釘並建立或關聯已有企業,接下來在釘釘中管理企業的組織結構,包括人員和團隊資訊等,請參考釘釘企業通訊錄管理,這裡不作贅述。釘釘賬號將成為企業成員的唯一認證來源,企業的各個系統都可以和釘釘打通,請參考釘釘應用接入指南完成企業各個系統的接入。

至此,對於研發團隊來說,主要的兩個訴求還都無法滿足:

  1. 授權和管理雲上的資源(如ECS、ACK等)
  2. 打通整個研發工具鏈

為了解決這兩個問題,我們需要將釘釘與雲效整合起來,透過整合,可以實現:

  1. 同步組織架構和成員到雲效中
  2. 透過釘釘訊息進行研發協作
  3. 整合釘釘文件到雲效中
  4. 使用釘釘中的雲效小程式

2.雲效繫結企業釘釘

整合的第一步是雲效企業的管理員需要將雲效繫結企業釘釘,完成組織架構和成員同步。詳細操作步驟可以檢視企業繫結-完成組織架構和成員同步。這裡把主要步驟說明一下。

  1. 企業釘釘管理員在釘釘中安裝雲效應用,選擇正確的組織和使用範圍(是全員還是某個團隊)。

image.png

  1. 雲效企業管理員在釘釘的雲效應用中繫結釘釘企業和雲效企業,管理員如果未繫結阿里雲賬號的話,需要先完成
  2. 員工釘釘賬號管理阿里雲賬號

操作再返回繼續。管理員在釘釘雲效應用中完成雲效企業繫結,如下圖。

image.png

3.員工釘釘賬號關聯阿里雲賬號(主賬號、RAM賬號)

阿里雲有自己的賬號體系,而這些賬號又跟雲上資源的操作許可權相關,為了保證許可權的有效隔離,雲效要求員工使用釘釘賬號認證前先繫結阿里雲賬號。

阿里雲賬號分為主賬號和RAM賬號,關於RAM可以檢視什麼是訪問控制。如果不確定,對於企業員工,我們建議選擇RAM賬號。

image.png

完成繫結後,員工就可以透過釘釘掃碼登入雲效了。

4. 配置雲效企業角色和角色許可權

我們推薦按角色管理許可權,將人與角色分開,為不同的角色定義不同的許可權。

4.1,定義企業全域性角色,預設企業角色分為:擁有者、管理員、成員和外部成員,可以按照自身特點新增和調整角色許可權。

image.png

4.2,定義應用交付平臺 AppStack的企業角色許可權。所看到的企業角色都來自於企業全域性角色,但是可以為其定義應用交付平臺特有的全域性許可權,見下圖。注意,這裡的許可權是針對於所有應用的。

image.png

4.3,定義應用交付平臺 AppStack的應用角色許可權,這些許可權只針對某個具體應用。AppStack定義了5種應用角色:應用擁有者、應用負責人、開發、測試和運維,可以根據需要調整每種角色的許可權。

image.png

4.4,為每個應用成員配置對應的角色。

image.png

總結

在現代組織中,業務相關的研發人員都有兩個維度的角色:一是組織職能角色,一是業務角色。其中組織職能角色是相對穩定的,而業務角色是在不斷變化的。我們推薦以釘釘為核心管理組織賬號和組織架構,將雲效與釘釘繫結,做到統一登入、統一管理。同時,定義不同的角色,並按照應用維度為不同的人員配置對應的角色,做到按應用維護角色、按角色管理許可權

延伸內容

以現有內部賬號系統為中心的賬號體系:

很多企業,雖然獨立的軟體開發團隊建立不久,但企業內部IT系統已經運作很長時間了,有自己的賬號管理體系(如LDAP),或者因為網路安全等原因,許可權認證必須在自有網路中完成。這種情況下,直接切換到釘釘這樣的系統的成本比較高,而企業又希望與雲上研發的工具和資源打通。對此,我們建議配合阿里雲iDaaS一起使用,具體方案詳見iDaaS的說明,本文不再贅述。

參考

雲效2020-同步釘釘成員

雲效2020-角色許可權管理

雲效2020-AppStack角色許可權

釘釘-企業通訊錄管理

釘釘-授權服務商開發

什麼是IDaaS

關於我們

瞭解更多關於雲效DevOps的最新動態,可微信搜尋關注【雲效】公眾號;

福利:公眾號後臺回覆【指南】,可獲得《阿里巴巴DevOps實踐指南》&《10倍研發效能提升案例集》;

看完覺得對您有所幫助別忘記點贊、收藏和關注呦;

lQLPDhtDba1KT2_NBDjNB4CwgwE-eOLUK_gCPyXeUECTAA_1920_1080.png

相關文章