

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

# Image Builder 映像的生命周期管理先决条件
<a name="image-lifecycle-prerequisites"></a>

您必须满足以下先决条件，才能为映像资源定义 EC2 Image Builder 生命周期管理策略和规则。
+ 创建一个 IAM 角色，该角色可授予 Image Builder 运行生命周期策略的权限。您可以通过以下方式之一创建此角色：
  + **创建生命周期策略时，使用 Image Builder 控制台中的 “使用服务默认值创建生命周期执行角色**” 选项。这会自动创建一个附加`EC2ImageBuilderLifecycleExecutionPolicy`托管策略的角色。
  + 使用 Image Builder 控制台中的 “**创建新的生命周期执行角色**” 选项，这将打开 IAM，其中包含预先填写的设置，便于一键创建角色。
  + 在 IAM 控制台中手动创建角色。有关 step-by-step说明，请参阅[为 Image Builder 生命周期管理创建 IAM 角色](#image-lifecycle-prereq-role)。
+ 在目标账户中为跨账户分配的关联资源创建 IAM 角色。该角色可授予 Image Builder 在目标账户中对关联资源执行生命周期操作的权限。要创建该角色，请参阅[为 Image Builder 跨账户生命周期管理创建 IAM 角色](#image-lifecycle-prereq-cross-acct-role)。
**注意**  
如果您已为输出 AMI 授予启动权限，则不适用此先决条件。借助启动权限，您与之共享的账户拥有从共享 AMI 启动的实例，但所有 AMI 资源仍保留在您的账户中。
+ 对于容器映像，您必须将以下标签添加到 ECR 存储库，向 Image Builder 授予访问权限，以便对存储在存储库中的容器映像运行生命周期操作：`LifecycleExecutionAccess: EC2 Image Builder`。

## 为 Image Builder 生命周期管理创建 IAM 角色
<a name="image-lifecycle-prereq-role"></a>

要授予 Image Builder 运行生命周期策略的权限，您必须先创建用于执行生命周期操作的 IAM 角色。按照以下步骤创建授予权限的服务角色。

1. 使用 [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) 打开 IAM 控制台。

1. 从导航窗格中，选择 **Roles**。

1. 选择**创建角色**。此操作将进入流程的第一步**选择可信实体**，以创建您的角色。

1. 对于**可信实体类型**，请选择**自定义信任策略**选项。

1. 复制以下 JSON 信任策略，将其粘贴到**自定义信任策略**文本区域中，从而替换示例文本。此信任策略允许 Image Builder 担任您为运行生命周期操作而创建的角色。

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Action": [
                   "sts:AssumeRole"
               ],
               "Effect": "Allow",
               "Principal": {
                   "Service": [
                       "imagebuilder.amazonaws.com"
                   ]
               }
           }
       ]
   }
   ```

------

1. 从列表中选择以下托管策略：**EC2ImageBuilderLifecycleExecutionPolicy**，然后选择**下一步**。此操作将打开**命名、检查并创建**页面。
**提示**  
筛选 `image` 以简化结果。

1. 输入**角色名称**。

1. 查看设置后，请选择**创建角色**。

## 为 Image Builder 跨账户生命周期管理创建 IAM 角色
<a name="image-lifecycle-prereq-cross-acct-role"></a>

要授予 Image Builder 在目标账户中对关联资源执行生命周期操作的权限，您必须首先创建其用于在这些账户中执行生命周期操作的 IAM 角色。您必须在目标账户中创建角色。

按照以下步骤创建*在目标账户中*授予权限的服务角色。

1. 使用 [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) 打开 IAM 控制台。

1. 从导航窗格中，选择 **Roles**。

1. 选择**创建角色**。此操作将进入流程的第一步**选择可信实体**，以创建您的角色。

1. 对于**可信实体类型**，请选择**自定义信任策略**选项。

1. 复制以下 JSON 信任策略，将其粘贴到**自定义信任策略**文本区域中，从而替换示例文本。此信任策略允许 Image Builder 担任您为运行生命周期操作而创建的角色。
**注意**  
当 Image Builder 在目标账户中使用该角色对跨账户分配的关联资源进行操作时，其代表目标账户所有者行事。您在信任策略`aws:SourceAccount`中配置的账户是 Image Builder 分发这些资源的账户。 AWS 账户 

   ```
   {
       "Version": "2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Principal": {
                   "Service": [
                       "imagebuilder.amazonaws.com"
                   ]
               },
               "Action": "sts:AssumeRole",
               "Condition": {
                   "StringEquals": {
                       "aws:SourceAccount": "444455556666"
                   },
                   "StringLike": {
                       "aws:SourceArn": "arn:*:imagebuilder:*:*:image/*/*/*"
                   }
               }
           }
       ]
   }
   ```

1. 从列表中选择以下托管策略：**EC2ImageBuilderLifecycleExecutionPolicy**，然后选择**下一步**。此操作将打开**命名、检查并创建**页面。
**提示**  
筛选 `image` 以简化结果。

1. 输入 `Ec2ImageBuilderCrossAccountLifecycleAccess` 作为**角色名称**。
**重要**  
`Ec2ImageBuilderCrossAccountLifecycleAccess` 必须是该角色的名称。

1. 查看设置后，请选择**创建角色**。