天天看點

IoT平台權限管理:授權和通路控制系統設計

作者:人人都是産品經理
本文介紹了物聯網平台授權和通路系統的設計,從使用者授權的介紹、通路系統的基本設計思路到權限系統的設計過程,同時通過具體設計案例的分析,非常形象且詳細地介紹了物聯網平台授權和通路系統的設計方法,希望能對關注産品設計的你有所幫助。
IoT平台權限管理:授權和通路控制系統設計

一、基本概念

使用者授權是物聯網(IoT)管理平台的關鍵組成部分。它是驗證使用者身份,确定其在平台内功能權限和資料通路權限的過程。在IoT管理平台中,有幾個關鍵概念:

  • 角色:使用者角色是根據使用者的職能或在平台内的通路級别對使用者進行分類的一種方式。例如,管理者可能比普通使用者具有更多的通路權限。在IoT管理平台中,可能會有幾種不同的使用者角色,包括管理者、裝置管理者和資料分析員。每個角色都有一個特定的權限和通路權限集,通常這些角色的權限以及通路權限集由平台管理者進行定義。
  • 權限:權限是使用者在平台内被允許執行的操作。這些權限通常根據使用者在平台内的角色進行配置設定。例如,管理者可能具有建立和删除裝置的權限,而普通使用者可能隻能檢視裝置資料。
  • 認證方法:認證是驗證使用者身份的過程。在IoT管理平台中可以使用幾種不同的認證方法,包括密碼、生物識别和雙因素認證。
  • 授權模型:授權模型是用于确定如何将通路控制政策應用于平台内的使用者架構。可以使用幾種不同的授權模型,包括基于角色的通路控制(RBAC)、基于屬性的通路控制(ABAC)和強制通路控制(MAC)。
  • 通路控制清單(ACL):通路控制清單是根據使用者在平台内的角色配置設定給使用者的權限集。這些清單定義了使用者在平台内被允許執行的特定操作。ACL通常由平台管理者建立和管理。

二、通路控制模型

通路控制模型是管理使用者通路IoT管理平台中功能權限和資料權限的架構。有幾種不同的通路控制模型可供使用,每種模型都有其自身的優點和缺點。

1. 基于角色的通路控制(RBAC)

IoT平台權限管理:授權和通路控制系統設計

基于角色的通路控制(RBAC)是IoT管理平台中最常用的通路控制模型。在RBAC中,通路控制政策基于使用者在平台内的角色。使用者基于其工作職能或平台内的通路級别被配置設定到角色。 例如:在面向制造工廠的物聯網管理平台中,管理者角色可以通路平台中的所有裝置和資料,裝置管理角色隻能通路他們管理的裝置,資料分析師角色隻能通路他們需要用于分析的資料。

2. 基于屬性的通路控制(ABAC)

基于屬性的通路控制(ABAC)是在IoT管理平台中使用的另一種通路控制模型。在ABAC中,通路控制政策基于使用者、裝置和被通路資料的屬性。屬性可能包括使用者角色、裝置位置、資料敏感性和其他因素。ABAC比RBAC更加靈活,因為它可以考慮多個屬性來進行通路控制決策。然而它更難以實作和管理,這使得它不如RBAC流行。

3. 強制通路控制(MAC)

MAC是一種高度限制的通路控制模型,通常用于安全至關重要的環境中。在MAC中,通路控制政策由集中的安全政策定義,确定哪些使用者可以通路哪些裝置和資料。通路權限基于使用者的安全許可和被通路資料的敏感性來授予,使用者僅被授權通路他們明确被授權通路的裝置和資料。 MAC是最安全的通路控制模型,但它也是最複雜和難以實作的。它通常僅在安全風險很高的高度安全的環境中使用。例如:在面向政府機構的物聯網管理平台中,對敏感資料的通路可能僅限于具有最高機密級别的安全許可使用者,并且對某些裝置的通路可能僅限于具有特定職能的使用者。

