本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Image Builder 如何处理IAM策略和角色
在使用IAM管理对 Image Builder 的访问权限之前,请先了解哪些IAM功能可用于 Image Builder。
要全面了解 Image Builder 和其他 Amazon 服务如何使用大多数IAM功能,请参阅《IAM用户指南》IAM中与之配合使用的Amazon 服务。
Image Builder 的基于身份的策略
支持基于身份的策略:是
基于身份的策略是可以附加到身份(例如IAM用户、用户组或角色)的JSON权限策略文档。这些策略控制用户和角色可在何种条件下对哪些资源执行哪些操作。要了解如何创建基于身份的策略,请参阅IAM用户指南中的创建IAM策略。
使用IAM基于身份的策略,您可以指定允许或拒绝的操作和资源,以及允许或拒绝操作的条件。您无法在基于身份的策略中指定主体,因为它适用于其附加的用户或角色。要了解可以在JSON策略中使用的所有元素,请参阅IAM用户指南中的IAMJSON策略元素参考。
Image Builder 的基于身份的策略示例
要查看 Image Builder 基于身份的策略的示例,请参阅 Image Builder 基于身份的策略。
Image Builder 内基于资源的策略
支持基于资源的策略:是
基于资源的JSON策略是您附加到资源的策略文档。基于资源的策略的示例包括IAM角色信任策略和 Amazon S3 存储桶策略。在支持基于资源的策略的服务中,服务管理员可以使用它们来控制对特定资源的访问。对于在其中附加策略的资源,策略定义指定主体可以对该资源执行哪些操作以及在什么条件下执行。您必须在基于资源的策略中指定主体。委托人可以包括账户、用户、角色、联合用户或 Amazon Web Services 服务。
要启用跨账户访问权限,您可以将整个账户或另一个账户中的IAM实体指定为基于资源的策略中的委托人。将跨账户主体添加到基于资源的策略只是建立信任关系工作的一半而已。当委托人和资源处于不同位置时 Amazon Web Services 账户,可信账户中的IAM管理员还必须向委托人实体(用户或角色)授予访问资源的权限。他们通过将基于身份的策略附加到实体以授予权限。但是,如果基于资源的策略向同一个账户中的主体授予访问权限,则不需要额外的基于身份的策略。有关更多信息,请参阅《IAM用户指南》IAM中的跨账户资源访问权限。
Image Builder 的策略操作
支持策略操作:是
管理员可以使用 Amazon JSON策略来指定谁有权访问什么。也就是说,哪个主体 可以对什么资源执行操作,以及在什么条件下执行。
JSON策略Action
元素描述了可用于在策略中允许或拒绝访问的操作。策略操作通常与关联的 Amazon API操作同名。也有一些例外,例如没有匹配API操作的仅限权限的操作。还有一些操作需要在策略中执行多个操作。这些附加操作称为相关操作。
在策略中包含操作以授予执行关联操作的权限。
要查看 Image Builder 操作列表,请参阅《服务授权参考》中的 EC2 Image Builder 定义的操作。
Image Builder 中的策略操作在操作前使用以下前缀:
imagebuilder
要在单个语句中指定多项操作,请使用逗号将它们隔开。
"Action": [ "imagebuilder:
action1
", "imagebuilder:action2
" ]
要查看 Image Builder 基于身份的策略的示例,请参阅 Image Builder 基于身份的策略。
Image Builder 的策略资源
支持策略资源:是
管理员可以使用 Amazon JSON策略来指定谁有权访问什么。也就是说,哪个主体 可以对什么资源执行操作,以及在什么条件下执行。
Resource
JSON策略元素指定要应用操作的一个或多个对象。语句必须包含 Resource
或 NotResource
元素。最佳做法是,使用资源的 Amazon 资源名称 (ARN) 指定资源。对于支持特定资源类型(称为资源级权限)的操作,您可以执行此操作。
对于不支持资源级权限的操作(如列出操作),请使用通配符 (*) 指示语句应用于所有资源。
"Resource": "*"
要查看 Image Builder 资源类型及其列表ARNs,请参阅《服务授权参考》中的 EC2Image Builder 定义的资源。要了解您可以使用哪些操作来指定每种资源,请参阅 EC2Image Builder 定义的操作。ARN
要查看 Image Builder 基于身份的策略的示例,请参阅 Image Builder 基于身份的策略。
Image Builder 的策略条件键
支持特定于服务的策略条件键:是
管理员可以使用 Amazon JSON策略来指定谁有权访问什么。也就是说,哪个主体可以对什么资源执行操作,以及在什么条件下执行。
在 Condition
元素(或 Condition
块)中,可以指定语句生效的条件。Condition
元素是可选的。您可以创建使用条件运算符(例如,等于或小于)的条件表达式,以使策略中的条件与请求中的值相匹配。
如果您在一个语句中指定多个 Condition
元素,或在单个 Condition
元素中指定多个键,则 Amazon 使用逻辑 AND
运算评估它们。如果您为单个条件键指定多个值,则使用逻辑OR
运算来 Amazon 评估条件。在授予语句的权限之前必须满足所有的条件。
在指定条件时,您也可以使用占位符变量。例如,只有在资源上标有IAM用户的用户名时,您才能向IAM用户授予访问该资源的权限。有关更多信息,请参阅《IAM用户指南》中的IAM策略元素:变量和标签。
Amazon 支持全局条件密钥和特定于服务的条件密钥。要查看所有 Amazon 全局条件键,请参阅《IAM用户指南》中的Amazon 全局条件上下文密钥。
要查看 Image Builder 条件键列表,请参阅《服务授权参考》中的 EC2Image Builder 条件密钥。要了解可以使用条件键的操作和资源,请参阅 EC2Image Builder 定义的操作。
要查看 Image Builder 基于身份的策略的示例,请参阅 Image Builder 基于身份的策略。
ACLs在 Image Builder 中
支持ACLs:否
访问控制列表 (ACLs) 控制哪些委托人(账户成员、用户或角色)有权访问资源。ACLs与基于资源的策略类似,尽管它们不使用JSON策略文档格式。
ABAC使用 Image Builder
支持ABAC(策略中的标签):部分
基于属性的访问控制 (ABAC) 是一种基于属性定义权限的授权策略。在中 Amazon,这些属性称为标签。您可以将标签附加到IAM实体(用户或角色)和许多 Amazon 资源。为实体和资源添加标签是的第一步。ABAC然后,您可以设计ABAC策略,允许在委托人的标签与他们尝试访问的资源上的标签匹配时进行操作。
ABAC在快速增长的环境中很有用,也有助于解决策略管理变得繁琐的情况。
要基于标签控制访问,您需要使用 aws:ResourceTag/
、key-name
aws:RequestTag/
或 key-name
aws:TagKeys
条件键在策略的条件元素中提供标签信息。
如果某个服务对于每种资源类型都支持所有这三个条件键,则对于该服务,该值为是。如果某个服务仅对于部分资源类型支持所有这三个条件键,则该值为部分。
有关的更多信息ABAC,请参阅什么是ABAC? 在《IAM用户指南》中。要查看包含设置步骤的教程ABAC,请参阅IAM用户指南中的使用基于属性的访问控制 (ABAC)。
将临时凭证用于 Image Builder
支持临时凭证:是
当你使用临时证书登录时,有些 Amazon Web Services 服务 不起作用。有关其他信息,包括哪些 Amazon Web Services 服务 适用于临时证书 Amazon Web Services 服务 ,请参阅《IAM用户指南》IAM中的 “适用于临时证书”。
如果您使用除用户名和密码之外的任何方法登录,则 Amazon Web Services Management Console 使用的是临时证书。例如,当您 Amazon 使用公司的单点登录 (SSO) 链接进行访问时,该过程会自动创建临时证书。当您以用户身份登录控制台,然后切换角色时,您还会自动创建临时凭证。有关切换角色的更多信息,请参阅《IAM用户指南》中的切换到角色(控制台)。
您可以使用 Amazon CLI 或手动创建临时证书 Amazon API。然后,您可以使用这些临时证书进行访问 Amazon。 Amazon 建议您动态生成临时证书,而不是使用长期访问密钥。有关更多信息,请参阅中的临时安全证书IAM。
Image Builder 的跨服务主体权限
支持转发访问会话 (FAS):是
当您使用IAM用户或角色在中执行操作时 Amazon,您被视为委托人。使用某些服务时,您可能会执行一个操作,然后此操作在其他服务中启动另一个操作。FAS使用调用委托人的权限 Amazon Web Services 服务以及 Amazon Web Services 服务 向下游服务发出请求的请求。FAS只有当服务收到需要与其他 Amazon Web Services 服务 或资源交互才能完成的请求时,才会发出请求。在这种情况下,您必须具有执行这两个操作的权限。有关提出FAS请求时的政策详情,请参阅转发访问会话。
Image Builder 的服务角色
支持服务角色:是
服务IAM角色是服务代替您执行操作的角色。IAM管理员可以在内部创建、修改和删除服务角色IAM。有关更多信息,请参阅《IAM用户指南》 Amazon Web Services 服务中的创建角色以向委派权限。
警告
更改服务角色的权限可能会破坏 Image Builder 的功能。仅当 Image Builder 提供相关指导时才编辑服务角色。
Image Builder 的服务相关角色
支持服务相关角色:否
服务相关角色是一种与服务相关联的 Amazon Web Services 服务服务角色。服务可以代入代表您执行操作的角色。服务相关角色出现在您的中 Amazon Web Services 账户 ,并且归服务所有。IAM管理员可以查看但不能编辑服务相关角色的权限。
有关服务相关角色的详细信息,请参阅 在 Image Builder 中使用IAM服务相关角色。
Image Builder 基于身份的策略
使用IAM基于身份的策略,您可以指定允许或拒绝的操作和资源,以及允许或拒绝操作的条件。Image Builder 支持特定的操作、资源和条件键。有关您在JSON策略中使用的所有元素的信息,请参阅《IAM用户指南》中的 A mazon EC2 Image Builder 的操作、资源和条件密钥。
操作
Image Builder 中的策略操作在操作前使用以下前缀:imagebuilder:
。策略语句必须包含 Action
或 NotAction
元素。Image Builder 定义了一组自己的操作,以描述您可以使用该服务执行的任务。
要在单个语句中指定多项操作,请使用逗号将它们隔开,如下所示:
"Action": [ "imagebuilder:
action1
", "imagebuilder:action2
"
您也可以使用通配符 (*) 指定多个操作。例如,要指定以单词 List
开头的所有操作,包括以下操作:
"Action": "imagebuilder:List*"
要查看 Image Builder 操作列表,请参阅IAM用户指南 Amazon Web Services 服务中的操作、资源和条件键。
使用策略管理访问
有关如何 Amazon 通过创建策略并将其附加到IAM身份或 Amazon 资源来管理中的访问权限的详细信息,请参阅IAM用户指南中的策略和权限。
您与实例配置文件关联的IAM角色必须有权运行映像中包含的构建和测试组件。必须将以下IAM角色策略附加到与实例配置文件关联的IAM角色:
-
EC2InstanceProfileForImageBuilder
-
EC2InstanceProfileForImageBuilderECRContainerBuilds
-
AmazonSSMManagedInstanceCore
资源
管理员可以使用 Amazon JSON策略来指定谁有权访问什么。也就是说,哪个主体 可以对什么资源执行操作,以及在什么条件下执行。
Resource
JSON策略元素指定要应用操作的一个或多个对象。语句必须包含 Resource
或 NotResource
元素。最佳做法是,使用资源的 Amazon 资源名称 (ARN) 指定资源。对于支持特定资源类型(称为资源级权限)的操作,您可以执行此操作。
对于不支持资源级权限的操作(如列出操作),请使用通配符 (*) 指示语句应用于所有资源。
"Resource": "*"
Image Builder 实例资源具有以下亚马逊资源名称 (ARN)。
arn:aws:imagebuilder:
region
:account-id
:resource
:resource-id
有关格式的更多信息ARNs,请参阅 Amazon 资源名称 (ARNs) 和 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 操作都涉及多个资源。要在单个语句中指定多个资源,请ARNs用逗号分隔。
"Resource": [ "
resource1
", "resource2
"
条件键
Image Builder 提供特定于服务的条件键,并支持使用某些全局条件键。要查看所有 Amazon 全局条件键,请参阅IAM用户指南中的Amazon 全局条件上下文密钥。提供以下特定于服务的条件键。
imagebuilder:CreatedResourceTagKeys
与字符串运算符结合使用。
使用此键可以根据请求中是否存在标签键来筛选访问。这允许您管理 Image Builder 创建的资源。
可用性-此密钥仅适用于CreateInfrastrucutreConfiguration
和UpdateInfrastructureConfiguration
APIs。
imagebuilder:/CreatedResourceTag<key>
与字符串运算符结合使用。
使用此键可按附加到 Image Builder 创建的资源的标签键值对来筛选访问。这允许您通过定义的标签来管理 Image Builder 资源。
可用性-此密钥仅适用于CreateInfrastrucutreConfiguration
和UpdateInfrastructureConfiguration
APIs。
ImageBuilder: EC2 MetadataHttpTokens
与字符串运算符结合使用。
使用此密钥按请求中指定的EC2实例元数据HTTP令牌要求筛选访问权限。
此键的值可以是 optional
或 required
。
可用性-此密钥仅适用于CreateInfrastrucutreConfiguration
和UpdateInfrastructureConfiguration
APIs。
imagebuilder:StatusTopicArn
与字符串运算符结合使用。
使用此密钥按请求ARN中的SNS主题筛选访问权限,终端状态通知将发布到哪里。
可用性-此密钥仅适用于CreateInfrastrucutreConfiguration
和UpdateInfrastructureConfiguration
APIs。
示例
要查看 Image Builder 基于身份的策略的示例,请参阅 Image Builder 基于身份的策略。
Image Builder 基于资源的策略
基于资源的策略规定了指定的委托人可以在什么条件下对 Image Builder 资源执行哪些操作。Image Builder 支持针对组件、映像和映像配方的基于资源的权限策略。基于资源的策略允许您基于资源向其他账户授予使用权限。您还可以使用基于资源的策略来允许 Amazon 服务访问您的组件、图像和图像配方。
基于 Image Builder 标签的授权
您可以将标签附加到 Image Builder 资源或将请求中的标签传递到 Image Builder。要基于标签控制访问,您需要使用 imagebuilder:ResourceTag/
、key-name
aws:RequestTag/
或 key-name
aws:TagKeys
条件键在策略的条件元素中提供标签信息。有关标记 Image Builder 资源的更多信息,请参阅 标记来自的资源 Amazon CLI。
Image Builder IAM 角色
IAM角色是您内部具有特定权限 Amazon Web Services 账户 的实体。
将临时凭证用于 Image Builder
您可以使用临时证书通过联合身份登录、代入IAM角色或担任跨账户角色。您可以通过调用AssumeRole或之类的 Amazon STS API操作来获取临时安全证书GetFederationToken。
服务相关角色
服务相关角色 Amazon Web Services 服务 允许访问其他服务中的资源以代表您完成操作。服务相关角色显示在您的IAM账户中,并归服务所有。具有管理员访问权限的用户可以查看但不能编辑服务相关角色的权限。
Image Builder 支持服务相关角色。有关创建或管理 Image Builder 服务相关角色的信息,请参阅 在 Image Builder 中使用IAM服务相关角色。
服务角色
此功能允许服务代表您担任服务角色。此角色允许服务访问其他服务中的资源以代表您完成操作。服务角色显示在您的IAM账户中,并归该账户所有。这意味着具有管理员访问权限的用户可以更改此角色的权限。但是,这样做可能会中断服务的功能。