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”標籤值將實例和成員移動到另一個團隊:
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "ec2:RebootInstances",
        "ec2:StartInstances",
        "ec2:StopInstances"
      ],
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "ec2:ResourceTag/team": "${aws:PrincipalTag/team}"
        }
      }
    }
  ]
}

另一個重要的使用場景是允許IAM主體基於屬性動態地假設IAM角色。雖然通過AWS Organizations進行多賬戶使用和基於策略的集中式賬戶管理變得越來越普遍(之前的報道),但到目前爲止,安全地管理底層跨賬戶IAM角色仍然是一個繁瑣的過程。在添加新角色時,需要重複“AssumeRole”語句,並且IAM主體需要被授予訪問權限,使用特定角色的ARN作爲目標“Resource”。現在可以使用通配符“*”來表示所有的角色,這有利於在條件中對匹配的IAM資源標記進行細粒度訪問控制——下面的示例表示只有當角色的“audit”標籤值爲“true”時才允許主體爲每個角色假設一個安全審計:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Action": "sts:AssumeRole",
      "Effect": "Allow",
      "Resource": "*",
      "Condition": {
        "Bool": {
          "iam:ResourceTag/audit": "true"
        }
      }
    }
  ]
}

微軟的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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章