权限管理 - 安全性支柱

权限管理

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

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

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

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

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

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

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

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

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

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

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

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

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