Identity Center的Attribute Based Access Control (ABAC)
最后更新于
最后更新于
Attribute-based access control (ABAC)是一个基于属性定义权限的授权策略。在Amazon,这些属性称为标签(tag)。您可以为Amazon的资源添加标签。ABAC在快速增长的环境中非常有用,有助于解决策略管理变得繁琐的情况。您在IAM Identity Center也可以基于标签实现权限管理。
在企业中,假设有一组来自不同团队(如财务和营销)的业务用户。在 AWS 身份中心,您可以使用相同的权限集,然后选择部门名称属性,对每类用户(财务用户或营销用户)进行细粒度访问控制。当financeUser和marketingUser登录到他们的AWS账户时,IAM身份中心会在AWS会话中发送他们的团队名称属性,因此financeUser和marketingUser只有在他们的部门名称属性与项目资源上的部门名称标签相匹配时才能访问AWS项目资源。如果 financeUser 今后转到 marketingUser 的团队,只需更新企业目录中的团队名称属性,就可以修改他/她的访问权限。当 financeUser 下次登录时,他们将自动获得对新团队项目资源的访问权限,而无需在 AWS 中更新任何权限。
创建2个用户: financeUser 和 marketingUser 到两个不同的部门Finance和Marketing,并且配置他们的 Job-related information - Department 部分。
创建Inline Policy,授予ec2启动和停止的权限,可以查看所有的ec2,但是只能启动和停止标签Department: *和访问者的部门匹配的。也就是比如financeUser的部门标签是Department: Finance,那么只能启停标签也是Department: Finance的EC2。
In IAM Identity center console
Choose Settings
On the Settings page, locate the Attributes for access control information box,
Click Enable.
On the Settings page, choose the Attributes for access control tab
Choose Add attribute.
输入Key Department
和 Value ${path:enterprise.department}
在这里,您将把来自身份源的属性映射到 IAM Identity center 作为会话标签传递的属性。
最后用新创建好的用户登录控制台,访问你的EC2,看没有标签“Department: Finance”是否无法启停,有标签“Department: Finance”是否可以启停。如果答案都是“是”,则策略生效。
以下是一些IAM Identity Center支持的属性:
${path:userName}
${path:name.familyName}
${path:name.givenName}
${path:displayName}
${path:nickName}
${path:emails[primary eq true].value}
${path:addresses[type eq "work"].streetAddress}
${path:addresses[type eq "work"].locality}
${path:addresses[type eq "work"].region}
${path:addresses[type eq "work"].postalCode}
${path:addresses[type eq "work"].country}
${path:addresses[type eq "work"].formatted}
${path:phoneNumbers[type eq "work"].value}
${path:userType}
${path:title}
${path:locale}
${path:timezone}
${path:enterprise.employeeNumber}
${path:enterprise.department}
${path:enterprise.costCenter}
${path:enterprise.organization}
${path:enterprise.division}
${path:enterprise.manager.value}
参考各类资源可用的condition key,设计自己的权限控制策略。