使用 AWS Organizations 来 - AWS 规范性指导

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用 AWS Organizations 来

通过进行简短的调查来影响 AWS 安全参考架构 (AWS SRA) 的未来。

AWS Organizations 可帮助您在增长和扩缩您的 AWS 资源时集中管理和治理您的环境。通过使用 AWS Organizations,您可以通过编程方式创建新的 AWS 账户、分配资源、对账户进行分组以组织您的工作负载,以及将策略应用于账户或账户组进行管理。AWS 组织整合您的 AWS 账户,以便您可以将其作为一个单位进行管理。它有一个管理账户以及零个或多个成员账户。您的大部分工作负载都位于成员账户中,但某些集中管理的流程除外,这些流程必须位于管理账户或分配为特定 AWS 服务的委托管理员的账户中。您可以从中心位置为安全团队提供工具和访问权限,让他们代表 AWS 组织管理安全需求。您可以通过在 AWS 组织内共享关键资源来减少资源重复。您可以将账户分组为 AWS 组织单位 (OUs),这些单位可以根据工作负载的要求和目的代表不同的环境。AWS Organizations 还提供了多项策略,使您能够对组织中的所有成员账户集中应用额外的安全控制。本节重点介绍服务控制策略 (SCPs)、资源控制策略 (RCPs) 和声明性策略。

借助 AWS Organizati RCPsons,您可以在 AWS 组织、OU 或账户级别使用SCPs和应用权限护栏。 SCPs 是适用于组织账户内委托人的护栏,但管理账户除外(这是不在该账户中运行工作负载的原因之一)。当您将 SCP 附加到 OU 时,该 SCP 将由该组织下的子女 OUs 和账户继承。 SCPs 不要授予任何权限。相反,他们指定 AWS 组织、OU 或账户的最大权限。您仍然需要将基于身份或基于资源的策略附加到您的 AWS 账户中的委托人或资源,才能实际向他们授予权限。例如,如果 SCP 拒绝访问所有 Amazon S3,则即使通过 IAM 策略明确授予访问权限,受 SCP 影响的委托人也无法访问 Amazon S3。有关如何评估 IAM 策略、角色以及最终如何授予或拒绝访问权限的更多信息,请参阅 IAM 文档中的策略评估逻辑。 SCPs

RCPs 是适用于组织账户内资源的护栏,无论这些资源是否属于同一个组织。比如 SCPs, RCPs 不要影响管理账户中的资源,也不要授予任何权限。当您将 RCP 附加到 OU 时,RCP 将由子项 OUs 和 OU 下的帐户继承。 RCPs 对组织中资源的最大可用权限进行集中控制,目前支持一部分 AWS 服务。在 SCPs 为您的设计时 OUs,我们建议您使用 IAM 策略模拟器评估更改。您还应该在 IAM 中查看上次访问的服务数据,并使用 AWS CloudTrail 在 API 级别记录服务使用情况,以了解 SCP 更改的潜在影响。

SCPs 并且 RCPs 是独立的控制机构。您可以根据要实施的访问控制选择仅启用 SCPs 或 RCPs,或者同时使用这两种策略类型。例如,如果您想阻止组织的委托人访问组织外部的资源,则可以通过使用 SCPs来强制执行此控制。如果您想限制或阻止外部身份访问您的资源,则可以使用来强制执行此控制 RCPs。有关和的更多信息和用例 SCPs,请参阅 AWS Organizations 文档 RCPs中的使用 SCPs 和。 RCPs

您可以使用 AWS Organizations 声明性策略在整个组织中大规模地集中声明和强制执行给定 AWS 服务的所需配置。例如,您可以屏蔽整个组织中对 Amazon VPC 资源的公共互联网访问。与 SCPs 和等授权策略不同 RCPs,声明性策略在 AWS 服务的控制平面中强制执行。授权策略规范对访问的访问 APIs,而声明性策略则直接应用于服务级别以强制执行持久意图。 这些策略有助于确保 AWS 服务的基准配置始终得到维护,即使该服务引入了新功能或 APIs。当向组织添加新帐户或创建新的委托人和资源时,也会保留基准配置。声明式策略可以应用于整个组织或特定 OUs 或帐户。

