SEC03-BP02 授予最低访问权限
通过允许在特定条件下访问特定 AWS 资源上的特定操作,仅授予身份所需的访问权限。依靠组和身份属性来大规模动态设置权限,而不是为单个用户定义权限。例如,您可以允许一组开发人员访问,以便仅管理其项目的资源。这样,当开发人员被从组中移除时,开发人员的访问权限将在使用该组进行访问控制的任何位置被撤消,而无需对访问策略进行任何更改。
常见反模式:
-
默认为向用户授予管理员权限。
-
使用根账户进行日常活动。
未建立这种最佳实践的情况下暴露的风险等级: 高
实施指导
建立 最小权限 原则可确保身份只能执行完成特定任务所需的最小功能集,同时实现可用性和效率的平衡。按照此原则进行操作可以限制意外访问,并有助于确保您能够审计哪些用户有权访问哪些资源。在 AWS 中,默认情况下,身份不具有任何权限(根用户除外)。根用户的凭证应受到严格控制,并且应该仅用于少数 特定任务。
您可以使用策略来明确授予附加到 IAM 或资源实体的权限,例如联合身份或计算机所使用的 IAM 角色或者某些资源(例如 S3 存储桶)。当您创建并附加策略时,您可以指定服务操作、资源以及为使 AWS 允许访问而必须满足的条件。AWS 支持多种条件以帮助您缩小访问权限范围。例如,使用 PrincipalOrgID
条件键时,将会验证 AWS Organizations 的标识符,以便能够授权在您的 AWS 组织内访问。
您还可以控制 AWS 服务代表您发出的请求,例如要求 AWS CloudFormation 创建一个 AWS Lambda 函数,方法是使用 CalledVia
条件键。您应该对不同的策略类型进行分层,以有效地限制账户内的总体权限。例如,您可以允许应用程序团队创建他们自己的 IAM 策略,但使用 权限边界
有几种 AWS 功能有助于您扩展权限管理并遵守最低权限原则。基于属性的访问控制
另一种加速创建最低权限策略的方法是,在活动运行后基于 CloudTrail 权限生成策略。IAM Access Analyzer 会自动基于活动生成 IAM 策略
确立一种节奏,按此节奏查看这些详细信息并删除不需要的权限。您应在 AWS 组织内建立权限防护机制,以控制任何成员账户中的最高权限。诸如 AWS Control Tower 这样的服务具有规范性的托管式预防控制机制, 并允许您定义自己的控制机制。
资源
相关文档:
相关视频:
相关示例: