本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
为 EC2 Image Builder 使用 AWS 托管策略
AWS 托管策略是由创建和管理的独立策略 AWS。 AWS 托管策略旨在为许多常见用例提供权限,以便您可以开始为用户、组和角色分配权限。
请记住, AWS 托管策略可能不会为您的特定用例授予最低权限权限,因为它们可供所有 AWS 客户使用。我们建议通过定义特定于您的使用场景的客户托管式策略来进一步减少权限。
您无法更改 AWS 托管策略中定义的权限。如果 AWS 更新 AWS 托管策略中定义的权限,则更新会影响该策略所关联的所有委托人身份(用户、组和角色)。 AWS 当新服务启动或现有服务 AWS 服务 有新API操作可用时,最有可能更新 AWS 托管策略。
有关更多信息,请参阅《IAM用户指南》中的AWS 托管策略。
AWSImageBuilderFullAccess 策略
这些区域有:AWSImageBuilderFullAccess策略授予其所属角色对 Image Builder 资源的完全访问权限,允许该角色列出、描述、创建、更新和删除 Image Builder 资源。该策略还向相关 AWS 服务 人员授予所需的定向权限,例如验证资源或在中显示账户的当前资源 AWS Management Console。
权限详细信息
该策略包含以下权限:
-
Image Builder – 授予管理权限,使该角色可以列出、描述、创建、更新和删除 Image Builder 资源。
-
亚马逊 EC2 — 授予访问权限 Amazon Desc EC2 ribe 操作,这些操作是验证资源存在或获取属于该账户的资源列表所必需的。
-
IAM— 授予访问权限以获取和使用名称包含 “imagebuilder” 的实例配置文件,通过
iam:GetRole
API操作验证 Image Builder 服务相关角色的存在,以及创建 Image Builder 服务相关角色。 -
License Manager – 授予访问权限,以列出资源的许可证配置或许可证。
-
Amazon S3 – 授予访问权限,以列出属于该账户的存储桶,以及名称中带有“imagebuilder”的 Image Builder 存储桶。
-
Amazon SNS — SNS 向亚马逊授予写入权限,用于验证包含 “图像生成器” 的主题的主题的所有权。
策略示例
以下是示例 AWSImageBuilderFullAccess 政策。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "imagebuilder:*" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "sns:ListTopics" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "sns:Publish" ], "Resource": "arn:aws:sns:*:*:*imagebuilder*" }, { "Effect": "Allow", "Action": [ "license-manager:ListLicenseConfigurations", "license-manager:ListLicenseSpecificationsForResource" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "iam:GetRole" ], "Resource": "arn:aws:iam::*:role/aws-service-role/imagebuilder.amazonaws.com/AWSServiceRoleForImageBuilder" }, { "Effect": "Allow", "Action": [ "iam:GetInstanceProfile" ], "Resource": "arn:aws:iam::*:instance-profile/*imagebuilder*" }, { "Effect": "Allow", "Action": [ "iam:ListInstanceProfiles", "iam:ListRoles" ], "Resource": "*" }, { "Effect": "Allow", "Action": "iam:PassRole", "Resource": [ "arn:aws:iam::*:instance-profile/*imagebuilder*", "arn:aws:iam::*:role/*imagebuilder*" ], "Condition": { "StringEquals": { "iam:PassedToService": "ec2.amazonaws.com" } } }, { "Effect": "Allow", "Action": [ "s3:ListAllMyBuckets", "s3:GetBucketLocation" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "s3:ListBucket" ], "Resource": "arn:aws:s3::*:*imagebuilder*" }, { "Action": "iam:CreateServiceLinkedRole", "Effect": "Allow", "Resource": "arn:aws:iam::*:role/aws-service-role/imagebuilder.amazonaws.com/AWSServiceRoleForImageBuilder", "Condition": { "StringLike": { "iam:AWSServiceName": "imagebuilder.amazonaws.com" } } }, { "Effect": "Allow", "Action": [ "ec2:DescribeImages", "ec2:DescribeSnapshots", "ec2:DescribeVpcs", "ec2:DescribeRegions", "ec2:DescribeVolumes", "ec2:DescribeSubnets", "ec2:DescribeKeyPairs", "ec2:DescribeSecurityGroups", "ec2:DescribeInstanceTypeOfferings", "ec2:DescribeLaunchTemplates" ], "Resource": "*" } ] }
AWSImageBuilderReadOnlyAccess 策略
这些区域有:AWSImageBuilderReadOnlyAccess策略提供对所有 Image Builder 资源的只读访问权限。授予权限以通过iam:GetRole
API操作验证 Image Builder 服务相关角色是否存在。
权限详细信息
该策略包含以下权限:
-
Image Builder – 授予对 Image Builder 资源的只读访问权限。
-
IAM— 授予访问权限,通过
iam:GetRole
API操作验证 Image Builder 服务相关角色是否存在。
策略示例
以下是示例 AWSImageBuilderReadOnlyAccess 政策。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "imagebuilder:Get*", "imagebuilder:List*" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "iam:GetRole" ], "Resource": "arn:aws:iam::*:role/aws-service-role/imagebuilder.amazonaws.com/AWSServiceRoleForImageBuilder" } ] }
AWSServiceRoleForImageBuilder 策略
这些区域有:AWSServiceRoleForImageBuilder策略允许 Image Builder AWS 服务 代表您致电。
权限详细信息
通过 Systems Manager 创建 Image Builder 服务相关角色时,该策略将附加到该角色。有关 Image Builder 服务相关角色的更多信息,请参阅 在 Image Builder 中使用IAM服务相关角色。
此策略包含以下权限:
-
CloudWatch 日志-授予创建 CloudWatch 日志并将其上传到名称以开头的任何日志组的访问权限
/aws/imagebuilder/
。 -
Amazon EC2 — 只要正在创建或使用的映像、EC2实例和卷标有或标签,Image Builder 就有权根据需要使用相关的快照、卷、网络接口、子网、安全组、许可配置和密钥对在您的账户中创建映像和启动实例。
CreatedBy: EC2 Image Builder
CreatedBy: EC2 Fast Launch
Image Builder 可以获取有关亚马逊EC2映像、实例属性、实例状态、您的账户可用的实例类型、启动模板、子网、主机和亚马逊EC2资源上的标签的信息。
Image Builder 可以更新映像设置,以启用或禁用账户中的 Windows 实例快速启动(其中映像标有
CreatedBy: EC2 Image Builder
)。此外,Image Builder 可以启动、停止和终止在您的账户中运行的实例,共享 Amazon EBS 快照,创建和更新图像和启动模板,注销现有映像,添加标签,以及在您通过授予权限的账户之间复制映像 Ec2ImageBuilderCrossAccountDistributionAccess政策。如前所述,所有这些操作都需要使用 Image Builder 标记。
-
Amazon ECR — Image Builder 有权在需要时创建存储库进行容器映像漏洞扫描,并标记其创建的资源以限制其操作范围。Image Builder 还被授予访问权限,以在获取漏洞快照后删除其为扫描创建的容器映像。
-
EventBridge— 授予 Image Builder 创建和管理 EventBridge 规则的权限。
-
IAM— 授权 Image Builder 可以将您账户中的任何角色传递给亚马逊EC2和虚拟机导入/导出。
-
Amazon Inspector – 向 Image Builder 授予访问权限,以确定 Amazon Inspector 何时完成构建实例扫描,并收集配置为允许扫描的映像的结果。
-
AWS KMS— 授予亚马逊对亚马逊卷EBS进行加密、解密或重新加密的访问权限。EBS这一点非常重要,可以确保当 Image Builder 构建映像时,加密卷能够正常工作。
-
License Manager – 向 Image Builder 授予访问权限,以通过
license-manager:UpdateLicenseSpecificationsForResource
更新 License Manager 规格。 -
Amazon SNS — 对您账户中的任何亚马逊SNS主题都授予写入权限。
-
Systems Manag er — Image Builder 有权列出 Systems Manager 命令及其调用、清点条目、描述实例信息和自动化执行状态、描述主机以获得实例放置支持以及获取命令调用详细信息。Image Builder 还可以发送自动化信号,并停止对账户中任意资源的自动化执行。
Image Builder 能够向标记为
"CreatedBy": "EC2 Image Builder"
的任何实例发出运行命令调用,用于以下脚本文件:AWS-RunPowerShellScript
、AWS-RunShellScript
和AWSEC2-RunSysprep
。Image Builder 能够在账户中启动 Systems Manager 自动化执行,用于名称以ImageBuilder
开头的自动化文档。Image Builder 还可以在账户中为任何实例创建或删除状态管理器关联(只要关联文档为
AWS-GatherSoftwareInventory
),并且可以在账户中创建 Systems Manager 服务相关角色。 -
AWS STS— 授予 Image Builder 担任名为的角色的访问权限 EC2ImageBuilderDistributionCrossAccountRole从您的账户转移到该角色的信任政策允许的任何账户。这可用于跨账户映像分配。
要查看此策略的权限,请参阅 AWSServiceRoleForImageBuilder在《AWS 托管策略参考》中。
Ec2ImageBuilderCrossAccountDistributionAccess 策略
这些区域有:Ec2ImageBuilderCrossAccountDistributionAccess策略授予 Image Builder 在目标区域跨账户分发图像的权限。此外,Image Builder 可以对账户中的任何亚马逊EC2图片进行描述、复制和应用标签。该策略还允许通过ec2:ModifyImageAttribute
API操作修改AMI权限。
权限详细信息
该策略包含以下权限:
-
亚马逊 EC2 — EC2 允许亚马逊描述、复制和修改图片的属性,以及为账户中的任何亚马逊EC2图片创建标签。
策略示例
以下是示例 Ec2ImageBuilderCrossAccountDistributionAccess 政策。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "ec2:CreateTags", "Resource": "arn:aws:ec2:*::image/*" }, { "Effect": "Allow", "Action": [ "ec2:DescribeImages", "ec2:CopyImage", "ec2:ModifyImageAttribute" ], "Resource": "*" } ] }
EC2ImageBuilderLifecycleExecutionPolicy 策略
这些区域有:EC2ImageBuilderLifecycleExecutionPolicy策略授予 Image Builder 执行诸如弃用、禁用或删除 Image Builder 图像资源及其底层资源(快照)等操作的权限AMIs,以支持图像生命周期管理任务的自动规则。
权限详细信息
该策略包含以下权限:
-
亚马逊 EC2 — 授予亚马逊访问权限,EC2允许其对账户中带有标签的亚马逊系统映像 (AMIs) 执行以下操作
CreatedBy: EC2 Image Builder
。-
启用和禁用AMI。
-
启用和禁用映像弃用。
-
描述并取消注册. AMI
-
描述和修改AMI图像属性。
-
删除与关联的卷快照AMI。
-
检索资源的标签。
-
在中添加或删除标签以AMI供弃用。
-
-
亚马逊 ECR — 授予亚马逊访问权限ECR,允许其对带有
LifecycleExecutionAccess: EC2 Image Builder
标签的ECR存储库执行以下批量操作。批处理操作支持自动化容器映像生命周期规则。-
ecr:BatchGetImage
-
ecr:BatchDeleteImage
在存储库级别授予标有标签的ECR存储库的访问权限
LifecycleExecutionAccess: EC2 Image Builder
。 -
-
AWS 资源组 — 授予 Image Builder 基于标签获取资源的权限。
-
EC2Image Builder — Image Builder 被授予删除图像生成器图像资源的权限。
策略示例
以下是示例 EC2ImageBuilderLifecycleExecutionPolicy 政策。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "Ec2ImagePermission", "Effect": "Allow", "Action": [ "ec2:EnableImage", "ec2:DeregisterImage", "ec2:EnableImageDeprecation", "ec2:DescribeImageAttribute", "ec2:DisableImage", "ec2:DisableImageDeprecation" ], "Resource": "arn:aws:ec2:*::image/*", "Condition": { "StringEquals": { "aws:ResourceTag/CreatedBy": "EC2 Image Builder" } } }, { "Sid": "EC2DeleteSnapshotPermission", "Effect": "Allow", "Action": "ec2:DeleteSnapshot", "Resource": "arn:aws:ec2:*::snapshot/*", "Condition": { "StringEquals": { "aws:ResourceTag/CreatedBy": "EC2 Image Builder" } } }, { "Sid": "EC2TagsPermission", "Effect": "Allow", "Action": [ "ec2:DeleteTags", "ec2:CreateTags" ], "Resource": [ "arn:aws:ec2:*::snapshot/*", "arn:aws:ec2:*::image/*" ], "Condition": { "StringEquals": { "aws:RequestTag/DeprecatedBy": "EC2 Image Builder", "aws:ResourceTag/CreatedBy": "EC2 Image Builder" }, "ForAllValues:StringEquals": { "aws:TagKeys": "DeprecatedBy" } } }, { "Sid": "ECRImagePermission", "Effect": "Allow", "Action": [ "ecr:BatchGetImage", "ecr:BatchDeleteImage" ], "Resource": "arn:aws:ecr:*:*:repository/*", "Condition": { "StringEquals": { "ecr:ResourceTag/LifecycleExecutionAccess": "EC2 Image Builder" } } }, { "Sid": "ImageBuilderEC2TagServicePermission", "Effect": "Allow", "Action": [ "ec2:DescribeImages", "tag:GetResources", "imagebuilder:DeleteImage" ], "Resource": "*" } ] }
EC2InstanceProfileForImageBuilder 策略
这些区域有:EC2InstanceProfileForImageBuilder策略授予EC2实例使用 Image Builder 所需的最低权限。但这不包括使用 Systems Manager 代理所需的权限。
权限详细信息
该策略包含以下权限:
-
CloudWatch 日志-授予创建 CloudWatch 日志并将其上传到名称以开头的任何日志组的访问权限
/aws/imagebuilder/
。 -
Image Builder – 授予访问权限,以获取任何 Image Builder 组件。
-
AWS KMS— 如果Image Builder组件是通过加密的,则有权解密该组件。 AWS KMS
-
Amazon S3 – 授予权限,以获取存储在名称以
ec2imagebuilder-
开头的 Amazon S3 存储桶中的对象。
策略示例
以下是示例 EC2InstanceProfileForImageBuilder 政策。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "imagebuilder:GetComponent" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "kms:Decrypt" ], "Resource": "*", "Condition": { "ForAnyValue:StringEquals": { "kms:EncryptionContextKeys": "aws:imagebuilder:arn", "aws:CalledVia": [ "imagebuilder.amazonaws.com" ] } } }, { "Effect": "Allow", "Action": [ "s3:GetObject" ], "Resource": "arn:aws:s3:::ec2imagebuilder*" }, { "Effect": "Allow", "Action": [ "logs:CreateLogStream", "logs:CreateLogGroup", "logs:PutLogEvents" ], "Resource": "arn:aws:logs:*:*:log-group:/aws/imagebuilder/*" } ] }
EC2InstanceProfileForImageBuilderECRContainerBuilds 策略
这些区域有:EC2InstanceProfileForImageBuilderECRContainerBuilds策略授予EC2实例在使用 Image Builder 构建 Docker 镜像,然后在亚马逊ECR容器存储库中注册和存储镜像所需的最低权限。但这不包括使用 Systems Manager 代理所需的权限。
权限详细信息
该策略包含以下权限:
-
CloudWatch 日志-授予创建 CloudWatch 日志并将其上传到名称以开头的任何日志组的访问权限
/aws/imagebuilder/
。 -
亚马逊 ECR — 授予亚马逊获ECR取、注册和存储容器镜像以及获取授权令牌的访问权限。
-
Image Builder – 授予访问权限,以获取 Image Builder 组件或容器配方。
-
AWS KMS— 如果Image Builder组件或容器配方是通过加密的,则授予解密该组件或容器配方的权限。 AWS KMS
-
Amazon S3 – 授予权限,以获取存储在名称以
ec2imagebuilder-
开头的 Amazon S3 存储桶中的对象。
策略示例
以下是示例 EC2InstanceProfileForImageBuilderECRContainerBuilds 政策。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "imagebuilder:GetComponent", "imagebuilder:GetContainerRecipe", "ecr:GetAuthorizationToken", "ecr:BatchGetImage", "ecr:InitiateLayerUpload", "ecr:UploadLayerPart", "ecr:CompleteLayerUpload", "ecr:BatchCheckLayerAvailability", "ecr:GetDownloadUrlForLayer", "ecr:PutImage" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "kms:Decrypt" ], "Resource": "*", "Condition": { "ForAnyValue:StringEquals": { "kms:EncryptionContextKeys": "aws:imagebuilder:arn", "aws:CalledVia": [ "imagebuilder.amazonaws.com" ] } } }, { "Effect": "Allow", "Action": [ "s3:GetObject" ], "Resource": "arn:aws:s3:::ec2imagebuilder*" }, { "Effect": "Allow", "Action": [ "logs:CreateLogStream", "logs:CreateLogGroup", "logs:PutLogEvents" ], "Resource": "arn:aws:logs:*:*:log-group:/aws/imagebuilder/*" } ] }
Image Builder 更新 AWS 了托管策略
本节提供有关自Image Builder AWS 托管策略开始跟踪这些更改以来对该服务所做的更新的信息。要获得有关此页面变更的自动提醒,请订阅 Image Builder 文档历史记录页面上的订阅RSS源。
更改 | 描述 | 日期 |
---|---|---|
Image Builder 添加了包含映像生命周期管理权限的新 |
2023 年 11 月 17 日 | |
AWSServiceRoleForImageBuilder – 更新到现有策略 |
Image Builder 对服务角色进行了以下更改,以提供实例放置支持。
|
2023 年 10 月 19 日 |
AWSServiceRoleForImageBuilder – 更新到现有策略 |
Image Builder 对服务角色进行了以下更改,以提供实例放置支持。
|
2023 年 9 月 28 日 |
AWSServiceRoleForImageBuilder – 更新到现有策略 |
Image Builder 对服务角色进行了以下更改,以允许 Image Builder 工作流程收集两个版本AMI和ECR容器映像版本的漏洞发现。新权限支持CVE检测和报告功能。
|
2023 年 3 月 30 日 |
AWSServiceRoleForImageBuilder – 更新到现有策略 |
Image Builder 对服务角色进行了以下更改:
|
2022 年 3 月 22 日 |
AWSServiceRoleForImageBuilder – 更新到现有策略 |
Image Builder 对服务角色进行了以下更改:
|
2022 年 2 月 21 日 |
AWSServiceRoleForImageBuilder – 更新到现有策略 |
Image Builder 对服务角色进行了以下更改:
|
2021 年 11 月 20 日 |
AWSServiceRoleForImageBuilder – 更新到现有策略 |
Image Builder 已添加新权限,以修复多个清单关联导致映像构建卡住的问题。 |
2021 年 8 月 11 日 |
AWSImageBuilderFullAccess – 更新到现有策略 |
Image Builder 对完全访问权限角色进行了以下更改:
|
2021 年 4 月 13 日 |
Image Builder 已开始跟踪更改 |
Image Builder 开始跟踪其 AWS 托管策略的更改。 |
2021 年 4 月 02 日 |