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物件
- 一、訪問物件屬性和方法的操作物件
- Python 訪問和設定私有屬性Python
- 資料安全合規需要從基於角色的訪問控制邁向基於屬性的訪問控制
- 數字區塊鏈技術:身份和訪問管理區塊鏈
- Python中訪問私有屬性和私有方法Python
- 區塊鏈改進身份和訪問管理技術(IAM)的方式區塊鏈
- C#中類的屬性訪問器--get和set分析C#
- 內網模組放開外網訪問和 cdn內網
- [BUG反饋]新增模組無法通過URL訪問的問題
- 什麼是身份和訪問管理策略,企業如何從中受益?
- 阿里雲身份管理與訪問控制之信任管理:角色扮演,臨時身份和安全令牌阿里
- JavaScript get set 訪問器屬性JavaScript
- HTML 常用的標籤和屬性HTML
- JavaScript物件的資料屬性與訪問器屬性JavaScript物件
- xss標籤和屬性爆破
- js訪問物件屬性的2個方法JS物件
- 深入理解物件的資料屬性與訪問器屬性物件
- [ASP.NET]關於DOT NET的IIS配置LocalHost訪問和127.0.0.1訪問的區別ASP.NETlocalhost127.0.0.1
- 使用 Vim 管理任務列表和訪問 Reddit 和 Twitter
- 課時45:魔法方法:屬性訪問
- Vue 標籤中的ref屬性和refsVue
- spring boot(四)資料訪問模組Spring Boot
- aws waf 特定連結不能訪問
- 原型鏈上的get與set訪問器屬性原型
- Microsoft Graph for Office 365 - 身份驗證路線圖和訪問令牌ROS
- RBAC-基於角色的訪問控制
- django新增路由訪問helloworldDjango路由
- script標籤的defer和async屬性詳解
- C#裡面標籤的屬性和事件C#事件
- 模擬ip訪問(附模擬手機訪問)遠端地址
- 關於UINavigationBar和UITabBar的translucent屬性的問題UINavigationtabBar
- 子類擁有父類物件所有的屬性和方法,但無法訪問物件
- vue 標籤和屬性中 字串拼接方法Vue字串
- 教你如何直接訪問php例項物件的private屬性PHP物件
- 同源策略和跨域訪問跨域
- Pandas庫基礎分析——資料生成和訪問
- rabbitmq 新增遠端訪問功能MQ