AWS权限边界是一项使用托管策略的高级功能,允许您定义用户或角色可以拥有的最大权限。这可确保即使管理员授予过多权限(通过策略或组),权限边界也会将有效权限限制为边界明确允许的权限。可以使用 AWS 托管策略或客户托管策略来设置 IAM 实体(用户或角色)的边界。该策略限制用户或角色的最大权限。当使用策略为用户设置权限边界时,它会限制用户的权限,但不会自行提供权限。
权限边界如何运作
- 定义:权限边界是附加到用户或角色的 IAM 策略。
- 评估:当用户或角色尝试执行操作时,AWS 会检查:
- 基于身份的策略(例如附加到用户或角色)
- 权限边界(如果适用)
- 这些的交集决定了有效权限。
- 关键限制:权限边界不会添加权限;它们仅限制权限。
例如:
- 用户 A 有一个允许
s3:*
所有 S3 存储桶的策略。 - 权限边界仅限
s3:*
于存储桶X
。 X
尽管有身份策略,用户 A 的有效权限仍受限于存储桶。
基于资源的策略的权限边界
基于资源的策略——控制指定主体如何访问策略所附加的资源。
在同一个账户内,向 IAM 用户 ARN(不是联合用户会话)授予权限的基于资源的策略不受基于身份的策略或权限边界中的隐式拒绝的限制。
组织 SCP 的权限边界
组织 SCP – 应用于整个 AWS 账户。它们限制账户内主体发出的每个请求的权限。IAM 实体(用户或角色)可以发出受 SCP、权限边界和基于身份的策略影响的请求。在这种情况下,只有当所有三种策略类型都允许时,才会允许该请求。有效权限是所有三种策略类型的交集。任何这些策略中的显式拒绝都会覆盖允许。
会话策略的权限边界
会话策略– 是您以编程方式为角色或联合身份用户创建临时会话时作为参数传递的高级策略。会话的权限来自用于创建会话的 IAM 实体(用户或角色)以及会话策略。实体的基于身份的策略权限受会话策略和权限边界的限制。此组策略类型的有效权限是所有三种策略类型的交集。任何这些策略中的显式拒绝都会覆盖允许。有关会话策略的更多信息,请参阅会话策略。
使用权限边界的最佳实践
- 执行委派管理的护栏:
- 使用权限边界来限制 IAM 用户或管理员创建的角色的权限。例如,您可以允许用户创建角色,但确保他们创建的角色不能具有边界指定范围以外的权限。
- 隔离特权操作:
- 通过设置仅允许范围内的权限的边界来限制敏感操作,例如修改关键基础设施。
- 在保持安全性的同时实现自助服务:
- 允许团队或开发人员自主管理他们的资源,但通过权限边界限制他们的操作(例如,限制 EC2 实例大小或在特定区域创建资源的能力)。
- 与 SCP 和身份策略结合使用:
- 将权限边界与 AWS Organizations服务控制策略 (SCP)相结合,为多账户环境提供额外的安全层。
- 审计和审查范围:
- 定期审核权限边界,以确保它们仍然符合组织需求和合规性要求。
何时使用权限边界
- 访问管理的受控委托:
- 当您允许特定用户或组创建和管理 IAM 角色或策略时,权限边界可确保这些用户不能授予超出边界允许的权限。
- 第三方集成:
- 使用权限边界来限制授予与您的 AWS 环境集成的第三方工具或应用程序的权限。
- 临时或基于项目的角色的权限范围:
- 应用边界来限制用于特定任务或项目的临时角色的权限。
- 执行最小特权:
- 在加入新团队或与外部合作者整合时,权限边界有助于有效地执行最小特权原则。
- 限制大型分散团队的权限:
- 在对 AWS 资源进行分散管理的组织中,边界可确保分布式团队在预定义的权限限制内运作。
常见用例
- 开发人员创建 IAM 角色:
- 开发人员可以创建角色来支持他们的工作负载,但边界会阻止他们附加具有过多权限的策略。
- AWS Organizations 中的多账户环境:
- 权限边界补充 SCP,以确保特定账户中的用户不能超出其分配的权限。
- 限制对特定 AWS 区域或服务的访问:
- 出于合规原因,阻止用户在不允许的区域中创建资源或执行操作。
- 控制自动化框架:
- 限制授予 CI/CD 管道、自动化脚本或基础设施即代码 (IaC) 工具的权限范围。
权限边界策略为AWS中的权限管理提供了额外的安全层次,帮助组织实施更为严格的权限控制。通过结合使用权限边界与常规的IAM策略,企业能够更精确地控制用户和角色的访问范围,从而降低安全风险,确保云环境中的操作符合预定的安全要求和合规标准。