存取控制串列

存取控制串列

存取控制串列,又稱訪問控制表(Access Control List,ACL),是使用以訪問控制矩陣為基礎的訪問控制表,每一個(檔案系統內的)對象對應一個串列主體。訪問控制表描述用戶或系統進程對每個對象的訪問控制許可權。

訪問控制表的主要缺點是不可以有效迅速地枚舉一個對象的訪問許可權。因此,要確定一個對象的所有訪問許可權需要搜尋整個訪問控制表來找出相對應的訪問許可權。

基本介紹

  • 中文名:存取控制串列
  • 外文名:Access control series
  • 又稱:訪問控制表
  • 簡稱:ACL
  • 主要作用:限制網路流量,提高網路性能
  • 原則:3P原則
實現,檔案系統ACL,網路ACL,SQL實現,與RBAC比較,

實現

許多種系統都實現了ACL,或者具有歷史性的實現。

檔案系統ACL

檔案系統ACL是一種數據結構(通常是表),其中包含指定特定系統對象(如程式,進程或檔案)的單個用戶或組許可權的條目。這些條目在Microsoft Windows NT,OpenVMS,類Unix和Mac OS X作業系統中稱為訪問控制條目(ACE)。每個可訪問對象都包含其ACL的標識符。特權或許可權確定特定的訪問許可權,例如用戶是否可以讀取,寫入或執行對象。在一些實現中,ACE可以控制用戶或用戶組是否可以改變對象上的ACL。
大部分的Unix和類Unix作業系統(例如Linux中,BSD或Solaris)支持POSIX.1e的ACL,基於所於1997年他們中的許多撤回,例如AIX,FreeBSD的早期POSIX草案從版本10.4(“Tiger”)開始的Mac OS X,或帶有ZFS檔案系統的Solaris,支持NFSv4 ACL,它們是NFSv4標準的一部分。有NFSv4 ACL的用於Linux的兩個實驗實現:用於Ext3檔案系統和最近Richacls NFSv4 ACL的支持,其帶來了對檔案系統的Ext4 NFSv4 ACL的支持。
PRIMOS至少早在1984年就有ACL。
在20世紀90年代,ACL和RBAC模型被廣泛測試並用於管理檔案許可權。

網路ACL

在某些類型的專有計算機硬體(特別是路由器和交換機)上,訪問控制列表提供套用於主機或其他第3層上可用的連線埠號或IP位址的規則,每個規則都包含主機列表和/或允許使用該服務的網路。雖然還可以根據網路域名配置訪問控制列表,但這是一個值得懷疑的想法,因為各個TCP,UDP和ICMP標頭不包含域名。因此,強制執行訪問控制列表的設備必須單獨將名稱解析為數字地址。這為攻擊者提供了額外的攻擊面,該攻擊者試圖破壞訪問控制列表正在保護的系統的安全性。單個伺服器和路由器都可以具有網路ACL。通常可以將訪問控制列表配置為控制入站和出站流量,在此上下文中,它們與防火牆類似。與防火牆一樣,ACL可能受到安全法規和PCI DSS等標準的制約。

SQL實現

ACL算法已移植到SQL和關係資料庫系統。許多“現代”(2000年代和2010年代)基於SQL的系統(如企業資源規劃和內容管理系統)在其管理模組中使用了ACL模型。

與RBAC比較

ACL模型的主要替代方案是基於角色的訪問控制(RBAC)模型。 可以將“最小RBAC模型”RBACm與ACL機制ACLg進行比較,其中只允許組作為ACL中的條目。 Barkley(1997)表明RBACm和ACLg是等價的。
在現代SQL實現中,ACL還管理組層次結構中的組和繼承。 因此,“現代ACL”可以表達RBAC所表達的所有內容,並且在根據管理員查看組織的方式表達訪問控制策略的能力方面具有顯著的強大功能(與“舊ACL”相比)。
對於數據交換和“高級別比較”,ACL數據可以轉換為XACML。

相關詞條

熱門詞條

聯絡我們