奧推網

選單
科技

軟體系統三基座之一:許可權管理

不同的員工在公司享有不同的許可權,使用者可以訪問而且只能訪問自己被授權的資源。那麼,許可權管理功能要如何設計呢?本文作者對此進行了分析,希望對你有幫助。

何為基座,即是有了這些基礎,任一相關的“建築”就能逐步搭建起來。

萬丈高樓平地起

一、為什麼要許可權管理

許可權管理,一般指根據系統設定的安全規則或者安全策略,使用者可以訪問而且只能訪問自己被授權的資源。只要有使用者和密碼的系統,幾乎全有許可權管理。

1. 各司其職,提高工作效率

產品經理的品質追求和專案的里程碑互動是矛盾的,讓產品經理管專案,可能專案沒有終結點。

程式設計師的邏輯嚴謹和市場的變化多端是矛盾的,讓程式設計師去做市場銷售,可能團隊沒有太多收益。

2. 權責分明,利於問題溯源

授予管理的許可權,同時也是一份責任。費用的報銷和預算消耗所剩無幾是相關聯的,打市場需要團隊成員全員硬剛和請假審批鬆散導致身邊無人可用是有前因後果的。

3. 資料隔離,依許可權管理資料

市場部的日常執行資訊不斷反饋給採購部,會極大地消耗採購部的精力。

戰略規劃部的規劃調整隨時更新給一線執行人員,會極大地摧毀公司整體的穩固度。

4. 安全防患,防止誤操作、人為破壞、資料洩漏

某某程式設計師刪庫跑路了,某某銷售代表攜客戶資源跳槽了……此類事項屢屢出現,這總是前人血淚教訓。

二、許可權管理

軟體系統三基座包含:許可權管理、組織架構、使用者管理。按照系統管理的設計,互動如下圖所示。

以使用者管理為例,需要支援最基礎的增刪改查操作,即是新增使用者、編輯使用者、刪除使用者、查詢使用者。

以現實業務情況,系統使用者的增加包含使用者註冊或管理員新增。對於其他系統使用者來講,使用者管理這一塊與自己無關,不必檢視,就需要做許可權管控。

許可權管理和現實中的開鎖相似。首先需要了解哪些地方需要加鎖,公園就不需要加鎖,即是

許可權點註冊

;其次是在需要加鎖的地方放上鎖,並給需要的人發放鑰匙,即是

授權

;最後則是有鑰匙的人拿著鑰匙開鎖,沒有鑰匙則在封鎖區域之外,即是

鑑權

哪些地方加鎖 = 許可權點註冊

上鎖併發放鑰匙 = 授權

拿鑰匙開鎖 = 鑑權

1. 許可權點註冊

許可權點註冊是軟體哪些功能需要做許可權控制,就新增到許可權控制的列表中。註冊成功後,許可權點樹形結構展示,如下圖所示。

許可權點註冊支援樹形結構,也就是沒有授權“使用者管理”時,不能授權“刪除使用者”。許可權點還可以細分按鈕許可權、URL許可權,按鈕許可權控制頁面上是否可見,URL許可權控制按鈕的互動是否能執行。一般的情況下,對同一個操作需要既授予按鈕許可權,又授予URL許可權。若存在系統間介面資料互動的情況,不需要頁面互動,就不必授予按鈕許可權。

許可權管理作為底層支援,可擴充套件更多模組、更多應用的管理。在三基座授權管理的基礎上,增加產品管理,則許可權點註冊後如下圖所示。

2. 授權管理

授權管理就是針對不同的使用者授予不同的許可權,也就能讓不同的使用者看到不同的軟體部分。

如圖所示,給使用者A授權“新增使用者、編輯使用者、刪除使用者、查詢使用者”許可權;給使用者B授權“查詢使用者”;兩個使用者相比較而言,使用者B就只能查詢使用者,相當於獲取使用者資訊,則不能進行使用者資訊的編輯、修改。

兩個使用者都沒有授權“使用者授權”,則兩個使用者都不能修改使用者的許可權資訊。

使用者授權資訊均由系統超管員(一般為admin賬戶)授權分發下來。

用以上含產品管理的系統進行授權管理,則可授權兩大類,一類是A:系統管理,有許可權管理、角色管理、使用者管理許可權,適用於人事;一類是B:產品管理員,有產品管理許可權,適用於市場部人員。

A 人事:

B 產品管理員:

3. 鑑權

鑑權則是應用自己的許可權去開啟對應的系統功能。如上面授權舉例,系統管理員A、產品管理員B則看到不同的系統功能。

系統管理員 A:

產品管理員 B:

三、許可權管理應用場景

1. 人員變動之入職/調崗

在實際業務中,常存在新人入職,或在崗人員調崗的情況。若依舊使用給人員授權的情況,讓整個操作變的複雜。 使用者直接授權如下圖所示:

如圖所示,需要新人入職授權,就需要給新人挨個去授權每個功能;需要調崗,就需要先刪除原有的所有許可權,然後再授予新的許可權。

基於系統要能用、好用的原則,增加角色管理,如下圖所示:

如圖所示,需要新人入職授權,就只需要勾選新人所屬的角色;需要調崗,就只需要先去掉原先的角色,勾選上新的角色,整體操作簡便更多。

隨著人員變多,業務變複雜,系統功能更龐大,許可權管理體系還需要調整。如上例,若新人是個特殊人才,除了通有角色的許可權,還需要一個單獨許可權,就需要增加使用者直接授權的能力。當然,也可以新建一個單獨的角色,只有這一個特殊的許可權來實現。這也正體現了現實業務的複雜性,

沒有最好的,只有最適合當前業務需要的

2. 三方應用許可權管理

在三基座的基礎上,擴充套件了產品管理,但作為系統,功能遠遠不夠。電商類的需要擴充套件,商品管理、訂單管理、支付管理、活動管理、積分管理等等一系列的功能模組或應用。

許可權系統具有以上能力,為系統擴充套件打好了基礎。增加的應用,透過許可權點註冊,全部納入許可權管理的範圍內。若許可權系統把許可權點註冊、許可權查詢、許可權校驗開放成為OpenAPI,則能夠相容三方應用的許可權管理。

支援三方應用的許可權點管理,就能實現三方應用在較小的改造成本下,納入系統下,為系統的融合擴充套件提供了支援。

許可權點管理:

新增許可權點:

天台十萬八千丈,祥雲送我上青天。

前行需要一架梯子,你在梯子上拉拉我,我在梯子上拉拉你。

本文由 @壹叄零壹 原創釋出於人人都是產品經理。未經許可,禁止轉載。

題圖來自 Unsplash,基於 CC0 協議

該文觀點僅代表作者本人,人人都是產品經理平臺僅提供資訊儲存空間服務。