三、權限系統設計

權限系統是物聯網管理平台的關鍵組成部分。權限系統包括使用者授權和通路控制,確定隻有經過授權的使用者可以通路平台内的内容和資料。

1. 通路控制政策

通路控制政策是確定隻有授權使用者才可以通路平台資源,和執行特定操作的主要機制。

定義通路控制要求:設計通路控制政策的第一步是定義平台的具體通路控制要求。

選擇通路控制模型:RBAC通路控制模型提供了一種靈活和可擴充的方式來管理使用者對裝置和資料的通路,比較适合智能家居IoT平台。在這種模型中,通路控制基于使用者角色,這些角色由平台管理者定義。

實施通路控制政策:選擇了通路控制模型後,就需要在平台内實施通路控制政策。包括定義使用者角色、配置設定角色權限、建立通路控制清單和實施身份驗證等操作。

  • 建立使用者帳戶:使用者注冊建立使用者賬戶;
  • 定義使用者角色:平台管理者将根據平台的需求定義多個使用者角色。
  • 配置設定角色權限:每個使用者角色将被配置設定一組權限,用于定義他們可以在平台内執行的操作。
  • 建立通路控制清單(ACL):ACL将用于定義哪些使用者可以通路平台内的特定裝置和資料。将為平台内的每個裝置和資料類型建立ACL。
  • 實施身份驗證:使用者必須使用使用者名和密碼進行身份驗證才能通路平台。平台将使用多因素身份驗證,以確定隻有授權使用者可以通路平台。

監視使用者活動:通路控制政策實施後,重要的是監視平台内的使用者活動。這包括定期稽核通路日志和使用者活動報告,以確定使用者隻通路他們已被授權通路的裝置和資料。

定期稽核通路控制政策:定期稽核和更新平台内的通路控制政策,包括評估政策的有效性、确定需要改進的政策,并根據需要進行更改,以確定平台保持安全并符合相關法規。

2. 身份驗證和授權

認證和授權協定是物聯網管理平台的基礎組成部分,有助于確定隻有授權使用者才能夠通路平台以及執行适當的操作。認證是指驗證使用者身份的過程,而授權是指确定使用者在平台中具有的通路權限。常用的認證和授權協定包括OAuth、OpenID Connect和SAML。

其中OAuth适用于需要向第三方應用程式授予臨時通路權限的IoT平台,而OpenID Connect适用于需要簡化使用者身份驗證和增強安全功能的平台。 SAML适用于需要身份驗證機制的靈活性和對各種應用程式支援的平台。

3. 日志以及監控

監控使用者活動對于維護IoT平台的安全和隐私至關重要,在IoT平台中有幾種監控使用者活動的方法:

  • 日志記錄:系統自動記錄使用者活動記錄以及異常記錄,例如登入嘗試、裝置通路和資料請求,以跟蹤使用者行為并檢測任何可疑活動。
  • 審計追蹤:通過建立審計追蹤,平台可以跟蹤使用者活動,使管理者能夠識别使用者行為以及異常行為。
  • 警報和通知:平台也可以配置生成警報或通知,當發生某些事件時,如登入嘗試失敗、通路敏感資料或不尋常的使用者行為。
  • 行為分析:通過分析使用者行為和活動模式,平台可以實時識别潛在的安全威脅或異常情況,并采取适當的措施來降低風險。

四、産品設計案例

下面舉一個使用RBAC通路控制模型設計的IOT平台權限管理系統案例。

1. 産品結構

IOT平台權限管理系統主要關鍵步驟:

IoT平台權限管理:授權和通路控制系統設計

主要包括以下幾個方面:

  • 賬戶體系:這是權限系統的基礎,負責存儲使用者賬戶資訊,包括使用者名、密碼、郵箱等等。賬戶體系還負責處理使用者注冊、登入和密碼重置等流程。
  • 通路控制政策:這是權限系統的核心,用于控制使用者對系統中各種資源(如裝置和資料)的通路權限。通路控制政策分為功能權限和資料權限兩種,功能權限用于控制使用者對系統中各種功能的通路權限,資料權限用于控制使用者對系統中各種資料的通路權限。
