创建 VSS 快照的托管策略
Amazon 托管策略是 Amazon 为 Amazon 客户提供的独立策略。Amazon 托管策略旨在为常见使用案例授予权限。您无法更改 Amazon 托管策略中定义的权限。但是,您可以复制该策略并将其用作特定于您的使用案例的客户管理型策略的基准。
有关 Amazon 托管策略的更多信息,请参阅《IAM 用户指南》中的Amazon 托管策略。
要使用 AWSEC2VssSnapshotPolicy 策略(托管策略),您可以将其附加到 IAM 角色,该角色已附加到您的 EC2 Windows 实例。此策略允许 EC2 VSS 解决方案为亚马逊机器映像(AMI)和 EBS 快照创建和添加标签。要附加策略,请参阅 将启用 VSS 的快照策略附加到实例配置文件。
AWSEC2VssSnapshotPolicy 授予的权限
AWSEC2VssSnapshotPolicy 策略包含以下 Amazon EC2 权限:
-
ec2:CreateTags – 向 EBS 快照和 AMI 添加标签,以帮助识别和分类资源。
-
ec2:DescribeInstanceAttribute – 检索附加到目标实例的 EBS 卷和相应的块设备映射。
-
ec2:CreateSnapshots – 创建 EBS 卷的快照。
-
ec2:CreateImage – 从正在运行的 EC2 实例创建 AMI。
-
ec2:DescribeImages – 检索 EC2 AMI 和快照的信息。
-
ec2:DescribeSnapshots – 确定快照的创建时间和状态以验证应用程序一致性。
策略示例
以下是 AWSEC2VssSnapshotPolicy 策略的示例。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "DescribeInstanceInfo", "Effect": "Allow", "Action": [ "ec2:DescribeInstanceAttribute" ], "Resource": [ "arn:aws:ec2:*:*:instance/*" ], "Condition": { "StringLike": { "ec2:SourceInstanceARN": "*${ec2:InstanceId}" } } }, { "Sid": "CreateSnapshotsWithTag", "Effect": "Allow", "Action": [ "ec2:CreateSnapshots" ], "Resource": [ "arn:aws:ec2:*:*:snapshot/*" ], "Condition": { "StringLike": { "aws:RequestTag/AwsVssConfig": "*" } } }, { "Sid": "CreateSnapshotsAccessInstance", "Effect": "Allow", "Action": [ "ec2:CreateSnapshots" ], "Resource": [ "arn:aws:ec2:*:*:instance/*" ], "Condition": { "StringLike": { "ec2:SourceInstanceARN": "*${ec2:InstanceId}" } } }, { "Sid": "CreateSnapshotsAccessVolume", "Effect": "Allow", "Action": [ "ec2:CreateSnapshots" ], "Resource": [ "arn:aws:ec2:*:*:volume/*" ] }, { "Sid": "CreateImageWithTag", "Effect": "Allow", "Action": [ "ec2:CreateImage" ], "Resource": [ "arn:aws:ec2:*:*:snapshot/*", "arn:aws:ec2:*:*:image/*" ], "Condition": { "StringLike": { "aws:RequestTag/AwsVssConfig": "*" } } }, { "Sid": "CreateImageAccessInstance", "Effect": "Allow", "Action": [ "ec2:CreateImage" ], "Resource": [ "arn:aws:ec2:*:*:instance/*" ], "Condition": { "StringLike": { "ec2:SourceInstanceARN": "*${ec2:InstanceId}" } } }, { "Sid": "CreateTagsOnResourceCreation", "Effect": "Allow", "Action": "ec2:CreateTags", "Resource": [ "arn:aws:ec2:*:*:snapshot/*", "arn:aws:ec2:*:*:image/*" ], "Condition": { "StringEquals": { "ec2:CreateAction": [ "CreateImage", "CreateSnapshots" ] } } }, { "Sid": "CreateTagsAfterResourceCreation", "Effect": "Allow", "Action": "ec2:CreateTags", "Resource": [ "arn:aws:ec2:*:*:snapshot/*", "arn:aws:ec2:*:*:image/*" ], "Condition": { "StringLike": { "ec2:ResourceTag/AwsVssConfig": "*" }, "ForAllValues:StringEquals": { "aws:TagKeys": [ "AppConsistent", "Device" ] } } }, { "Sid": "DescribeImagesAndSnapshots", "Effect": "Allow", "Action": [ "ec2:DescribeImages", "ec2:DescribeSnapshots" ], "Resource": "*" } ] }
简化特定使用案例的权限(高级)
AWSEC2VssSnapshotPolicy
托管策略包括创建启用 VSS 的快照的所有方式的权限。您可创建仅包含所需权限的自定义策略。
使用案例:创建 AMI,使用案例:使用 Amazon Backup 服务
如果您只使用 CreateAmi
选项,或者仅通过 Amazon Backup 服务创建启用 VSS 的快照,则可以按如下方式简化策略语句。
-
忽略由以下语句 ID(SID)标识的策略语句:
-
CreateSnapshotsWithTag
-
CreateSnapshotsAccessInstance
-
CreateSnapshotsAccessVolume
-
-
按如下方式调整
CreateTagsOnResourceCreation
语句:-
从资源中删除
arn:aws:ec2:*:*:snapshot/*
。 -
从
ec2:CreateAction
条件中删除CreateSnapshots
。
-
-
调整
CreateTagsAfterResourceCreation
语句以从资源中删除arn:aws:ec2:*:*:snapshot/*
。 -
调整
DescribeImagesAndSnapshots
语句以从语句操作中删除ec2:DescribeSnapshots
。
使用案例:仅限快照
如果您不使用 CreateAmi
选项,则可以按如下方式简化策略语句。
-
忽略由以下语句 ID(SID)标识的策略语句:
-
CreateImageAccessInstance
-
CreateImageWithTag
-
-
按如下方式调整
CreateTagsOnResourceCreation
语句:-
从资源中删除
arn:aws:ec2:*:*:image/*
。 -
从
ec2:CreateAction
条件中删除CreateImage
。
-
-
调整
CreateTagsAfterResourceCreation
语句以从资源中删除arn:aws:ec2:*:*:image/*
。 -
调整
DescribeImagesAndSnapshots
语句以从语句操作中删除ec2:DescribeImages
。
注意
为确保您的自定义策略按预期执行,建议您定期查看托管策略并将其更新纳入其中。