可擴展訪問控制標記語言(XACML),是一種在國際網際網路上用XML語言來為信息訪問表達訪問控制策略的一種OASIS規範。一旦配置好之後,XACML可以表達與傳播規則和策略,這種規則和策略可以由訪問控制機制用來決定對對象以及屬性的訪問。
基本介紹
- 中文名:可擴展訪問控制標記語言
- 外文名:eXtensible Access Control Markup Language
- 簡稱:XACML
- 定義:可以表達與傳播規則個策略
- 系統:計算機
- 套用學科:計算機原理
概述,訪問控制,優點,
概述
可擴展的訪問控制標記語言是由OASIS組織開發,採用XML表示的訪問控制策略語言。XACML策略語言允許管理員定義訪問控制需求。XACML還包括一種訪問決策語言,用於描述對資源運行時的請求。當確定了保護資源的策略之後,函式會將請求中的屬性與包含在策略規則中的屬性進行比較,最終生成一個許可或拒絕決策。簡言之,XACML是一種新的用於管理策略和訪問控制的標記語言,同時又是一種通用的訪問控制策略定義語言,提供一整套語法(使用XML定義)來管理對系統資源的訪問。
目前,多數系統都以專有的方式實現訪問控制和授權,在專有訪問控制系統中,實體及其屬性的信息保存在資料庫,即訪問控制列表中。不同的專有系統具有不同的實現ACL的機制,因此難以交換和共享信息。同時,這些機制缺少表示複雜策略(在現實系統中經常需要用到)的能力。因此,訪問控制策略通常會嵌入應用程式代碼中,這使得更改策略(或者只是找出哪些策略正在實施)變得很困難。
XACML的出現使得不同環境中可以簡單、靈活地制定各種訪問控制策略。XACML的通用性使得各系統之間的訪問控制策略和過程得到標準化。XACML是一種主要由機器生成的語言,它們能用於多個應用程式,並可以實現不同系統之間訪問控制的互操作。
目前,XACML的API已經由Sun公司實現,由Java語言寫成,即Sun’S Java XACMLImplementation。它是Sun提供的對於XACML標準的Java實現,是目前關於XACML開展最早的開源項目。Sun Java XACML的實現實際上是一個對於OASIS XACML標準支持的類庫,在Sun Java XACML Implementation 1.2中提供了對於OASIS XACML標準2.0版本的完全支持。
訪問控制
在XACML中列出的訪問控制是一個四元組,這個四元組的分量包括以下內容:
主體:可以是一個用戶ID,一個角色或者一個組。例如“只有職位在部門經理以上的人員才查看這個文檔”。
目標對象:可以是單個XML文檔元素,一個設備或者一個檔案。
動作:允許的動作包括讀、寫、創建和刪除。
規定:是一個動作。這個動作在XACML規則被激活時必須執行;這個動作可能會傳送一個警告來請求額外的證明書或者開始一個登錄過程。
優點
XACML有如下優點:
1、安全管理員只需對訪問控制策略描述一次,不必在不同的系統中使用不同的應用程式策略語言重寫多次。
2、應用程式開發者不必開發自己的策略語言和編寫支持它們的程式,他們可以重複使用已有的和標準化的程式。
3、XACML能適應大多數訪問控制策略的需求,當新的訪問控制要求出現時,只需要加入策略,不必修改應用程式。
4、單一XACML策略能套用於多個資源,這有助於在為不同資源編制策略時,避免不一致性和重複勞動。
5、XACML中一個策略可以引用另一個策略。