每个 AWS 账户都有一个根用户,默认情况下,该用户拥有所有 AWS 资源的完全权限。  作为安全最佳实践,我们建议您不要使用 root 用户,只有少数任务明确需要 root 用户。如果您通过 AWS Organizations 管理多个 AWS 账户,则可以集中禁用根登录,然后代表所有成员账户执行根权限操作。集中管理成员账户的根访问权限后,您可以删除根用户密码、访问密钥和签名证书,并停用成员账户的多因素身份验证 (MFA)。默认情况下,在集中管理的 root 访问权限下创建的新账户没有 root 用户证书。成员账户无法使用 root 用户登录或为其 root 用户恢复密码。

AWS Control Tower 提供了一种设置和管理多个账户的简化方法。它可以自动设置您的 AWS 组织中的账户,自动配置账户,应用防护措施(包括预防和侦查控制),并为您提供可见性控制面板。附加的 IAM 管理策略(权限边界)将附加到特定的 IAM 实体(用户或角色),用于设置基于身份的策略可以向 IAM 实体授予的最大权限。

AWS Organizations 可帮助您配置适用于您所有账户的 AWS 服务例如,您可以使用 AWS 为在 AWS 组织中执行的所有操作配置中央日志 CloudTrail,并防止成员账户禁用日志记录。您还可以集中汇总使用 AWS Config 定义的规则的数据,这样您就可以审计工作负载的合规性并对更改做出快速反应。您可以使用 AWS CloudFormation StackSets 集中管理各个账户和 AWS 组织 OUs 中的 AWS CloudFormation 堆栈,这样您就可以自动配置新账户以满足您的安全要求。

AWS Organizations 的默认配置支持使用 SCPs 作为拒绝列表。通过使用拒绝列表策略,成员账户管理员可以委托所有服务和操作,直到您创建并附加拒绝特定服务或一组操作的 SCP 为止。与允许列表相比,拒绝声明需要更少的维护,因为在 AWS 添加新服务时,您不必对其进行更新。拒绝语句的字符长度通常较短,因此更容易保持在最大长度以内 SCPs。在Effect 元素值为的语句中Deny,您还可以限制对特定资源的访问权限,或者定义何时生效 SCPs 的条件。相比之下,SCP 中的 Allow 语句适用于所有资源 ("*"),并且不能受条件限制。有关更多信息和示例,请参阅 AWS Or ganizations 文档 SCPs中的使用策略

设计注意事项
  • 或者,要 SCPs 用作允许列表,您必须将 AWS 托管 FullAWSAccess SCP 替换为明确仅允许您想要允许的服务和操作的 SCP。要为指定账户启用权限,每个 SCP(从根目录到账户直接路径中的每个 OU,甚至附加到账户本身)都必须允许该权限。这种模式本质上更具限制性,可能适合高度监管和敏感的工作负载。这种方法要求您明确允许从 AWS 账户到 OU 的路径中的每个 IAM 服务或操作。

  • 理想情况下,您可以结合使用拒绝列表和允许列表策略。使用允许列表定义允许在 AWS 组织内使用的 AWS 服务列表,并将此 SCP 附加到您的 AWS 组织的根目录。如果您的开发环境允许使用不同的服务集,则应 SCPs 在每个 OU 中附加相应的服务。然后,您可以使用拒绝列表通过明确拒绝特定的 IAM 操作来定义企业护栏。

  • RCPs 适用于一部分 AWS 服务的资源。有关更多信息,请参阅 AWS Organizations 文档 RCPs中支持的 AWS 服务列表。AWS Organizations 的默认配置支持使用 RCPs 作为拒绝名单。当您在组织 RCPs 中启用时,名为RCPFullAWSAccess的 AWS 托管策略将自动附加到组织根目录、每个 OU 和组织中的每个账户。您无法分离此政策。此默认 RCP 允许所有委托人和操作访问权限通过 RCP 评估。这意味着,在您开始创建和附加之前 RCPs,您的所有现有 IAM 权限将继续按原样运行。此 AWS 托管策略不授予访问权限。然后,您可以创 RCPs 作新的拒绝语句列表,以阻止对组织中资源的访问。