管理“允许的 AMI”设置
您可以管理“允许的 AMI”设置 这些设置按区域和账户生效。
启用“允许的 AMI”
您可以启用“允许的 AMI”并指定“允许的 AMI”条件。我们建议您首先在审计模式中进行此操作,因为此模式可在不实际限制访问权限的情况下显示会受到筛选条件影响的具体 AMI。
- Console
-
启用“允许的 AMI”
-
通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/
。 -
在导航窗格中,选择控制面板。
-
在账户属性(右上角)下,选择允许的 AMI。
-
在允许的 AMI 选项卡上,选择管理。
-
对于允许的 AMI 设置,选择审计模式或启用。我们建议您首先在审计模式中对筛选条件进行测试,然后再返回此步骤启用“允许的 AMI”。
-
(可选)对于 AMI 条件,请输入 JSON 格式的条件。
-
选择更新。
-
- Amazon CLI
-
启用“允许的 AMI”
使用 enable-allowed-images-settings
命令。 aws ec2 enable-allowed-images-settings --allowed-images-settings-state enabled
要改为启用审计模式,请指定
audit-mode
,而不是enabled
。aws ec2 enable-allowed-images-settings --allowed-images-settings-state audit-mode
- PowerShell
-
启用“允许的 AMI”
使用 Enable-EC2AllowedImagesSetting cmdlet。
Enable-EC2AllowedImagesSetting -AllowedImagesSettingsState enabled
要改为启用审计模式,请指定
audit-mode
,而不是enabled
。Enable-EC2AllowedImagesSetting -AllowedImagesSettingsState audit-mode
设置“允许的 AMI”条件
启用“允许的 AMI”后,您可以设置或替换“允许的 AMI”条件。
有关正确的配置和有效值,请参阅“允许的 AMI”标准的 JSON 配置。
- Console
-
设置“允许的 AMI”条件
通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/
。 -
在导航窗格中,选择控制面板。
-
在账户属性(右上角)下,选择允许的 AMI。
-
在允许的 AMI 选项卡上,选择管理。
-
对于 AMI 条件,请输入 JSON 格式的条件。
-
选择更新。
- Amazon CLI
-
设置“允许的 AMI”条件
按如下所示使用 replace-image-criteria-in-allowed-images-settings
命令,允许来自 Amazon 和指定账户的 AMI。 aws ec2 replace-image-criteria-in-allowed-images-settings \ --image-criteria ImageProviders=amazon,
123456789012
- PowerShell
-
设置“允许的 AMI”条件
按如下所示使用 Set-EC2ImageCriteriaInAllowedImagesSetting cmdlet,允许来自 Amazon 和指定账户的 AMI。
$imageCriteria = New-Object Amazon.EC2.Model.ImageCriterionRequest $imageCriteria.ImageProviders = @("amazon", "123456789012") Set-EC2ImageCriteriaInAllowedImagesSetting -ImageCriterion $imageCriteria
禁用“允许的 AMI”
您可以按如下所示禁用“允许的 AMI”。
- Console
-
禁用“允许的 AMI”
-
通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/
。 -
在导航窗格中,选择控制面板。
-
在账户属性(右上角)下,选择允许的 AMI。
-
在允许的 AMI 选项卡上,选择管理。
-
对于“允许的 AMI”设置,选择禁用。
-
选择更新。
-
- Amazon CLI
-
禁用“允许的 AMI”
使用 disable-allowed-images-settings
命令。 aws ec2 disable-allowed-images-settings
- PowerShell
-
禁用“允许的 AMI”
使用 Disable-EC2AllowedImagesSetting cmdlet。
Disable-EC2AllowedImagesSetting
获取“允许的 AMI”条件
您可以获取当前“允许的 AMI”设置状态和“允许的 AMI”条件。
- Console
-
获取“允许的 AMI”状态和条件
通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/
。 -
在导航窗格中,选择控制面板。
-
在账户属性(右上角)下,选择允许的 AMI。
-
在允许的 AMI 选项卡上,将允许的 AMI 设置为启用、禁用或审计模式。
-
如果“允许的 AMI”设置状态为启用或审计模式,则 AMI 条件将以 JSON 格式显示 AMI 条件。
- Amazon CLI
-
获取“允许的 AMI”状态和条件
使用 get-allowed-images-settings
命令。 aws ec2 get-allowed-images-settings
在以下示例输出中,状态为
audit-mode
,映像提供者列表包含两个提供者(amazon
与指定的账户)。{ "State": "audit-mode", "ImageCriteria": [ { "ImageProviders": [ "amazon", "123456789012" ] } ], "ManagedBy": "account" }
- PowerShell
-
获取“允许的 AMI”状态和条件
使用 Get-EC2AllowedImagesSetting cmdlet。
Get-EC2AllowedImagesSetting | ` Select State, ManagedBy, @{Name='ImageProviders'; Expression={($_.ImageCriteria.ImageProviders)}}
在以下示例输出中,状态为
audit-mode
,映像提供者列表包含两个提供者(amazon
与指定的账户)。State ManagedBy ImageProviders ----- --------- -------------- audit-mode account {amazon, 123456789012}
查找允许的 AMI
您可以查找当前“允许的 AMI”条件允许或不允许的 AMI。
注意
“允许的 AMI”设置必须为“审计模式”。
- Console
-
检查 AMI 是否符合“允许的 AMI”条件
-
通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/
。 -
在导航窗格中,选择 AMI。
-
选择 AMI。
-
在详细信息选项卡(如果选中了复选框)或摘要区域(如果选择了 AMI ID)中,找到允许的镜像字段。
-
是 – 此 AMI 符合“允许的 AMI”条件。启用“允许的 AMI”后,您账户中的用户将可使用此 AMI。
-
否 – 此 AMI 不符合“允许的 AMI”条件。
-
-
在导航窗格中,选择 AMI Catalog(AMI 目录)。
标记为不允许的 AMI 表示 AMI 不符合“允许的 AMI”标准。禁用“允许的 AMI”时,此 AMI 将对您账户中的用户不可见且不可用。
-
- Amazon CLI
-
检查 AMI 是否符合“允许的 AMI”条件
使用 describe-images
命令。 aws ec2 describe-images \ --image-id
ami-0abcdef1234567890
\ --query Images[].ImageAllowed \ --output text下面是示例输出。
True
查找符合“允许的 AMI”条件的 AMI
使用 describe-images
命令。 aws ec2 describe-images \ --filters "Name=image-allowed,Values=true" \ --max-items 10 \ --query Images[].ImageId
下面是示例输出。
ami-000eaaa8be2fd162a ami-000f82db25e50de8e ami-000fc21eb34c7a9a6 ami-0010b876f1287d7be ami-0010b929226fe8eba ami-0010957836340aead ami-00112c992a47ba871 ami-00111759e194abcc1 ami-001112565ffcafa5e ami-0011e45aaee9fba88
- PowerShell
-
检查 AMI 是否符合“允许的 AMI”条件
使用 Get-EC2Image cmdlet。
(Get-EC2Image -ImageId
ami-0abcdef1234567890
).ImageAllowed下面是示例输出。
True
查找符合“允许的 AMI”条件的 AMI
使用 Get-EC2Image cmdlet。
Get-EC2Image ` -Filter @{Name="image-allows";Values="true"} ` -MaxResult 10 | ` Select ImageId
下面是示例输出。
ami-000eaaa8be2fd162a ami-000f82db25e50de8e ami-000fc21eb34c7a9a6 ami-0010b876f1287d7be ami-0010b929226fe8eba ami-0010957836340aead ami-00112c992a47ba871 ami-00111759e194abcc1 ami-001112565ffcafa5e ami-0011e45aaee9fba88
查找利用不允许的 AMI 启动的实例
您可以识别使用不符合“允许的 AMI”条件的 AMI 启动的实例。
- Console
-
检查某个实例是否是使用不允许的 AMI 启动的
-
通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/
。 -
在导航窗格中,选择实例。
-
选择实例。
-
在详细信息选项卡的实例详细信息下,找到允许的映像字段。
-
是 – 此 AMI 符合“允许的 AMI”条件。
-
否 – 此 AMI 不符合“允许的 AMI”条件。
-
-
- Amazon CLI
-
查找使用不允许的 AMI 启动的实例
使用 describe-instance-image-metadata
命令和 image-allowed
筛选条件。aws ec2 describe-instance-image-metadata \ --filters "Name=image-allowed,Values=false" \ --query "InstanceImageMetadata[*].[InstanceId,ImageMetadata.ImageId]" \ --output table
下面是示例输出。
-------------------------------------------------- | DescribeInstanceImageMetadata | +----------------------+-------------------------+ | i-08fd74f3f1595fdbd | ami-09245d5773578a1d6 | | i-0b1bf24fd4f297ab9 | ami-07cccf2bd80ed467f | | i-026a2eb590b4f7234 | ami-0c0ec0a3a3a4c34c0 | | i-006a6a4e8870c828f | ami-0a70b9d193ae8a799 | | i-0781e91cfeca3179d | ami-00c257e12d6828491 | | i-02b631e2a6ae7c2d9 | ami-0bfddf4206f1fa7b9 | +----------------------+-------------------------+
- PowerShell
-
查找使用不允许的 AMI 启动的实例
使用 Get-EC2InstanceImageMetadata cmdlet。
Get-EC2InstanceImageMetadata ` -Filter @{Name="image-allowed";Values="false"} | ` Select InstanceId, @{Name='ImageId'; Expression={($_.ImageMetadata.ImageId)}}
下面是示例输出。
InstanceId ImageId ---------- ------- i-08fd74f3f1595fdbd ami-09245d5773578a1d6 i-0b1bf24fd4f297ab9 ami-07cccf2bd80ed467f i-026a2eb590b4f7234 ami-0c0ec0a3a3a4c34c0 i-006a6a4e8870c828f ami-0a70b9d193ae8a799 i-0781e91cfeca3179d ami-00c257e12d6828491 i-02b631e2a6ae7c2d9 ami-0bfddf4206f1fa7b9
- Amazon Config
-
您可以添加 ec2-instance-launched-with-allowed-ami Amazon Config 规则,根据自己的要求对其进行配置,然后用来评估您的实例。
有关更多信息,请参阅 Amazon Config 开发人员指南中的添加 Amazon Config 规则和 ec2-instance-launched-with-allowed-ami。