1. 程式人生 > >IAM簡介與常見的訪問控制模型

IAM簡介與常見的訪問控制模型

1.IAM
IAM,Identity and Access Management 的縮寫,即“身份識別與訪問管理”。IAM是一套全面的建立和維護數字身份,並提供有效地、安全地IT資源訪問的業務流程和管理手段,從而實現組織資訊資產統一的身份認證、授權和身份資料集中管理與審計。通俗地講:IAM是讓合適的自然人在恰當的時間通過統一的方式訪問授權的資訊資產,提供集中式的數字身份管理、認證、授權、審計的模式和平臺。總之,IAM是一個綜合的概念。

2.常見的訪問控制模型

(1)ACL, Access Control List,訪問控制列表

        ACL是最早也是最基本的一種訪問控制機制,它的原理非常簡單。每一項資源,都配有一個列表,這個列表記錄的就是哪些使用者可以對這項資源執行CRUD中的那些操作。當系統試圖訪問這項資源時,會首先檢查這個列表中是否有關於當前使用者的訪問許可權,從而確定當前使用者可否執行相應的操作。總得來說,ACL是一種面向資源的訪問控制模型

,它的機制是圍繞“資源”展開的。
  由於ACL的簡單性,使得它幾乎不需要任何基礎設施就可以完成訪問控制。但同時它的缺點也是很明顯的,由於需要維護大量的訪問許可權列表,ACL在效能上有明顯的缺陷。另外,對於擁有大量使用者與眾多資源的應用,管理訪問控制列表本身就變成非常繁重的工作。

(2)RBAC, Role-based Access Control, 基於角色的訪問控制
        RBAC是把使用者按角色進行歸類,通過使用者的角色來確定使用者能否針對某項資源進行某項操作。RBAC相對於ACL最大的優勢就是它簡化了使用者與許可權的管理,通過對使用者進行分類,使得角色與許可權關聯起來,而使用者與許可權變成了間接關聯。RBAC模型使得訪問控制,特別是對使用者的授權管理變得非常簡單和易於維護,因此有廣泛的應用。但是它也有自身的缺點,那就是由於許可權是以角色為載體分配的,如果某一角色下的個別使用者需要進行特別的許可權定製,如同加入一些其他角色的小部分許可權或去除當前角色的一些許可權時,RBAC就無能為力了,因為RBAC對許可權的分配是角色為單位的。

        RBAC的許可權模型如下:


       在上圖中,模型的結構為user -> group -> rule -> privilege。一個使用者屬於某一個使用者組,沒個使用者被分配了一些角色,每個角色有關聯了一些列的privilege。user和其最終所擁有的privilege間接關聯在一起,中間經過group,role的連結。

(3)除兩上述兩種主要的模型之外,還有包括:基於屬性的訪問控制ABAC和基於策略的訪問控制PBAC等等,因為應用不是很廣泛,就不做介紹了。

參考資料來源於:

http://blog.csdn.net/painsonline/article/details/7183613/