1. 程式人生 > >轉載 | 術有專攻,談一談訪問控制

轉載 | 術有專攻,談一談訪問控制

說起訪問控制,不同的人會有不同的理解。不過其最基本的解釋,簡單地講,就是**“限制對資源的訪問”**。然而,具體到我們各自的組織,要弄明白訪問控制的實際意義,卻遠非說起來那麼簡單。

對於有些人來講,只需基於使用者身份驗證機制有選擇性地授予使用者對賬戶的訪問即可;對於有些人來講,只需釐清使用者角色即可;對於有些人來講,只需控制好訪問的許可即可。但對於另外一些人來講,可能就需要對虛擬區域網進行鎖定,這已經超出了使用者的範疇,而是機器與機器之間的互動問題。

當然,還有很多的訪問控制技術,並不是基於允許訪問列表(即白名單)的訪問控制,而是基於不允許訪問列表(即黑名單)的訪問控制,比如進行潛在流量過濾的WEB應用程式安全工具。

綜上所述,訪問控制在IT組織可以說是無處不在,並且在很多情況下又各有不同。

**具體到“訪問策略”,大多數的訪問控制方法都依賴於完全專業人士所制定的安全策略。**特別是白名單方法,該策略通常是由組織指定的。

黑名單則通常容易一些,因為對付不必要的訪問(如惡意軟體)通常不需要為每個使用者設定個性化的訪問控制技術。因此,儘管通過阻止一些不必要的訪問的黑名單形式是一項非常棒的安全基準,但真正的訪問控制通常只有通過基於組織特定的安全需求的附加的白名單才能夠達成。

這正是訪問控制麻煩的地方。在極端情況下,訪問控制方法可以很簡單、很流行並且可控,比如:

  • **基於身份識別的訪問控制(IBAC):**請求者進行身份驗證,通過驗證獲得所有訪問許可權,否則被拒絕訪問
  • **基於角色的訪問控制(RBAC):**請求者進行身份驗證,並獲得基於角色的訪問許可權;
  • **多層安全(MLS):**請求者擁有一定級別的身份標識,可以訪問不高於其身份級別的分類資源。

這些方法的問題在於,其大部分對於組織至關重要的策略的實際執行都過於簡單。例如,HIPAA法案要求,法案覆蓋範圍內的實體要努力限制自己“完成使用、披露、或請求目的的最低必要”。

這種通用的(我們稱之為“高階”的)策略都是基於人類直覺的,使用的都是像IBAC、RBAC、MLS或列入黑名單之類的傳統而又簡單的訪問控制方法,但卻並不容易實現,。

相反地,這些通用的高階策略需要重新解讀為可以在實際技術中實現的“低階的”、複雜的策略,比如“護士只允許檢視其當前所服務的治療醫師所負責的患者的病歷,並且該護士和患者應當屬於同一病區”。這樣的訪問策略往往非常複雜、詳細、包含動態資訊和應用場景。

在過去的10到15年間,設計出了許多這樣先進的訪問控制方法來支援這樣的複雜性。這些方法如屬性訪問控制(ABAC)——簡單地講,就是基於訪問者、資源和場景的規則與屬性來決定訪問控制;風險自適應訪問控制——基於風險計算實行訪問許可權變化的訪問控制;還有基於鄰近度的訪問控制、基於業務流程的訪問控制、基於歷史記錄的訪問控制等等。

要彌補通用性高階訪問策略和技術性可實現性低階策略之間的“語義鴻溝”通常是具有挑戰性的。正確地實現這樣的以及其他的先進訪問控制策略需要很好地理解以下要點:

  • 當前日益複雜的安全策略需求及其對技術性訪問控制實現的影響;
  • 越來越複雜的IT環境的影響,如雲計算、物聯網等訪問策略;
  • 可用的高階訪問控制方法所帶來的好處與所面臨的複雜性挑戰;
  • 克服複雜性和動態性,管理高階訪問策略的方法和流程;
  • 瞭解高階訪問控制最適合的用例(如企業、大資料、雲端計算、物聯網等)。

相關閱讀

原文連結:https://www.aqniu.com/learn/14547.html 作者:nana 星期五, 三月 25, 2016

什麼是 Authing?

Authing 提供專業的身份認證和授權服務。 我們為開發者和企業提供用以保證應用程式安全所需的認證模組,這讓開發人員無需成為安全專家。 你可以將任意平臺的應用接入到 Authing(無論是新開發的應用還是老應用都可以),同時你還可以自定義應用程式的登入方式(如:郵箱/密碼、簡訊/驗證碼、掃碼登入等)。 你可以根據你使用的技術,來選擇我們的 SDK 或呼叫相關 API 來接入你的應用。當用戶發起授權請求時,Authing 會幫助你認證他們的身份和返回必要的使用者資訊到你的應用中。

<div align=center>Authing 在應用互動中的位置</div>

歡迎關注 Authing 技術專欄