如何使用 IAM EC2 Image Builder - EC2 Image Builder
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

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

如何使用 IAM EC2 Image Builder

在使用 IAM 管理对 Image Builder 的访问之前,您应了解哪些 IAM 功能可与 Image Builder 协同工作。要获得 Image Builder 和其他方式的概要视图Amazon使用 IAM 的服务,请参阅Amazon使用 IAM 的服务中的IAM 用户指南.

基于身份的 Image Builder 策略

通过使用 IAM 基于身份的策略,您可以指定允许或拒绝的操作和资源,以及允许或拒绝操作的条件。Image Builder 支持特定的操作、资源和条件键。有关在 JSON 策略中使用的所有元素,请参阅。Amazon EC2 Image Builder 的操作、资源和条件键中的IAM 用户指南.

操作

Image Builder 中的策略操作在操作前使用以下前缀:imagebuilder:. 策略语句必须包含Action要么NotAction元素。Image Builder 定义了一组自己的操作,以描述您可以使用该服务执行的任务。

要在单个语句中指定多项操作,请使用逗号将它们隔开,如下所示:

"Action": [ "imagebuilder:action1", "imagebuilder:action2"

您也可以使用通配符 (*) 指定多个操作。例如,要指定以单词 List 开头的所有操作,包括以下操作:

"Action": "imagebuilder:List*"

要查看 Image Builder 操作的列表,请参阅的操作、资源和条件键Amazon服务中的IAM 用户指南.

使用策略管理访问

有关如何在中管理访问权限的详细信息Amazon要创建策略并将其附加到 IAM 身份,或Amazon资源,请参阅策略和权限中的IAM 用户指南.

与实例配置文件关联的 IAM 角色必须有权运行映像中包含的生成和测试组件。必须将以下 IAM 角色策略附加到与实例配置文件关联的 IAM 角色:

  • EC2InstanceProfileForImage生成器

  • EC2InstanceProfileForImageBuilddeRCRContainerBuilds

  • 卓越亚马逊 SSMManagedInstance核心实例

资源

管理员可以使用 Amazon JSON 策略来指定谁有权访问什么内容。也就是说,哪个委托人 可以对什么资源 执行操作,以及在什么条件 下执行。

Resource JSON 策略元素指定要向其应用操作的一个或多个对象。语句必须包含 ResourceNotResource 元素。作为最佳实践,请使用其 Amazon Resource Name (ARN) 指定资源。对于支持特定资源类型(称为资源级权限)的操作,您可以执行此操作。

对于不支持资源级权限的操作(如列出操作),请使用通配符 (*) 指示语句应用于所有资源。

"Resource": "*"

Image Builder 实例资源具有以下 Amazon 资源名称 (ARN)。

arn:aws:imagebuilder:region:account-id:resource:resource-id

有关 ARN 格式的更多信息,请参阅 Amazon Resource Name(ARN)和 Amazon 服务命名空间

例如,要在语句中指定 i-1234567890abcdef0 实例,请使用以下 ARN。

"Resource": "arn:aws:imagebuilder:us-east-1:123456789012:instance/i-1234567890abcdef0"

要指定属于特定账户的所有实例,请使用通配符 (*)。

"Resource": "arn:aws:imagebuilder:us-east-1:123456789012:instance/*"

无法对特定资源执行某些 Image Builder 操作,例如,用于创建资源的操作。在这些情况下,您必须使用通配符 (*)。

"Resource": "*"

许多 EC2 Image Builder API 操作涉及多种资源。要在单个语句中指定多个资源,请使用逗号分隔 ARN。

"Resource": [ "resource1", "resource2"

条件键

Image Builder 提供服务特定的条件键,并支持使用某些全局条件键。要查看所有 Amazon 全局条件键,请参阅《IAM 用户指南》中的 Amazon 全局条件上下文键。提供以下特定于服务的条件键。

映像生成器:CreatedResourceTagKeys

字符串运算符结合使用。

通过使用此键可根据在请求中是否具有标签键来筛选访问。这允许您管理 Image Builder 创建的资源。

可用性可用于此键仅可用于CreateInfrastrucutreConfigurationUpdateInfrastructureConfigurationAPI。

映像生成器:CreatedResource标签/<key>

字符串运算符结合使用。

使用此键可根据附加到 Image Builder 所创建的资源的标签键值对来筛选访问。这允许您通过定义的标签来管理 Image Builder 资源。

可用性可用于此键仅可用于CreateInfrastrucutreConfigurationUpdateInfrastructureConfigurationAPI。

映像生成器:EC2MetadataHttp令牌

字符串运算符结合使用。

通过使用此键可根据在请求中指定的 EC2 实例元数据 HTTP Token 要求筛选访问。

此密钥的此值可以是optional要么required.

可用性可用于此键仅可用于CreateInfrastrucutreConfigurationUpdateInfrastructureConfigurationAPI。

映像生成器:StatusTopicArn

字符串运算符结合使用。

在将发送终端状态通知的请求中,使用此键可筛选 SNS Topic ARN 的访问。

可用性可用于此键仅可用于CreateInfrastrucutreConfigurationUpdateInfrastructureConfigurationAPI。

示例

要查看 Image Builder 基于身份的策略示例,请参阅EC2 Image Builder 基于身份的策略.

基于 Image Builder 的策略

基于资源的策略是 JSON 策略文档,它们指定了指定的委托人可在 Image Builder 资源上执行的操作以及在什么条件下可执 Image Builder 支持针对组件、镜像和镜像配方的基于资源的权限策略。基于资源的策略允许您基于资源向其他 账户授予使用权限。您也可以使用基于资源的策略,以允许 Amazon 服务访问组件、镜像和镜像配方。

要启用跨账户访问,您可以将整个账户或其他账户中的 IAM 实体指定为基于资源的策略中的委托人。将跨账户主体添加到基于资源的策略只是建立信任关系工作的一半而已。当委托人和资源不同时Amazon Web Services 账户s,还必须授予委托人实体对资源的访问权限。通过将基于身份的策略附加到实体以授予权限。但是,如果基于资源的策略向同一个账户中的委托人授予访问权限,则不需要额外的基于身份的策略。有关更多信息,请参阅 IAM 用户指南 中的 IAM 角色与基于资源的策略有何不同

基于 Image Builder 标签的授权

您可以将标签附加到 Image Builder 资源或将请求中的标签传递到 Image Builder。要基于标签控制访问,您需要使用 imagebuilder:ResourceTag/key-nameaws:RequestTag/key-nameaws:TagKeys 条件键在策略的条件元素中提供标签信息。有关标记 Image Builder 资源的更多信息,请参阅标记资源 (Amazon CLI).

IAM Image Builder 角色

IAM 角色是 Amazon Web Services 账户中具有特定权限的实体。

将临时凭证用于 Image Builder

您可以使用临时凭证进行联合身份登录,担任 IAM 角色或担任跨账户角色。您可以通过致电获得临时安全证Amazon STS如 API 操作AssumeRole要么GetFederationToken.

服务相关角色

服务相关角色允许 Amazon 服务访问其它服务中的资源以代表您完成操作。服务相关角色显示在您的 IAM 账户中,并归该服务所有。IAM 管理员可以查看但不能编辑服务相关角色的权限。

Image Builder 支持服务相关角色。有关创建或管理 Image Builder 服务相关角色的信息,请参阅。将服务相关角色用于 EC2 Image Builder.

服务角色

此功能允许服务代表您担任服务角色。此角色允许服务访问其它服务中的资源以代表您完成操作。服务角色显示在您的 IAM 账户中,并归该账户所有。这意味着,IAM 管理员可以更改该角色的权限。但是,这样做可能会中断服务的功能。