IoT平台權限管理:授權和通路控制系統設計
  • 日志:日志是權限系統用于記錄使用者操作的重要手段,用于對使用者進行審計和監控。權限系統需要記錄所有的使用者登入、登出、權限變更等操作,以便在出現問題時進行溯源。
  • 監控:監控是權限系統用于分析日志資料的手段,用于檢測潛在的安全問題和異常操作。權限系統需要能夠将日志資料進行聚合和分析,以便進行風險識别和實時響應。

2. 應用程式接入

應用程式接入是指授權應用程式連接配接到IoT平台并使用其功能和資料的過程。在這個過程中,權限系統必須確定隻有授權的應用程式可以連接配接到平台,并根據其角色和權限進行通路。

(1)應用程式管理

應用程式管理是權限系統的一個重要元件,它可以幫助管理者管理系統中的應用程式,包括添加、編輯、删除和授權等操作。以下是一些常見的應用程式管理功能:

  • 應用程式注冊:管理者可以向系統中注冊應用程式,以便授權使用者通路。
  • 應用程式編輯:管理者可以對已經注冊的應用程式進行編輯,包括修改應用程式名稱、描述、圖示等資訊。
  • 應用程式授權:管理者可以向使用者或使用者組授權通路應用程式。授權可以基于角色、組織、部門等。
  • 應用程式删除:管理者可以删除已經注冊的應用程式,以及與之相關的授權和配置資訊。
  • 應用程式版本管理:管理者可以管理系統中的應用程式版本,包括添加、編輯、删除和授權等操作。
  • 應用程式統計:管理者可以檢視系統中每個應用程式的使用情況,包括通路量、通路頻率、使用者群體等資訊,以便于對應用程式進行優化。
IoT平台權限管理:授權和通路控制系統設計

(2)菜單管理

菜單管理是權限系統中的一個關鍵元件,它可以控制使用者在系統中看到哪些菜單和選項,進而確定他們隻能通路其具備權限的功能和資料。在一個基于RBAC模型的IoT管理平台中,菜單管理需要支援以下功能:

  • 菜單的建立和編輯:管理者應該能夠建立新的菜單,并在需要時對其進行編輯。菜單應該包括可見名稱、菜單項連結和通路菜單項所需的角色。
  • 菜單項的角色配置設定:管理者應該能夠為每個菜單項指定一個或多個角色,以确定哪些使用者能夠通路該菜單項。
  • 菜單的可見性:根據使用者的角色和權限,應該能夠動态地确定哪些菜單和菜單項對使用者可見。
  • 菜單的層次結構:菜單應該能夠以層次結構的形式組織,以便使用者可以輕松地導航到他們需要的功能和資料。
  • 菜單的權限驗證:當使用者嘗試通路一個菜單項時,系統應該驗證該使用者是否具有通路該菜單項所需的角色和權限。
  • 菜單的審計跟蹤:菜單管理應該記錄和跟蹤使用者對菜單項的通路,并提供審計日志以支援符合合規性和監管要求。
IoT平台權限管理:授權和通路控制系統設計

3. 通路控制政策

通路控制政策是指定義使用者如何通路系統和資源的規則和限制。在IoT平台中,通路控制政策可以分為兩類:功能權限和資料權限。

(1)機構部門

機構部門是指一個組織内部的各個部門、分支機構、辦事處等,通常是根據業務功能、地理位置、人員組織等因素進行劃分。在權限系統中,機構部門常常被用來作為權限控制的一個次元。通過将使用者配置設定到不同的機構部門,可以限制他們能夠通路的資源範圍,進而實作細粒度的權限控制。機構部門也可以被用來作為角色的一部分,例如,某個部門的經理可以被授予更高的權限,以便他能夠管理該部門内的其他員工的權限。

