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 Organizations,您可以在 AWS 组织、OU 或账户级别使用SCPsRCPs应用权限护栏。 SCPs 是适用于组织账户内委托人的护栏,但管理账户除外(这是不在此账户中运行工作负载的原因之一)。当您将 SCP 附加到 OU 时,该 SCP 将由该组织下的子女 OUs 和账户继承。 SCPs 不要授予任何权限。相反,它们会指定您的委托人在 AWS 组织、组织单位或账户中可用的最大权限。您仍然需要将基于身份或基于资源的策略附加到您的委托人或资源,才能实际 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。有关和的更多 RCPs 信息和用例 SCPs,请参阅 AWS Organizations 文档 RCPs中的使用 SCPs 和

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

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

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

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

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

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

  • 理想情况下,您可以结合使用拒绝列表和允许列表策略。使用允许列表定义允许在 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 作新的拒绝语句列表,以阻止对组织中资源的访问。