Image Builder 的 Identity and Access Management 集成 - EC2 Image Builder
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

Image Builder 的 Identity and Access Management 集成

受众

您的使用方式 Amazon Identity and Access Management (IAM) 因您的角色而异:

使用身份进行身份验证

有关如何为你的用户和流程提供身份验证的详细信息 Amazon Web Services 账户,请参阅 IAM 用户指南中的身份

自定义工作流程的 IAM 权限

使用带有特定步骤操作的自定义工作流程时RegisterImage,除了标准的 Image Builder 托管策略之外,可能需要其他 IAM 权限。本节介绍自定义工作流程步骤操作所需的其他权限。

RegisterImage 步骤操作权限

RegisterImage步骤操作需要特定的 Amazon EC2 权限才能注册AMIs 和可选地检索快照标签。使用includeSnapshotTags参数时,需要额外的权限来描述快照。

RegisterImage 步骤操作所需的权限:

对于所有资源,允许执行以下操作:

  • ec2:RegisterImage

  • ec2:DescribeSnapshots

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:RegisterImage", "ec2:DescribeSnapshots" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ec2:CreateTags" ], "Resource": "arn:aws:ec2:*::image/*", "Condition": { "StringEquals": { "ec2:CreateAction": "RegisterImage" } } } ] }

权限详情:

  • ec2:RegisterImage-需要 AMIs 从快照中注册新快照

  • ec2:DescribeSnapshots-使用检索快照标签includeSnapshotTags: true以与 AMI 标签合并时必填项

  • ec2:CreateTags-需要对注册的 AMI 应用标签,包括 Image Builder 默认标签和合并的快照标签

注意

ec2:DescribeSnapshots权限仅在includeSnapshotTags参数设置为时使用true。如果您不使用此功能,则可以省略此权限。

标签合并行为:

includeSnapshotTags启用后, RegisterImage 步骤操作将:

  • 从块储存设备映射中指定的第一个快照中检索标签

  • 排除任何 Amazon 保留的标签(密钥以 “aws:” 开头的标签)

  • 将快照标签与映像生成器的默认 AMI 注册标签合并

  • 当标签键发生冲突时,优先使用 Image Builder 标签

Image Builder 基于资源的策略

有关如何创建组件的信息,请参阅 使用组件自定义 Image Builder 映像

限制 Image Builder 组件访问特定的 IP 地址

以下示例为任何用户授予权限以对组件执行任何 Image Builder 操作。但是,请求必须来自条件中指定的 IP 地址范围。

此语句中的条件标识了允许的互联网协议版本 4 (IPv4) IP 地址的 54.240.143.* 范围,但有一个例外:54.240.143.188。

Condition块使用IpAddressNotIpAddress条件和aws:SourceIp条件键,后者是一个 Amazon宽范围的条件键。有关这些条件键的更多信息,请参阅在策略中指定条件。这些aws:sourceIp IPv4 值使用标准 CIDR 表示法。有关更多信息,请参阅 《IAM 用户指南》中的 IP 地址条件运算符

JSON
{ "Version":"2012-10-17", "Id": "IBPolicyId1", "Statement": [ { "Sid": "IPAllow", "Effect": "Allow", "Action": "imagebuilder:GetComponent", "Resource": "arn:aws:imagebuilder:*::examplecomponent/*", "Condition": { "IpAddress": {"aws:SourceIp": "54.240.143.0/24"}, "NotIpAddress": {"aws:SourceIp": "54.240.143.188/32"} } } ] }