在權限系統中,通常會使用樹形結構來組織機構部門,其中每個部門都是樹中的一個節點,每個節點可以有多個子節點。這樣可以友善地對機構部門進行層級管理,并且可以通過繼承機制來簡化權限配置設定的過程。例如,可以将某個部門的權限繼承自其上級部門,進而減少權限設定的工作量。

IoT平台權限管理:授權和通路控制系統設計

(2)成員管理

成員管理是指管理系統中的使用者,包括添加、删除、修改和檢視使用者的資訊。在基于RBAC的權限系統中,成員管理非常重要,因為它是配置設定和管理角色和權限的基礎。下面是一些與成員管理相關的内容:

  • 添加使用者:管理者可以通過輸入必要的使用者資訊(如使用者名、密碼、電子郵件、電話等)添加新使用者。
  • 删除使用者:管理者可以删除不再需要通路系統的使用者。這将防止這些使用者繼續通路系統,進而提高系統的安全性。
  • 修改使用者資訊:管理者可以修改使用者資訊,如使用者名、密碼、電子郵件、電話号碼等。
  • 檢視使用者資訊:管理者可以檢視系統中所有使用者的資訊,并根據需要進行篩選和排序。
  • 配置設定角色:管理者可以為每個使用者配置設定一個或多個角色,以控制使用者可以通路的資料和功能。在RBAC模型中,角色通常與職能或職位相關聯,是以角色配置設定應該根據使用者的職能和職位進行。
  • 配置設定權限:管理者可以根據需要向角色授權,授予通路特定資料或功能的權限。角色的權限應該與其相關的職能和職位相對應,以確定使用者隻能通路其工作職能所需的資料和功能。
  • 導入/導出使用者資訊:管理者可以使用批量導入/導出工具來添加、删除和更新使用者資訊。這可以幫助管理者更高效地管理大量使用者。
IoT平台權限管理:授權和通路控制系統設計

(3)權限管理

在RBAC模型中,權限管理通常基于角色來進行,每個角色被賦予一組權限,然後使用者被配置設定到一個或多個角色。這種模型有助于確定使用者隻能通路他們所需的資源和資料,并可以通過減少需要維護的權限,簡化管理過程。例如,在IoT平台中,可以建立一個“管理者”角色,該角色具有完全通路權限,而可以建立一個“普通使用者”角色,該角色隻具有部分通路權限。

功能權限:功能權限指的是使用者可以執行的操作或通路的功能。它確定使用者隻能通路其所需的系統功能。下面是一些功能權限管理能力:

  • 定義角色和權限:首先需要确定系統中不同角色的權限。根據使用者的職能和責任,将角色劃分為不同級别,然後确定每個角色需要通路哪些功能。對于每個功能,可以配置設定一種權限(無權通路、隻讀通路、讀寫通路和完全通路)。最後,将這些角色和相應的權限配置設定給系統中的每個使用者。
  • 維護權限矩陣:為了更好地了解系統中每個角色和每個使用者的權限,可以建立一個權限矩陣。權限矩陣是一個包含所有系統功能和角色的表格。該表格列出了每個角色可以通路哪些功能,以及每個使用者被配置設定的角色。
  • 維護權限配置設定:每當使用者的職能或職位發生變化時,需要及時更新他們的權限。是以,建議定期審查使用者權限,并将更改記錄在權限矩陣中。如果員工離職或轉移,應及時删除或轉移其權限。
  • 實施最小特權原則:最小特權原則是指給使用者最小必要的權限,以執行其工作職責。這意味着,除了他們工作所需的功能外,他們将無法通路系統中的任何其他資料或功能。這有助于降低安全風險和減少意外錯誤。
  • 實施審計跟蹤:實施審計跟蹤是為了記錄使用者的操作,以及查明是否有未經授權的通路或其他安全問題。管理者可以通過審計跟蹤工具監視系統中所有使用者的活動,并對發現的問題進行調查和解決。
