

# 許可された AMI の設定を管理する
<a name="manage-settings-allowed-amis"></a>

許可された AMI の設定を管理できます。これらの設定は、アカウントごとに、リージョン別で行われます。

**Topics**
+ [許可されたAMIを有効にする](#enable-allowed-amis-criteria)
+ [許可された AMI 基準を設定する](#update-allowed-amis-criteria)
+ [許可されたAMIを無効にする](#disable-allowed-amis-criteria)
+ [許可された AMI 基準を取得する](#identify-allowed-amis-state-and-criteria)
+ [許可されている AMI を見つける](#identify-amis-that-meet-allowed-amis-criteria)
+ [許可されていない AMI から起動したインスタンスを見つける](#identify-instances-with-allowed-AMIs)

## 許可されたAMIを有効にする
<a name="enable-allowed-amis-criteria"></a>

許可された AMI を有効にし、その基準を指定することができます。監査モードから開始することをお勧めします。監査モードでは、その基準の影響を受ける AMI を、アクセスを実際に制限することなく確認できます。

------
#### [ Console ]

**許可されたAMIを有効にするには**

1. Amazon EC2 コンソールの [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) を開いてください。

1. ナビゲーションペインで、**ダッシュボード**を選択してください。

1. **[アカウント属性]** カードの **[設定]** で、**[許可されている AMI]** を選択します。

1. **[許可された AMI]** タブで、**[管理]** を選択します。

1. **[許可された AMI 設定]** で、**[監査モード]** または **[有効]** を選択します。監査モードで開始し、基準をテストした後に、このステップに戻って許可された AMI を有効にするのがお勧めです。

1. (オプション) **[AMI 基準]** には、JSON 形式の基準を入力します。

1. **[Update]** (更新) を選択してください。

------
#### [ AWS CLI ]

**許可されたAMIを有効にするには**  
[enable-allowed-images-settings](https://docs.aws.amazon.com/cli/latest/reference/ec2/enable-allowed-images-settings.html) コマンドを使用します。

```
aws ec2 enable-allowed-images-settings --allowed-images-settings-state enabled
```

代わりに監査モードを有効にする場合は、`enabled` ではなく `audit-mode` を指定します。

```
aws ec2 enable-allowed-images-settings --allowed-images-settings-state audit-mode
```

------
#### [ PowerShell ]

**許可されたAMIを有効にするには**  
[Enable-EC2AllowedImagesSetting](https://docs.aws.amazon.com/powershell/latest/reference/items/Enable-EC2AllowedImagesSetting.html) コマンドレットを使用します。

```
Enable-EC2AllowedImagesSetting -AllowedImagesSettingsState enabled
```

代わりに監査モードを有効にする場合は、`enabled` ではなく `audit-mode` を指定します。

```
Enable-EC2AllowedImagesSetting -AllowedImagesSettingsState audit-mode
```

------

## 許可された AMI 基準を設定する
<a name="update-allowed-amis-criteria"></a>

許可された AMI を有効にすると、許可された AMI 基準の設定または置き換えが可能になります。

正しい設定と有効な値については、「[許可された AMI の設定](ec2-allowed-amis.md#allowed-amis-json-configuration)」と「[許可された AMI のパラメータ](ec2-allowed-amis.md#allowed-amis-criteria)」を参照してください。

------
#### [ Console ]

**許可された AMI 基準を設定するには**

1. Amazon EC2 コンソールの [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) を開いてください。

1. ナビゲーションペインで、**ダッシュボード**を選択してください。

1. **[アカウント属性]** カードの **[設定]** で、**[許可されている AMI]** を選択します。

1. **[許可された AMI]** タブで、**[管理]** を選択します。

1. **[AMI 基準]** に、基準を JSON 形式で入力します。

1. **[Update]** (更新) を選択してください。

------
#### [ AWS CLI ]

**許可された AMI 基準を設定するには**  
[replace-image-criteria-in-allowed-images-settings](https://docs.aws.amazon.com/cli/latest/reference/ec2/replace-image-criteria-in-allowed-images-settings.html) コマンドを使用して、許可された AMI の条件を含む JSON ファイルを指定します。

```
aws ec2 replace-image-criteria-in-allowed-images-settings --cli-input-json file://{{file_name.json}}
```

------
#### [ PowerShell ]

**許可された AMI 基準を設定するには**  
[Set-EC2ImageCriteriaInAllowedImagesSetting](https://docs.aws.amazon.com/powershell/latest/reference/items/Set-EC2ImageCriteriaInAllowedImagesSetting.html) コマンドレットを使用して、許可された AMI の条件を含む JSON ファイルを指定します。

```
$imageCriteria = Get-Content -Path .\{{file_name.json}} | ConvertFrom-Json
Set-EC2ImageCriteriaInAllowedImagesSetting -ImageCriterion $imageCriteria
```

------

## 許可されたAMIを無効にする
<a name="disable-allowed-amis-criteria"></a>

許可された AMI は、次の手順で無効にすることができます。

------
#### [ Console ]

**許可されたAMIを無効にするには**

1. Amazon EC2 コンソールの [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) を開いてください。

1. ナビゲーションペインで、**ダッシュボード**を選択してください。

1. **[アカウント属性]** カードの **[設定]** で、**[許可されている AMI]** を選択します。

1. **[許可された AMI]** タブで、**[管理]** を選択します。

1. **許可された AMI設定で**、**無効**を選択してください。

1. **[Update]** (更新) を選択してください。

------
#### [ AWS CLI ]

**許可されたAMIを無効にするには**  
[disable-allowed-images-settings](https://docs.aws.amazon.com/cli/latest/reference/ec2/disable-allowed-images-settings.html) コマンドを使用します。

```
aws ec2 disable-allowed-images-settings
```

------
#### [ PowerShell ]

**許可されたAMIを無効にするには**  
[Disable-EC2AllowedImagesSetting](https://docs.aws.amazon.com/powershell/latest/reference/items/Disable-EC2AllowedImagesSetting.html) コマンドレットを使用します。

```
Disable-EC2AllowedImagesSetting
```

------

## 許可された AMI 基準を取得する
<a name="identify-allowed-amis-state-and-criteria"></a>

許可された AMI 設定と、許可された AMI 基準の現在の状態を取得できます。

------
#### [ Console ]

**許可された AMI の状態と基準を取得するには**

1. Amazon EC2 コンソールの [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) を開いてください。

1. ナビゲーションペインで、**ダッシュボード**を選択してください。

1. **[アカウント属性]** カードの **[設定]** で、**[許可されている AMI]** を選択します。

1. **[許可された AMI]** タブでは、**[許可された AMI 設定]** が **[有効]**、**[無効]**、**[監査モード]** のいずれかに設定されています。

1. 許可された AMI の状態が **[有効]** または **[監査モード]** である場合、**[AMI 基準]** に、AMI 基準が JSON 形式で表示されます。

------
#### [ AWS CLI ]

**許可された AMI の状態と基準を取得するには**  
[get-allowed-images-settings](https://docs.aws.amazon.com/cli/latest/reference/ec2/get-allowed-images-settings.html) コマンドを使用します。

```
aws ec2 get-allowed-images-settings
```

次の出力例では、状態は `audit-mode` で、イメージの条件がアカウントで設定されています。

```
{
    "State": "audit-mode",
    "ImageCriteria": [
        {
            "MarketplaceProductCodes": [
                "abcdefg1234567890"
            ]
        },
        {
            "ImageProviders": [
                "123456789012",
                "123456789013"
            ],
            "CreationDateCondition": {
                "MaximumDaysSinceCreated": 300
            }
        },
        {
            "ImageProviders": [
                "123456789014"
            ],
            "ImageNames": [
                "golden-ami-*"
            ]
        },
        {
            "ImageProviders": [
                "amazon"
            ],
            "DeprecationTimeCondition": {
                "MaximumDaysSinceDeprecated": 0
            }
        }
    ],
    "ManagedBy": "account"
}
```

------
#### [ PowerShell ]

**許可された AMI の状態と基準を取得するには**  
[Get-EC2AllowedImagesSetting](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2AllowedImagesSetting.html) コマンドレットを使用します。

```
Get-EC2AllowedImagesSetting | Select-Object `
    State, `
    ManagedBy, `
    @{Name='ImageProviders'; Expression={($_.ImageCriteria.ImageProviders)}}, `
    @{Name='MarketplaceProductCodes'; Expression={($_.ImageCriteria.MarketplaceProductCodes)}}, `
    @{Name='ImageNames'; Expression={($_.ImageCriteria.ImageNames)}}, `
    @{Name='MaximumDaysSinceCreated'; Expression={($_.ImageCriteria.CreationDateCondition.MaximumDaysSinceCreated)}}, `
    @{Name='MaximumDaysSinceDeprecated'; Expression={($_.ImageCriteria.DeprecationTimeCondition.MaximumDaysSinceDeprecated)}}
```

次の出力例では、状態は `audit-mode` で、イメージの条件がアカウントで設定されています。

```
State      : audit-mode
ManagedBy  : account
ImageProviders            : {123456789012, 123456789013, 123456789014, amazon}
MarketplaceProductCodes   : {abcdefg1234567890}
ImageNames                : {golden-ami-*}
MaximumDaysSinceCreated  : 300
MaximumDaysSinceDeprecated: 0
```

------

## 許可されている AMI を見つける
<a name="identify-amis-that-meet-allowed-amis-criteria"></a>

現在の許可された AMI 基準で許可されている、または許可されていない AMI を見つけることができます。

**注記**  
許可された AMI は監査モードになっている必要があります。

------
#### [ Console ]

**AMI が許可された AMI 基準を満たしているかどうかを確認するには**

1. Amazon EC2 コンソールの [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) を開いてください。

1. ナビゲーションペインで **[AMI]** を選択してください。

1. AMI を選択します。

1. **詳細**タブ (チェックボックスを選択した場合) または概要エリア (AMI ID を選択した場合) で**、許可されたイメージ**フィールドを見つけます。
   + **[はい]** – AMI は許可された AMI 基準を満たしています。この AMI は、ユーザーが許可された AMI を有効にした後に、そのユーザーのアカウントに含まれるユーザーが使用できます。
   + **[いいえ]** – AMI は許可された AMI 基準を満たしていません。

1. ナビゲーションペインで **[AMI カタログ]** を選択してください。

   未 **許可** とマークされた AMI は、許可された AMI の基準を満たしていない AMI を示します。許可された AMI が有効になっている場合、この AMI はアカウント内のユーザーには表示または使用できなくなります。

------
#### [ AWS CLI ]

**AMI が許可された AMI 基準を満たしているかどうかを確認するには**  
[describe-images](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-images.html) コマンドを使用します。

```
aws ec2 describe-images \
    --image-id {{ami-0abcdef1234567890}} \
    --query Images[].ImageAllowed \
    --output text
```

出力例を次に示します。

```
True
```

**許可された AMI 基準を満たす AMI を見つけるには**  
[describe-images](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-images.html) コマンドを使用します。

```
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](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2Image.html) コマンドレットを使用します。

```
(Get-EC2Image -ImageId {{ami-0abcdef1234567890}}).ImageAllowed
```

出力例を次に示します。

```
True
```

**許可された AMI 基準を満たす AMI を見つけるには**  
[Get-EC2Image](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2Image.html) コマンドレットを使用します。

```
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 から起動したインスタンスを見つける
<a name="identify-instances-with-allowed-AMIs"></a>

許可された AMI 基準を満たしていない AMI を使って起動したインスタンスを、特定することができます。

------
#### [ Console ]

**インスタンスが、許可されていない AMI を使って起動したかどうかを確認するには**

1. Amazon EC2 コンソールの [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) を開いてください。

1. ナビゲーションペインで、[**インスタンス**] を選択してください。

1. インスタンスを選択します。

1. **[詳細]** タブの **[インスタンスの詳細]** で、**[許可されたイメージ]** 見つけます。
   + **はい** – AMI は許可された AMI 基準を満たしています。
   + **いいえ** – AMI は許可された AMI 基準を満たしていません。

------
#### [ AWS CLI ]

**許可されていない AMI を使って起動したインスタンスを見つけるには**  
[describe-instance-image-metadata](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instance-image-metadata.html) コマンドを `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](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2InstanceImageMetadata.html) コマンドレットを使用します。

```
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
```

------
#### [ AWS Config ]

**ec2-instance-launched-with-allowed-ami** AWS Config ルールを追加し、それを要件に合わせて設定してから、それを使用してインスタンスを評価します。

詳細については、「*AWS Config デベロッパーガイド*」の「[Adding AWS Config Rules](https://docs.aws.amazon.com/config/latest/developerguide/evaluate-config_add-rules.html)」および「[ec2-instance-launched-with-allowed-ami](https://docs.aws.amazon.com/config/latest/developerguide/ec2-instance-launched-with-allowed-ami.html)」を参照してください。

------