AWS身份和訪問管理模組新增標籤和基於屬性的訪問控制能力
最近,Amazon Web Services(AWS)啟用了IAM使用者和角色標籤,以簡化IAM資源的管理工作。值得注意的是,這個版本還提供了基於屬性的訪問控制(ABAC)能力,並將AWS資源與IAM主體動態匹配,以“簡化大規模的許可權管理”。
最近,Amazon Web Services(AWS)啟用了IAM使用者和角色標籤,以簡化IAM資源的管理工作。值得注意的是,這個版本還提供了基於屬性的訪問控制(ABAC)能力,並將AWS資源與IAM主體動態匹配,以“簡化大規模的許可權管理”。
AWS身份和訪問管理(IAM)是主要的帳戶級功能,用來安全地管理對AWS服務和資源的細粒度訪問控制。IAM的核心是通過在策略中定義許可權並將其附加到適用的主體(IAM使用者和角色)來支援基於角色的訪問控制(RBAC)。此外,除了支援基於身份和資源的策略之外,IAM還通過可選的條件策略元素和“使用了條件運算子的表示式(等於、小於,等等)”來支援基於屬性的訪問控制(ABAC),例如IP地址或時間。此外,還可以使用標籤動態控制對支援基於標籤授權的資源型別(相對較少的)的訪問。
IAM產品經理Sulay Shah在一篇介紹性文章中詳細地說明了AWS新增的IAM使用者和角色標籤功能,通過啟用委託標記許可權和執行標記schema來簡化IAM實體的管理。在隨後的文章中,Shah接著說明了如何通過兩個新的條件上下文鍵來啟用“基於屬性的訪問控制(ABAC)來大規模簡化許可權管理”:
- aws:PrincipalTag/——這個全域性條件鍵將檢查附加到發出請求的主體(使用者或角色)的標記是否與指定的鍵名和值匹配。
- iam:ResourceTag/——這個IAM條件鍵將檢查附加到請求中的目標標識資源(使用者或角色)的標記是否與指定的鍵名和值匹配。
新功能的一個主要使用場景是根據屬性動態地授予IAM主體對AWS資源的訪問許可權。現在可以通過在一個條件中匹配AWS資源標籤來實現——在以下的示例中,可以為每個團隊的當前和未來例項和成員操作EC2例項,並且可以通過調整“team”標籤值將例項和成員移動到另一個團隊:
{ \u0026quot;Version\u0026quot;: \u0026quot;2012-10-17\u0026quot;, \u0026quot;Statement\u0026quot;: [ { \u0026quot;Effect\u0026quot;: \u0026quot;Allow\u0026quot;, \u0026quot;Action\u0026quot;: [ \u0026quot;ec2:RebootInstances\u0026quot;, \u0026quot;ec2:StartInstances\u0026quot;, \u0026quot;ec2:StopInstances\u0026quot; ], \u0026quot;Resource\u0026quot;: \u0026quot;*\u0026quot;, \u0026quot;Condition\u0026quot;: { \u0026quot;StringEquals\u0026quot;: { \u0026quot;ec2:ResourceTag/team\u0026quot;: \u0026quot;${aws:PrincipalTag/team}\u0026quot; } } } ]}
另一個重要的使用場景是允許IAM主體基於屬性動態地假設IAM角色。雖然通過AWS Organizations進行多賬戶使用和基於策略的集中式賬戶管理變得越來越普遍(之前的報導),但到目前為止,安全地管理底層跨賬戶IAM角色仍然是一個繁瑣的過程。在新增新角色時,需要重複“AssumeRole”語句,並且IAM主體需要被授予訪問許可權,使用特定角色的ARN作為目標“Resource”。現在可以使用萬用字元“*”來表示所有的角色,這有利於在條件中對匹配的IAM資源標記進行細粒度訪問控制——下面的示例表示只有當角色的“audit”標籤值為“true”時才允許主體為每個角色假設一個安全審計:
{ \u0026quot;Version\u0026quot;: \u0026quot;2012-10-17\u0026quot;, \u0026quot;Statement\u0026quot;: [ { \u0026quot;Action\u0026quot;: \u0026quot;sts:AssumeRole\u0026quot;, \u0026quot;Effect\u0026quot;: \u0026quot;Allow\u0026quot;, \u0026quot;Resource\u0026quot;: \u0026quot;*\u0026quot;, \u0026quot;Condition\u0026quot;: { \u0026quot;Bool\u0026quot;: { \u0026quot;iam:ResourceTag/audit\u0026quot;: \u0026quot;true\u0026quot; } } } ]}
微軟的Azure資源管理器和谷歌的Cloud IAM主要支援RBAC,儘管Cloud IAM在一個私有測試版中(之前的報導)提供了條件。Kubernetes是一個例外,它支援ABAC和RBAC授權模組。不過,一篇介紹Kubernetes對RBAC的支援的文章承認了ABAC功能強大,但“在Kubernetes中的實現卻難以管理和理解”,並建議將RBAC作為首選方法。
AWS在最近的相關新聞中表示,他們已經提供了用來檢視服務上次訪問的資料的API,以便讓使用者自動執行許可權分析,而這個操作在之前需要通過AWS管理控制檯進行手動檢查。仍然需要專用IAM使用者而不是使用基於IAM角色和臨時安全憑證的身份聯合的場景也將從通過“我的安全憑證”頁面進行憑證自我管理的可用性改進中受益。
IAM文件中包含了使用者指南,包括IAM工作原理、策略評估邏輯以及AWS服務支援的IAM功能的專門章節,還包括有關IAM最佳實踐和AWS標記策略的指導。使用者可以通過身份和訪問管理論壇尋求支援。IAM是一項帳戶級AWS功能,無需額外費用。
檢視英文原文:https://www.infoq.com/news/2019/02/iam-tags-attribute-based-access
相關文章
- JavaScript訪問物件的屬性和方法JavaScript物件
- DB2_基於標籤的訪問控制LBACDB2
- 一、訪問物件屬性和方法的操作物件
- Python 訪問和設定私有屬性Python
- 資料安全合規需要從基於角色的訪問控制邁向基於屬性的訪問控制
- web標準,可用性和可訪問性Web
- 數字區塊鏈技術:身份和訪問管理區塊鏈
- 檔案和目錄的訪問控制(2)新增訪問控制
- Python中訪問私有屬性和私有方法Python
- 區塊鏈改進身份和訪問管理技術(IAM)的方式區塊鏈
- outerDocument訪問外部屬性方法
- c#屬性訪問器C#
- C#中類的屬性訪問器--get和set分析C#
- 基於角色管理的系統訪問控制
- HTML 常用的標籤和屬性HTML
- 常用的HTML標籤和屬性HTML
- 什麼是身份和訪問管理策略,企業如何從中受益?
- JavaScript get set 訪問器屬性JavaScript
- c# tcbs屬性訪問器C#
- 域名訪問和ip訪問引起的http 403問題HTTP
- JavaScript物件的資料屬性與訪問器屬性JavaScript物件
- 阿里雲身份管理與訪問控制之信任管理:角色扮演,臨時身份和安全令牌阿里
- js訪問物件屬性的2個方法JS物件
- xss標籤和屬性爆破
- js給html標籤新增屬性JSHTML
- Vue 標籤中的ref屬性和refsVue
- jQuery基礎學習(3)(獲取標籤屬性,動態新增標籤)jQuery
- 深入理解物件的資料屬性與訪問器屬性物件
- 內網模組放開外網訪問和 cdn內網
- [BUG反饋]新增模組無法通過URL訪問的問題
- 使用 Vim 管理任務列表和訪問 Reddit 和 Twitter
- 課時45:魔法方法:屬性訪問
- C#基礎概念之密封類,屬性訪問器,介面C#
- aws waf 特定連結不能訪問
- React的Refs方法獲取DOM例項 和 訪問子元件方法及屬性React元件
- C#裡面標籤的屬性和事件C#事件
- 語義化你的HTML標籤和屬性HTML
- script標籤的defer和async屬性詳解