IoT平台權限管理:授權和通路控制系統設計

資料權限:資料權限是指限制使用者對系統内資料的通路權限。與功能權限不同,資料權限的作用範圍更為細緻,可幫助保護敏感資料免受未經授權的通路和更改。資料權限通常基于以下幾個方面進行授權:

  • 對象級别權限:該權限控制使用者是否可以通路或修改特定資料對象。例如,隻允許特定部門或角色的使用者檢視或編輯特定客戶資訊。
  • 行級别權限:該權限控制使用者可以檢視或操作哪些資料行。例如,隻允許使用者檢視自己建立的記錄或者與其相關的記錄。
  • 列級别權限:該權限控制使用者可以檢視或操作哪些資料列。例如,隻允許使用者檢視特定列中的資料,而其他列中的資料對其不可見。
  • 資料屏蔽:該權限控制資料的可見性,以確定使用者隻能檢視其需要檢視的資料。例如,在特定部門的使用者隻能檢視其所在部門的資料,而不能檢視其他部門的資料。

資料權限的管理:這裡介紹一下通過組織機構樹來控制資料的通路範圍,資料權限管理通常包括以下步驟:

  • 定義需要控制的資料類型:管理者需要定義需要受到權限控制的資料類型,例如客戶資訊、交易資料等。
  • 劃分資料範圍:管理者需要将需要受到權限控制的資料劃分為不同的資料通路範圍。
  • 确定組織樹的層次結構:首先需要确定組織樹的層次結構,例如公司級别、部門級别和員工級别等。
  • 根據組織樹劃分資料範圍:對于需要受到權限控制的資料,可以根據組織樹将其劃分為不同的資料範圍。例如,公司級别資料通路範圍可以配置設定給公司高層管理人員,部門級别資料通路範圍可以配置設定給部門經理和相關員工通路,而員工級别的通路範圍資料可以配置設定給相關員工通路,其中部門級别資料通路範圍可以根據組織樹的部門進行劃分,不同的部門對應不同的資料通路範圍,部門級别的資料通路範圍可以通路該部門節點下所有組織的資料通路權限。
  • 配置資料通路權限:管理者需要定義哪些使用者或使用者組可以通路每個資料範圍,例如員工選擇員工級别通路資料範圍,公司高層管理人員選擇選擇公司級别通路資料範圍。
  • 配置資料權限:管理者需要将不同的資料通路權限配置設定給不同的角色,例如管理者、銷售人員、客服人員等。
  • 監控和審計:為了確定資料權限得到有效執行,需要對資料通路進行監控和審計。這可以通過日志記錄、審計跟蹤等方式來實作,以檢測并防止未經授權的資料通路。
IoT平台權限管理:授權和通路控制系統設計

4. 日志以及監控

日志記錄是記錄系統中發生的事件、操作和異常資訊等的一種方式。在通路控制政策系統中,日志記錄可以用于監控和審計系統的通路情況,包括使用者登入和操作記錄等,以便于管理者對系統的安全性進行評估和改進。具體來說,通路控制政策系統中的日志記錄可以包括以下内容:

登入日志:記錄使用者登入系統的時間、IP位址、使用者名和登入結果等資訊。

IoT平台權限管理:授權和通路控制系統設計

異常日志:記錄系統出現異常情況時的相關資訊(包括記錄系統中的安全事件),例如錯誤代碼、錯誤資訊、異常類型、未經授權的通路、惡意攻擊等。

IoT平台權限管理:授權和通路控制系統設計

記錄檔:

記錄使用者在系統中的操作行為,包括操作時間、操作類型、操作對象等資訊。

IoT平台權限管理:授權和通路控制系統設計

本文由 @産品@Devin 原創釋出于人人都是産品經理,未經許可,禁止轉載。

題圖來自 Unsplash,基于 CC0 協定。

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

繼續閱讀