权限管理 - 安全支柱

权限管理

管理权限,控制需要访问 AWS 和您工作负载的人员和机器身份的访问权限。权限用于控制哪些人可以在什么条件下访问哪些内容。为特定的人员身份和机器身份设置权限,授予这些身份对特定资源上特定服务操作的访问权限。此外,为要授予的访问权限指定必须满足的条件。例如,您可以允许开发人员创建新的 Lambda 函数,但只能在特定的区域中创建。在大规模管理 AWS 环境时,请遵循以下最佳实践,确保身份只拥有需要的访问权限,而没有任何多余的权限。

可通过多种方式向不同类型的资源授予访问权限。一种方式是使用不同的策略类型。

IAM 中基于身份的策略属于托管内联策略,会附加到 IAM 身份(用户、组或角色)。这些策略可让您指定该身份可执行哪些操作(其权限)。基于身份的策略可以进一步分类。

托管策略 - 基于身份的独立策略,可附加到您的 AWS 账户中的多个用户、组和角色。有两种托管策略:

  • AWS 托管策略 – 由 AWS 创建和管理的托管策略。

  • 客户管理型策略 – 您在 AWS 账户中创建和管理的托管策略。与 AWS 托管策略相比,客户管理型策略对策略的控制更精确。

托管策略是应用权限的首选方法。不过,您也可以使用直接添加到单个用户、组或角色的内联策略。内联策略维持策略与身份之间严格的一对一关系。删除身份即会删除内联策略。

大多数情况下,您应按照最低权限原则创建自己的客户管理型策略。

基于资源的策略附加到某个资源。例如,S3 存储桶策略是一个基于资源的策略。这些策略向一个主体授予权限,该主体既可以位于资源所在的账户中,也可以位于另一个账户中。有关支持基于资源的策略的服务列表,请参阅使用 IAM 的 AWS 服务

权限边界使用托管策略来设置管理员能够设定的最高权限。这样,您就可以为开发人员赋予创建和管理权限的能力,例如创建一个 IAM 角色,但限制他们可以授予的权限,让他们无法利用他们创建的角色提升自己的权限。

基于属性的访问权限控制(ABAC)让您能够根据属性授予权限。在 AWS 中,这些属性称为标签。标签可以附加到 IAM 主体(用户或角色)和 AWS 资源。使用 IAM 策略时,管理员可以创建一个可重复使用的策略,该策略能够根据 IAM 主体的属性来应用权限。例如,作为管理员,您可以使用一个 IAM 策略,授权您所在组织中的开发人员访问与这些开发人员的项目标签匹配的 AWS 资源。当这一组开发人员为项目添加资源时,会自动根据属性应用权限。这样就无需为每个新资源执行策略更新。

Organizations 服务控制策略(SCP)为组织或组织部门(OU)的账户成员定义最大权限。SCP 限制基于身份的策略或基于资源的策略授予账户中实体(用户或角色)的权限,但不授予权限。

会话策略会担任角色或联合用户。在使用 AWS CLI 或 AWS API 会话策略限制基于角色或用户身份的策略授予会话的权限时,传递会话策略。这些策略限制所创建会话的权限,但不授予权限。有关更多信息,请参阅会话策略