訪問控制
ABAC是一種為解決行業分布式應用可信關系訪問控制模型,它利用相關實體(如主體、客體、環境)的屬性作為授權的基礎來研究如何進行訪問控制。基于這樣的目的,可将實體的屬性分為主體屬性、客體屬性和環境屬性,這與傳統的基于身份的訪問控制(IBAC)不同。在基于屬性的訪問控制中,訪問判定是基于請求者和資源具有的屬性,請求者和資源在 ABAC 中通過特性來标識,而不像 IBAC 那樣隻通過 ID 來标識,這使得 ABAC 具有足夠的靈活性和可擴展性,同時使得安全的匿名訪問成為可能,這在大型分布式環境下是十分重要的。
訪問對象
在ABAC中,主體是對客體(資源)實施訪問行為的實體,如用戶、服務、通信實體等;
主體有定義其身份和特性的屬性,包括主體的身份、角色、職位、能力、位置、行政關系以及CA 證書等,如用戶這一主體,它可以以所處行業中用戶屬性特征為基礎,将這些用戶的某些屬性進行标準化定義,包括某用戶所屬的部門、職務、主管業務等;
客體是被主體操作的實體,如文件、數據、服務、系統設備等,客體屬性包括身份、位置(URL) 、大小、值,這些屬性可從客體的“元數據”中獲取,同樣也可以由對其操的主體來繼承。這就是說,客體屬性與主體屬性具有一定的相關性;
環境屬性是與事務(或業務)處理關聯的屬性,它通常與身份無關,但适用于授權決策,如時間、日期、系統狀态、安全級别等。
與IBAC、RBAC的區别
ABAC 與 IBAC 顯著不同之處在于其對請求者、被請求資源通過屬性來描述,而一些限制條件同樣也使用環境屬性來描述,這就是說在ABAC 中所有實體的描述都統一采用同一種方式——屬性來進行描述,不同的是不同實體的屬性權重可能不同,這使得訪問控制判定功能在判定時,對訪問控制判定依據能夠采取統一處理。同時,基于屬性的策略描述也擺脫了基于身份的策略描述的限制,其能夠利用請求者所具有的一些屬性來決定是否賦予其訪問權限,在開放的環境下,訪問控制判定功能并不關心訪問者是誰(有時也可能根本無法獲取這類信息)。在系統運行過程中,屬性是一個易變量,而策略比較穩定,基于屬性的策略描述方式可以很好地将屬性管理和訪問判定相分離。
基于角色的訪問控制(RBAC)通過引入角色中間元素,使得權限先經過角色進行聚合,然後再将權限分配給主體,通過這種方式可以簡化授權,可将角色信息看成是一種屬性,這樣 RBAC 就成為了ABAC 的一種單屬性特例。XACML 是一個基于 XML 的訪問控制标記語言,其采用訪問者、被請求資源、被請求行為和環境屬性來描述策略,是一個典型的在 ABAC 環境下的策略描述語言。針對ABAC 的研究大多集中在應用方面,而對其理論模型的研究較少,這使得ABAC 中很多概念沒有一個規範的定義。



















