2009-05-28 51 views
8

當使用LDAP存儲(我使用Apache目錄1.0.2作爲測試平臺)實現的RBAC模型,一些演員顯然可映射到特定的對象類:代表RBAC演員在LDAP

  • 資源 - 我沒有看到這個清晰的映射。應用實體似乎只是爲此目的準備的
  • 權限 - 一個權限可以被視爲一個單一用途的角色;顯然我沒有考慮LDAP權限,因爲它們控制對LDAP對象和屬性的訪問,而不是對資源的RBAC權限
  • 角色 - 直接映射到groupOfNames或groupOfUniqueNames,對嗎?
  • 用戶 - 人

在過去,我已經看到模型沒有以任何方式在目錄中處理資源,並且權限和角色已映射到Active Directory組。

有沒有更好的方法來表示這些角色?如何討論文檔的良好映射和意圖?

+0

好奇 - 爲什麼downvote甚至沒有評論?這在三年前我問到時似乎是一個相關的問題......特別是當時我正在研究的項目。 – 2012-05-01 16:10:17

+1

作爲OP,我發現這是[基於LDAP的基於角色的安全實現](http://stackoverflow.com/questions/8020237/role-based-security-implementation-in-ldap)的副本,它實際上具有一些有用的指導。 – 2013-09-26 13:09:44

回答

4

RBAC不是RBAC不是RBAC和RBAC在紙上很難實現,但在現實生活中幾乎不可能實現。

每個人都有自己的RBAC「想法」,大多數人對與RBAC相關的每件事都使用不同的術語。一般來說,從LDAP實現的角度來看,很少有所有的「部分」在LDAP中做適當的實現。

用簡單的術語的「片份」分別是:

S =主題= A人或自動代理或用戶

P =權限=存取模式的批准目標資源

T =目標資源=要分配權限的對象

角色至少需要關聯權限和用戶。 目標資源可能完全位於LDAP之外。所以它可能是Tomcat服務器上的應用程序,或者只是讀取LDAP服務器中「其他」條目的權利。

因此,LDAP中最好的做法是設置一個包含用戶列表的對象,並且如果LDAP中有某些資源,則爲這些目標資源分配正確的目錄權限。

然後有一點問題的實現。

我們現在需要一個政策來實施我們的角色。所以我們的角色,如果沒有關於如何使用它的政策,我們將其稱爲用戶只讀(USER-READ-ONLY)。

在我們的案例中,我們可以說用戶只讀角色可以讀取組織中的任何內容。

所以我們現在有一個政策。這個政策在哪裏存儲?策略的數字表示存儲在「策略信息點」或PIP中。

我們如何解釋PIP提供的政策?政策由政策決策點(PDP)解釋。

誰決定主題(用戶)是否可以訪問資源?政策執行點(PEP)。

將所有這些策略組合在一起,我們最終得到策略的數字表示形式,由策略信息點提供給策略決策點,策略決策點然後將決策傳遞給訪問被允許或拒絕的策略執行點。

所以在我們的RBAC故事中,PIP,PDP和PEP在哪裏? 那麼,如果目標資源在LDAP目錄中,那麼它就是LDAP目錄,它是PIP(我們可能硬編碼並且不抽象,PIP也是PEP,而且很容易。)

但是如果它是我們的Tomcat應用程序,它必須是Tomcat應用程序中可以中斷的一種方法。知道必須使用一種方法來說「我有這個主題(用戶)並且他希望訪問此目標資源(庫存)以執行此權限只讀)」。

當然也有一些標準,這一切的東西。(谷歌XAML,RFC3198,ISO10181-3,NIST),但它們與實際實現的巨大差距的標準。

因此請記住RBAC的真正實現很難。

當然,恕我直言,我們應該瞭解RBAC,研究論文並使其成爲一個戰略方向,但是跨越廣泛的供應商和應用程序基礎的現實生活實現,以及我們現在還沒有。

-Jim

0

使用LDAP退房堡壘這是一個真實的,開放源碼的實現ANSI RBAC(INCITS 359)的。 http://iamfortress.org/

是的,這是相當困難的實施,但我們一直在解決這個問題超過10年。 ;-)