

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

# 教程：创建和配置组织
<a name="orgs_tutorials_basic"></a>

在本教程中，您将创建您的组织并使用两个 AWS 成员账户对其进行配置。您可以在组织中创建其中一个成员账户，然后邀请另一个账户加入您的组织。接下来，您可以使用[允许列表](orgs_manage_policies_scps_evaluation.md#how_scps_allow)方法指定账户管理员只能委派明确列出的服务和操作。这使管理员可以在允许公司中的其他人使用任何新服务之前对其进行验证。 AWS 这样，如果 AWS 引入了新服务，则在管理员将该服务添加到相应策略中的允许列表之前，该服务将一直处于禁止状态。本教程还向您展示了如何使用[拒绝列表](orgs_manage_policies_scps_evaluation.md#how_scps_deny)来确保成员账户中的任何用户都无法更改 AWS CloudTrail 创建的审计日志的配置。

下图演示了本教程的主要步骤。

![Four-step process for creating an organization, units, policies, and testing restrictions.](http://docs.aws.amazon.com/zh_cn/organizations/latest/userguide/images/tutorialorgs.png)

**[步骤 1：创建组织](#tutorial-orgs-step1)**  
在此步骤中，您将使用当前账户 AWS 账户 作为管理账户创建一个组织。您还会 AWS 账户 邀请一个人加入您的组织，并创建第二个账户作为成员账户。

**[步骤 2：创建组织单元](#tutorial-orgs-step2)**  
接下来，您将在新组织中创建两个组织部门 (OU)，并将成员账户放在这些 OU 中。

**[步骤 3：创建服务控制策略](#tutorial-orgs-step3)**  
您可以应用限制，使用[服务控制策略 (SCP)](orgs_manage_policies_scps.md) 来限制可以将哪些操作委派给成员账户中的用户和角色。在此步骤中，您将创建两个 SCP 并将其附加到您组织中的 OU。

**[步骤 4：测试组织的策略](#tutorial-orgs-step4)**  
您可以使用各测试账户中用户的身份登录，查看 SCP 在相应账户上产生的效果。

本教程中的所有步骤都不会给您的 AWS 账单带来费用。 AWS Organizations 是一项免费服务。

## 先决条件
<a name="tut-basic-prereqs"></a>

本教程假设您可以访问两个现有的访问权限 AWS 账户 （您将在本教程中创建第三个），并且可以以管理员身份登录到每个。

教程使用的账户如下：
+ `111111111111` – 您用于创建组织的账户。此账户将成为管理账户。此账户的所有者的电子邮件地址为 `OrgAccount111@example.com`。
+ `222222222222` – 您邀请作为成员账户加入组织的账户。此账户的所有者的电子邮件地址为 `member222@example.com`。
+ `333333333333` – 您作为组织成员创建的账户。此账户的所有者的电子邮件地址为 `member333@example.com`。

使用与您的测试账户关联的值替换以上值。我们建议您不要为本教程使用生产账户。

## 步骤 1：创建组织
<a name="tutorial-orgs-step1"></a>

在此步骤中，您将以管理员身份登录账户 111111111111，使用该账户作为管理账户创建组织，然后邀请现有账户 222222222222 作为成员账户加入。

------
#### [ AWS 管理控制台 ]

1. 以账户 111111111111 的管理员 AWS 身份登录并打开控制台。[AWS Organizations](https://console.aws.amazon.com/organizations/v2)

1. 在介绍页面上，选择 **Create an organization (创建组织)**。

1. 在确认对话框中，选择 **Create an organization (创建组织)**。
**注意**  
默认情况下，组织在创建时已启用所有功能。您也可以创建自己的组织并仅启用[整合账单功能](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/useconsolidatedbilling-procedure.html)。

   AWS 创建组织并向您显示**[AWS 账户](https://console.aws.amazon.com/organizations/v2/home/accounts)**页面。如果您在其他页面上，请在左侧的导航窗格中选择**AWS 账户**。

   如果您使用的账户使用未经过 AWS验证的电子邮件地址，则验证电子邮件自动发送至您的管理账户关联的地址。在您接收到验证电子邮件之前可能会有一段延迟。

1. 在 24 小时内验证您的电子邮件地址。有关更多信息，请参阅 [使用电子邮件地址验证 AWS Organizations](about-email-verification.md)。

------

您现在拥有一个组织，并且您的账户是其唯一成员。这是组织的管理账户。

### 邀请现有账户加入组织
<a name="tut-basic-invite-existing"></a>

现在您已拥有一个组织，您可以开始向其中填充账户。在本部分的步骤中，您将邀请现有账户作为组织成员加入。

------
#### [ AWS 管理控制台 ]

**邀请现有账户加入**

1. 导航到**[AWS 账户](https://console.aws.amazon.com/organizations/v2/home/accounts)**页面，然后选择 **Add an AWS 账户(添加亚马逊云科技账户)**。

1. 在**[添加 AWS 账户](https://console.aws.amazon.com/organizations/v2/home/accounts/add/create)**页面上，选择**邀请现有用户 AWS 账户**。

1. 在 **Email address or account ID of an AWS 账户 to invite (待邀请亚马逊云科技账户的电子邮件地址和账户 ID)** 框中，输入待邀请账户的拥有者的电子邮件地址，类似于以下内容：**member222@example.com**。或者，如果您知道 AWS 账户 身份证号，则可以改为输入。

1. 在 **Message to include in the invitation email message (要包含在邀请电子邮件中的信息)** 框中键入所需的任何文本。此文本会包含在发送到账户所有者的电子邮件中。

1. 选择 “**发送邀请” **。 AWS Organizations 向账户所有者发送邀请。
**重要**  
如果有错误消息指示，请将其展开。如果错误指示您超出了组织的账户限制或因组织仍在初始化而无法添加账户，请在创建组织后等待一个小时，然后重试。如果错误仍然存在，请联系 [AWS Support](https://console.aws.amazon.com/support/home#/)。

1. 对于本教程，您现在需要接受自己的邀请。执行以下操作之一可在控制台中打开 **Invitations** 页面：
   + 打开从管理账户 AWS 发送的电子邮件，选择接受邀请的链接。在系统提示登录时，以受邀成员账户的管理员身份执行操作。
   + 打开 [AWS Organizations 控制台](https://console.aws.amazon.com/organizations/v2)并导航到**[邀请](https://console.aws.amazon.com/organizations/v2/home/accounts/invitations)**页面。

1. 在**[AWS 账户](https://console.aws.amazon.com/organizations/v2/home/accounts)**页面上，选择 **Accept (接受)**，然后选择 **Confirm (确认)**。
**提示**  
邀请回执可能会延迟，在您能接受邀请前，可能需要等待一段时间。

1. 注销成员账户，然后以管理账户管理员的身份登录。

------

### 创建成员账户
<a name="tut-basic-create-new"></a>

在本节的步骤中，您将创建一个 AWS 账户 自动成为组织成员的。在本教程中，我们将此账户称为 333333333333。

------
#### [ AWS 管理控制台 ]

**创建成员账户**

1. 在 AWS Organizations 控制台的**[AWS 账户](https://console.aws.amazon.com/organizations/v2/home/accounts)**页面上，选择**添加 AWS 账户**。

1. 在 **[Add an AWS 账户(添加亚马逊云科技账户)](https://console.aws.amazon.com/organizations/v2/home/accounts/add/create)** 页面上，选择 **Create an AWS 账户(创建亚马逊云科技账户)**。

1. 对于 **AWS 账户 name (亚马逊云科技账户名称)**，输入账户的名称，例如 **MainApp Account**。

1. 对于 **Email address of the account's root user (账户根用户的电子邮件)**，输入代表账户接收通信的人员的电子邮件地址。此值必须全局唯一。任何两个账户不能具有相同的电子邮件地址。例如，您可能会使用类似于 **mainapp@example.com** 的内容。

1. 对于 **IAM role name**，您可以将此处留空以自动使用 `OrganizationAccountAccessRole` 的默认角色名称，也可以提供自己的名称。此角色使您在以管理账户中 IAM 用户的身份登录时能够访问新成员账户。对于本教程，将此字段留空可指示 AWS Organizations 创建具有默认名称的角色。

1. 选择**创建 AWS 账户**。您可能需要等待片刻再刷新页面，才能看到新账户显示在**[AWS 账户](https://console.aws.amazon.com/organizations/v2/home/accounts)**页面上。
**重要**  
如果您收到一个错误，它指明您超出了组织的账户限制或因组织仍在初始化而无法添加账户，请在创建组织后等待一个小时，然后重试。如果错误仍然存在，请联系 [AWS Support](https://console.aws.amazon.com/support/home#/)。

------

## 步骤 2：创建组织单元
<a name="tutorial-orgs-step2"></a>

在本部分的步骤中，您将创建组织部门 (OU) 并放入成员账户。在完成后，您的层次结构类似于下图所示。管理账户将保留在根中。一个成员账户移至生产 OU，另一个成员账户移至 O MainApp U，后者是 Production 的子账户。

![教程组织结构显示了带有 MainApp 子业务单元的生产和安全 OU](http://docs.aws.amazon.com/zh_cn/organizations/latest/userguide/images/orgs-lab-structure.jpg)


------
#### [ AWS 管理控制台 ]

**创建和填充 OU**
**注意**  
在随后的步骤中，您可以与对象交互，您可以选择对象本身的名称或对象旁边的单选按钮。  
如果选择对象的名称，则会打开一个显示对象详细信息的新页面。
如果选择对象旁边的单选按钮，则会识别要对该对象执行操作的其他操作（例如选择菜单选项）。
后续步骤会让您选择单选按钮，以便您随后可以通过选择菜单来对关联的对象执行操作。

1. 在 [AWS Organizations 控制台](https://console.aws.amazon.com/organizations/v2)中，导航到 **[AWS 账户](https://console.aws.amazon.com/organizations/v2/home/accounts)**页面。

1. 选中 **Root (根)** 容器旁的复选框 ![Blue checkmark icon indicating confirmation or completion of a task.](http://docs.aws.amazon.com/zh_cn/organizations/latest/userguide/images/checkbox-selected.png)。

1. 选择**操作**下拉列表，然后在**组织单位**中，选择**新建**。

1. 在 **Create organizational unit in Root (在根中创建组织部门)** 页面上，为 **Organizational unit name (组织部门名称)** 输入 **Production**，然后选择 **Create organizational unit (创建组织部门)**。

1. 选中您的新 **Production** OU 旁边的复选框 ![Blue checkmark icon indicating confirmation or completion of a task.](http://docs.aws.amazon.com/zh_cn/organizations/latest/userguide/images/checkbox-selected.png)。

1. 选择 **Actions (操作)**，然后在 **Organizational unit (组织部门)** 中，选择 **Create new (新建)**。

1. 在 **Create organizational unit in Production (在生产中创建组织部门)** 页面上，为次要 OU 名称输入 **MainApp**，然后选择 **Create organizational unit (创建组织部门)**。

   现在，您可以将成员账户移动到这些 OU 中。

1. 返回到 **[AWS 账户](https://console.aws.amazon.com/organizations/v2/home/accounts)**页面，然后选择**生产** OU 旁边的三角形 ![Gray cloud icon with an arrow pointing downward, indicating download or cloud storage.](http://docs.aws.amazon.com/zh_cn/organizations/latest/userguide/images/expand-icon.png)，从而展开它的树形图。这会将 ** MainApp ** OU 显示为 Production 的子**项**。

1. 在 **333333333333** 旁边，选中复选框 ![Blue checkmark icon indicating confirmation or completion of a task.](http://docs.aws.amazon.com/zh_cn/organizations/latest/userguide/images/checkbox-selected.png)（而不是其名称），选择**操作**，然后在 **AWS 账户** 下选择**移动**。

1. 在**移动 AWS 账户 “333333333333” ** 页面上，选择生产旁边的三角形将其**展开。**在旁边 ** MainApp**，选择单选按钮![Blue circular icon with a white checkmark symbol in the center.](http://docs.aws.amazon.com/zh_cn/organizations/latest/userguide/images/radio-button-selected.png)（不是其名称），然后选择 “**移动” AWS 账户**。

1. 在 **222222222222** 旁边，选中复选框 ![Blue checkmark icon indicating confirmation or completion of a task.](http://docs.aws.amazon.com/zh_cn/organizations/latest/userguide/images/checkbox-selected.png)（而不是其名称），选择**操作**，然后在 **AWS 账户** 下选择**移动**。

1. 在**移动 AWS 账户 '222222222222' ** 页面上，在 “**生产” 旁边**，选择单选按钮（不是其名称），然后选择 “移动”。** AWS 账户**

------

## 步骤 3：创建服务控制策略
<a name="tutorial-orgs-step3"></a>

在本部分的步骤中，您将创建三个[服务控制策略 (SCP)](orgs_manage_policies_scps.md) 并将其附加到根和 OU，用于限制组织账户中的用户所能执行的操作。第一个 SCP 可防止任何成员账户中的任何人创建或修改您配置的任何 AWS CloudTrail 日志。管理账户不受任何 SCP 的影响，因此在应用 CloudTrail SCP 后，必须使用管理账户创建所有日志。

### 在根中为组织启用服务控制策略类型
<a name="tutorial-orgs-step3-enable-scp"></a>

您必须先为组织启用策略类型，然后才能附加任何类型的策略到该根或根中的任何 OU。默认情况下未启用策略类型。本部分的步骤将向您演示如何为组织启用服务控制策略 (SCP) 类型。

------
#### [ AWS 管理控制台 ]

**为您的组织启用 SCP**

1. 导航到**[策略](https://console.aws.amazon.com/organizations/v2/home/policies)**页面，然后选择**服务控制策略**。

1. 在存储库的 **[Service control policies (服务控制策略)](https://console.aws.amazon.com/organizations/v2/home/policies/service-control-policy)** 页面上，选择 **Enable service control policies (启用服务控制策略)**。

   此时将显示一个绿色横幅，通知您现在可以在组织中创建 SCP。

------

### 创建 SCP
<a name="tutorial-orgs-step3-create-pols"></a>

现在，您的组织中已启用服务控制策略，您可以创建本教程所需的三个策略。

------
#### [ AWS 管理控制台 ]

**创建第一个阻止 CloudTrail 配置操作的 SCP**

1. 导航到**[策略](https://console.aws.amazon.com/organizations/v2/home/policies)**页面，然后选择**服务控制策略**。

1. 在 **[Service control policies (服务控制策略)](https://console.aws.amazon.com/organizations/v2/home/policies/service-control-policy)** 页面上，选择 **Create policy (创建策略)**。

1. 对于**策略名称**，输入 **Block CloudTrail Configuration Actions**。

1. 在 ** “**策略” 部分的右侧服务列表中，选择 CloudTrail 该服务。然后选择以下操作：**AddTags**、**CreateTrail**、**DeleteTrail**、**RemoveTags****StartLogging**、**StopLogging**、和**UpdateTrail**。

1. 仍在右窗格中，选择 “**添加资源**并指定” ** CloudTrail ** 和 “**所有资源” **。选择**添加资源**。

   左侧的策略语句应与以下内容类似。

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "Stmt1234567890123",
               "Effect": "Deny",
               "Action": [
                   "cloudtrail:AddTags",
                   "cloudtrail:CreateTrail",
                   "cloudtrail:DeleteTrail",
                   "cloudtrail:RemoveTags",
                   "cloudtrail:StartLogging",
                   "cloudtrail:StopLogging",
                   "cloudtrail:UpdateTrail"
               ],
               "Resource": [
                   "*"
               ]
           }
       ]
   }
   ```

------

1. 选择**创建策略**。

------

第二条策略定义一个[允许列表](orgs_manage_policies_scps_evaluation.md#how_scps_allow)，其中包含您要为生产 OU 中的用户和角色启用的所有服务和操作。完成后，生产 OU 中的用户***只能*** 访问列出的服务和操作。

------
#### [ AWS 管理控制台 ]

**创建第二个策略，该策略将允许生产 OU 的已批准服务**

1. 在 **[Service control policies (服务控制策略)](https://console.aws.amazon.com/organizations/v2/home/policies/service-control-policy)** 页面上，选择 **Create policy (创建策略)**。

1. 对于**策略名称**，输入 **Allow List for All Approved Services**。

1. 将光标置于 **Policy (策略)** 部分的右窗格中，并粘贴一个与以下内容类似的策略。

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "Stmt1111111111111",
               "Effect": "Allow",
               "Action": [ 
                   "ec2:*",
                   "elasticloadbalancing:*",
                   "codecommit:*",
                   "cloudtrail:*",
                   "codedeploy:*"
                 ],
               "Resource": [ "*" ]
           }
       ]
   }
   ```

------

1. 选择**创建策略**。

------

最终策略提供了 MainApp OU 中禁止使用的服务的[拒绝列表](orgs_manage_policies_scps_evaluation.md#how_scps_deny)。在本教程中，您将在 OU 中的任何账户中封锁对 Amazon DynamoDB 的**MainApp**访问权限。

------
#### [ AWS 管理控制台 ]

**创建拒绝访问无法在 MainApp OU 中使用的服务的第三项策略**

1. 在 **[Service control policies (服务控制策略)](https://console.aws.amazon.com/organizations/v2/home/policies/service-control-policy)** 页面上，选择 **Create policy (创建策略)**。

1. 对于**策略名称**，输入 **Deny List for MainApp Prohibited Services**。

1. 在左侧的 **Policy (策略)** 部分中，选择服务的 **Amazon DynamoDB**。对于操作，选择 **All actions (所有操作)**。

1. 仍在左侧窗格中，选择 **Add resource (添加资源)** 并指定 **DynamoDB** 和 **All Resources (所有资源)**。选择**添加资源**。

   右侧的策略语句将更新为与以下内容类似的内容。

------
#### [ JSON ]

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Effect": "Deny",
         "Action": [ "dynamodb:*" ],
         "Resource": [ "*" ]
       }
     ]
   }
   ```

------

1. 选择 **Create policy (创建策略)** 保存 SCP。

------

### 将 SCP 附加到您的 OU
<a name="tut-basic-attach-scp"></a>

现在已经存在 SCP 并且为您的根启用了这些策略，您可以将它们附加到根和 OU。

------
#### [ AWS 管理控制台 ]

**将策略附加到根和 OU**

1. 导航到**[AWS 账户](https://console.aws.amazon.com/organizations/v2/home/accounts)**页面。

1. 在 **[AWS 账户](https://console.aws.amazon.com/organizations/v2/home/accounts)**页面上，选择**根**（选择其名称，而不是单选按钮）导航到其详细信息页面。

1. 在 **Root (根)** 详细信息页面上，选择 **Policies (策略)** 选项卡，然后在 **Service Control Policies (服务控制策略)** 下，选择 **Attach (附加)**。

1. 在 **Attach a service control policy (附加服务控制策略)** 页面上，选择名为 `Block CloudTrail Configuration Actions` 的 SCP 旁边的单选按钮，然后选择 **Attach (附加)**。在本教程中，您将它连接到根目录以使其影响所有成员帐户，从而防止任何人更改您的配置 CloudTrail方式。

   **Root (根)** 详细信息页面、**Policies (策略)** 选项卡显示有两个 SCP 已经附加到了根：您刚刚附加的一个以及默认的 `FullAWSAccess` SCP。

1. 导航回 **[AWS 账户](https://console.aws.amazon.com/organizations/v2/home/accounts)**页面，然后选择**生产** OU（选择其名称，而不是单选按钮）导航到其详细信息页面。

1. 在 **Production** OU 的详细信息页面上，选择 **Policies (策略)** 选项卡。

1. 在 **Service Control Policies (服务控制策略)** 下，选择 **Attach (附加)**。

1. 在 **Attach a service control policy (附加服务控制策略)** 页面上，选择 `Allow List for All Approved Services` 旁边的单选按钮，然后选择 **Attach (附加)**。这允许 **Production** OU 的成员账户中的用户或角色访问批准的服务。

1. 选择 **Policies (策略)** 选项卡，可以看到有两个 SCP 已附加到 OU：您刚刚附加的一个以及默认的 `FullAWSAccess` SCP。但是，由于 `FullAWSAccess` SCP 同时也是允许所有服务和操作的允许列表，您现在必须分离此 SCP 以确保只允许您批准的服务。

1. 要从 **Production** OU 删除默认策略，请选择单选按钮 **FullAWSAccess**，选择 **Detach (分离)**，然后在确认对话框中选择 **Detach policy (分离策略)**。

   删除此默认策略之后，**Production** OU 下的所有成员账户都将立即失去对不在允许列表 SCP（您已在前一步中附加）中的所有操作和服务的访问权。任何使用未包含在**所有批准服务的允许列表** SCP 中的操作的请求都将被拒绝。即使账户中的管理员通过将 IAM 权限策略附加到其中一个成员账户中的用户来授予对其他服务的访问权限，情况依然如此。

1. 现在，您可以附加名为 SCP`Deny List for MainApp Prohibited services`，以防止 MainApp OU 中账户中的任何人使用任何受限服务。

   为此，请导航到**[AWS 账户](https://console.aws.amazon.com/organizations/v2/home/accounts)**页面，选择三角形图标以展开**生产 ** OU 的分支，然后选择 ** MainApp ** OU（它的名称，不是单选按钮）来导航到其内容。

1. 在**MainApp**详细信息页面上，选择**策略**选项卡。

1. 在 “**服务控制策略” 下**，选择 “连接”，然后在可用策略列表中，选择 “**拒绝 MainApp 禁止服务列表” 旁边的单选按钮**，然后选择 “**连接策略” **。

------

## 步骤 4：测试组织的策略
<a name="tutorial-orgs-step4"></a>

现在，您可以使用任何成员账户中的用户身份[登录](https://docs.aws.amazon.com/signin/latest/userguide/what-is-sign-in.html)，并尝试执行各种 AWS 操作：
+ 如果您以管理账户中用户的身份登录，则可以执行您的 IAM 权限策略允许的任何操作。SCP 不会影响管理账户中的任何用户或角色，不论账户位于哪个根或 OU 中。
+ 如果您以账户 222222222222 的用户身份登录，则可以执行允许列表允许的任何操作。 AWS Organizations 拒绝任何尝试在不在允许列表中的任何服务中执行操作的行为。此外，还 AWS Organizations 拒绝任何尝试执行其中一项 CloudTrail 配置操作的行为。
+ 如果您以 333333333333 账户中的用户身份登录，则可以执行允许列表允许且拒绝列表未阻止的任何操作。 AWS Organizations 将拒绝尝试执行允许列表策略中未列出的任何操作，并拒绝尝试执行拒绝列表策略中列出的任何操作。此外，还 AWS Organizations 拒绝任何尝试执行其中一项 CloudTrail 配置操作的行为。