

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

# 使用 AWS Organizations 为了安全
<a name="organizations-security"></a>


|  | 
| --- |
| 通过进行[简短的调查](https://amazonmr.au1.qualtrics.com/jfe/form/SV_e3XI1t37KMHU2ua)来影响 AWS 安全参考架构 (AWS SRA) 的未来。 | 

[AWS Organizations](https://aws.amazon.com/organizations/)随着 AWS 资源的增长和扩展，可以帮助你集中管理和治理环境。通过使用 AWS Organizations，您可以以编程方式创建新账户 AWS 账户、分配资源、对账户进行分组以组织工作负载，以及将策略应用于账户或账户组进行管理。一个 AWS 组织会整合你的， AWS 账户 这样你就可以把它们当作一个单位来管理。它有一个管理账户以及零个或多个成员账户。您的大部分工作负载都驻留在成员账户中，但某些集中管理的流程除外，这些流程必须位于管理账户或指定为委托管理员的账户中 AWS 服务。您可以从中心位置为安全团队提供工具和访问权限，以代表 AWS 组织管理安全需求。您可以通过在 AWS 组织内共享关键资源来减少资源重复。[您可以将帐户分组为 AWS 组织单位 (OU)](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_getting-started_concepts.html)，这些单位可以根据工作负载的要求和目的代表不同的环境。 AWS Organizations 还提供了多项策略，使您能够对组织中的所有成员帐户集中应用额外的安全控制。本节重点介绍服务控制策略 (SCP)、资源控制策略 (RCP) 和声明性策略。

使用 AWS Organizations，您可以使用 [SCP](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps.html) 和 [RCP](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_rcps.html) 在 AWS 组织、OU 或账户级别应用权限护栏。SCP 是适用于组织账户内委托人的护栏，但管理账户除外（这是不在此账户中运行工作负载的原因之一）。当您将 SCP 附加到 OU 时，该 SCP 将由子业务单元和该 OU 下的帐户继承。SCP 不授予任何权限。相反，它们会指定您的委托人在 AWS 组织、组织单位或账户中可用的最大权限。您仍然需要将[基于身份或基于资源的策略](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_identity-vs-resource.html)附加到您的委托人或资源，才能实际 AWS 账户 向他们授予权限。例如，如果 SCP 拒绝访问所有 Amazon S3，则即使通过 IAM 策略明确****授予访问权限，受 SCP 影响的委托人也无法访问 Amazon S3。有关如何评估 IAM 策略、SCP 的角色以及最终如何授予或拒绝访问权限的更多信息，请参阅 IAM 文档中的[策略评估逻辑](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_evaluation-logic.html)。

RCP 是适用于组织账户内资源的护栏，无论这些资源是否属于同一个组织。与 SCP 一样，RCP 不会影响管理账户中的资源，也不会授予任何权限。将 RCP 附加到 OU 时，该 RCP 将由 OU 下的子 OU 和 OU 下的账户继承。RCP 提供对组织中资源的最大可用权限的集中控制，目前支持其中的一部分。 AWS 服务在为 OU 设计 SCP 时，我们建议您使用 [IAM 策略模拟器](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_testing-policies.html)评估更改。您还应查看 [IAM 中上次访问的服务数据](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_access-advisor.html)，[AWS CloudTrail 并用于在 API 级别记录服务使用情况](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/how-cloudtrail-works.html)，以了解 SCP 更改的潜在影响。

SCP 和 RCP 是独立的控制措施。您可以选择仅启用 SCP 或 RCP，也可以根据要实施的访问控制同时使用这两种策略类型。例如，如果您想阻止组织的委托人访问组织外部的资源，则可以使用 SCP 来强制执行此控制。如果要限制或阻止外部身份访问您的资源，则可以使用 RCP 强制执行此控制。有关 RCP 和 SCP 的更多信息和用例，请参阅文档中的[使用 SCP 和 RCP](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_authorization_policies.html#when-to-use-scps-and-rcps)。 AWS Organizations 

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

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

[AWS Control Tower](https://aws.amazon.com/controltower/)提供了一种设置和管理多个帐户的简化方法。它可以自动设置 AWS 组织中的帐户，自动进行配置，应用[控制措施](https://docs.aws.amazon.com/controltower/latest/controlreference/controls-reference.html)（包括预防和侦查控制），并为您提供可见性的仪表板。附加的 IAM 管理策略（[权限边界](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html)）附加到特定的 IAM 委托人（用户或角色），用于设置基于身份的策略可以向 IAM 委托人授予的最大权限。

AWS Organizations 帮助您进行适用于[AWS 服务](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_integrate_services_list.html)所有账户的配置。例如，您可以使用配置在 AWS 组织中执行的所有操作的集中日志记录 [CloudTrail，](https://aws.amazon.com/cloudtrail/)并防止成员帐户禁用日志记录。您还可以集中汇总您通过使用定义的规则的数据 [AWS Config](https://aws.amazon.com/config/)，这样您就可以审计工作负载的合规性并对变化做出快速反应。您可以使用[AWS CloudFormation StackSets](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/what-is-cfnstacksets.html)集中管理 AWS 组织中各个账户和 OU 的 CloudFormation 堆栈，这样您就可以自动配置一个新账户以满足您的安全要求。

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

**设计注意事项**  
或者，要使用 SCP 作为*允许列表*，您必须将 AWS 托管 `FullAWSAccess` SCP 替换为明确仅允许您想要允许的服务和操作的 SCP。要为指定账户启用权限，每个 SCP（从根目录到账户直接路径中的每个 OU，甚至附加到账户本身）都必须允许该权限。这种模式本质上更具限制性，可能适合高度监管和敏感的工作负载。这种方法要求您明确允许从到 OU 的路径中的每个 IAM 服务或操作。 AWS 账户 
理想情况下，您可以结合使用拒绝列表和允许列表策略。使用允许列表定义允许在 AWS 组织内使用的 AWS 服务 已批准列表，并将此 SCP 附加到 AWS 组织的根目录。如果您的开发环境允许使用不同的服务集，则需要在每个 OU 上附加相应的 SCP。然后，您可以使用拒绝列表通过明确拒绝特定的 IAM 操作来定义企业护栏。
RCP 适用于其中一部分的资源。 AWS 服务有关更多信息，请参阅文档[AWS 服务 中支持 RCP 的 AWS Organizations 列表](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_rcps.html#rcp-supported-services)。默认配置 AWS Organizations 支持使用 RCP 作为拒绝列表。当您在组织中启用 RCP 时，名`RCPFullAWSAccess`为的 AWS 托管策略将自动附加到组织根目录、每个 OU 和组织中的每个账户。您无法分离此策略。此默认 RCP 允许所有委托人和操作访问权限通过 RCP 评估。这意味着，在您开始创建和附加 RCP 之前，您的所有现有 IAM 权限将继续按原样运行。此 AWS 托管策略不授予访问权限。然后，您可以将新的 RCP 创作为拒绝语句列表，以阻止对组织中资源的访问。