AMI のパブリックアクセスのブロック設定を管理する
AMI を公開して共有できるかどうかを制御する AMI 用のパブリックアクセスのブロック設定を管理できます。Amazon EC2 コンソールまたは AWS CLI を使用して、AMI の現在のパブリックアクセスのブロック状態を有効化、無効化、または表示できます。
AMI のパブリックアクセスのブロック状態を表示する
AMI のパブリックアクセスのブロック状態を表示すると、AMI のパブリック共有がアカウントでブロックされているかどうかを確認できます。AMI のパブリック共有がブロックされているかどうかを確認するには、それぞれの AWS リージョン で状態を確認する必要があります。
必要なアクセス許可
AMI の現在のパブリックアクセスのブロック設定を取得するには、GetImageBlockPublicAccessState
IAM アクセス許可が必要です。
- Console
-
指定したリージョンで AMI のパブリックアクセスのブロック状態を表示するには
Amazon EC2 コンソールの https://console.aws.amazon.com/ec2/を開いてください。
-
画面上部のナビゲーションバーで、AMI のパブリックアクセスのブロック状態を表示するリージョンを選択してください。
-
ダッシュボードが表示されていない場合は、ナビゲーションペインで [EC2 ダッシュボード] を選択してください。
-
[アカウントの属性] で [データ保護とセキュリティ] を選択してください。
-
[AMI のパブリックアクセスをブロック] で [パブリックアクセス] フィールドを確認します。値は [新しいパブリック共有をブロック中] または [新しいパブリック共有が可能] です。
- AWS CLI
-
AMI のパブリックアクセスのブロック状態を取得するには
get-image-block-public-access-state コマンドを使用します。この値は block-new-sharing
または unblocked
のどちらかです。
例: 特定のリージョンの場合
aws ec2 get-image-block-public-access-state --region us-east-1
ManagedBy
フィールドは、設定を構成したエンティティを示します。この例では、account
は設定がアカウントで直接設定されたことを示します。declarative-policy
という値は、その設定が宣言的ポリシーによって構成されたことを意味します。詳細については、「AWS OrganizationsIAM ユーザーガイド」の「 管理されたポリシー」を参照してください。
{
"ImageBlockPublicAccessState": "block-new-sharing",
"ManagedBy": "account"
}
例: アカウントの全リージョンの場合
echo -e "Region \t Public Access State" ; \
echo -e "-------------- \t ----------------------" ; \
for region in $(
aws ec2 describe-regions \
--region us-east-1 \
--query "Regions[*].[RegionName]" \
--output text
);
do (output=$(
aws ec2 get-image-block-public-access-state \
--region $region \
--output text)
echo -e "$region \t $output"
);
done
以下は出力例です。
Region Public Access State
-------------- ----------------------
ap-south-1 block-new-sharing
eu-north-1 unblocked
eu-west-3 block-new-sharing
...
- PowerShell
-
AMI のパブリックアクセスのブロック状態を取得するには
Get-EC2ImageBlockPublicAccessState コマンドレットを使用します。この値は block-new-sharing
または unblocked
のどちらかです。
例: 特定のリージョンの場合
Get-EC2ImageBlockPublicAccessState -Region us-east-1
以下は出力例です。
block-new-sharing
例: アカウントの全リージョンの場合
(Get-EC2Region).RegionName | `
ForEach-Object {
[PSCustomObject]@{
Region = $_
PublicAccessState = (Get-EC2ImageBlockPublicAccessState -Region $_)
}
} | `
Format-Table -AutoSize
以下は出力例です。
Region PublicAccessState
------ -----------------
ap-south-1 block-new-sharing
eu-north-1 block-new-sharing
eu-west-3 block-new-sharing
...
AMI のパブリックアクセスのブロックを有効にする
AMI がパブリックに共有されないようにするには、AMI のパブリックアクセスのブロックを有効にします。AMI がパブリックに共有されないようにする AWS リージョン ごとに、AMI のパブリックアクセスのブロックを有効にする必要があります。既にパブリック AMI がある場合は、引き続き公開されます。
必要なアクセス許可
AMI のパブリックアクセスのブロック設定を有効にするには、EnableImageBlockPublicAccess
IAM アクセス許可が必要です。
- Console
-
指定したリージョンで AMI のパブリックアクセスのブロックを有効にするには
Amazon EC2 コンソールの https://console.aws.amazon.com/ec2/を開いてください。
-
画面上部のナビゲーションバーで、AMI のパブリックアクセスをブロックするリージョンを選択してください。
-
ダッシュボードが表示されていない場合は、ナビゲーションペインで [EC2 ダッシュボード] を選択してください。
-
[アカウントの属性] で [データ保護とセキュリティ] を選択してください。
-
[AMI のパブリックアクセスをブロック] で [管理] を選択してください。
-
[新しいパブリック共有をブロック] のチェックボックスをオンにしたら、[更新] を選択してください。
- AWS CLI
-
AMI のパブリックアクセスのブロックを有効にするには
enable-image-block-public-access コマンドを使用します。
例: 特定のリージョンの場合
aws ec2 enable-image-block-public-access \
--region us-east-1
\
--image-block-public-access-state block-new-sharing
以下は出力例です。
{
"ImageBlockPublicAccessState": "block-new-sharing"
}
例: アカウントの全リージョンの場合
echo -e "Region \t Public Access State" ; \
echo -e "-------------- \t ----------------------" ; \
for region in $(
aws ec2 describe-regions \
--region us-east-1 \
--query "Regions[*].[RegionName]" \
--output text
);
do (output=$(
aws ec2 enable-image-block-public-access \
--region $region \
--image-block-public-access-state block-new-sharing \
--output text)
echo -e "$region \t $output"
);
done
以下は出力例です。
Region Public Access State
-------------- ----------------------
ap-south-1 block-new-sharing
eu-north-1 block-new-sharing
eu-west-3 block-new-sharing
...
- PowerShell
-
AMI のパブリックアクセスのブロックを有効にするには
Enable-EC2ImageBlockPublicAccess コマンドを使用します。
例: 特定のリージョンの場合
Enable-EC2ImageBlockPublicAccess `
-Region us-east-1
`
-ImageBlockPublicAccessState block-new-sharing
以下は出力例です。
Value
-----
block-new-sharing
例: アカウントの全リージョンの場合
(Get-EC2Region).RegionName | `
ForEach-Object {
[PSCustomObject]@{
Region = $_
PublicAccessState = (
Enable-EC2ImageBlockPublicAccess `
-Region $_ `
-ImageBlockPublicAccessState block-new-sharing)
}
} | `
Format-Table -AutoSize
以下は出力例です。
Region PublicAccessState
------ -----------------
ap-south-1 block-new-sharing
eu-north-1 block-new-sharing
eu-west-3 block-new-sharing
...
AMI のパブリックアクセスのブロックを無効にする
アカウント内のユーザーが AMI をパブリックに共有できるようにするには、アカウントレベルでパブリックアクセスのブロックを無効にします。AMI がパブリックに共有できるようにする AWS リージョン ごとに、AMI のパブリックアクセスのブロックを無効にする必要があります。
必要なアクセス許可
AMI のパブリックアクセスのブロック設定を無効にするには、DisableImageBlockPublicAccess
IAM アクセス許可が必要です。
- Console
-
指定したリージョンで AMI のパブリックアクセスのブロックを無効にするには
Amazon EC2 コンソールの https://console.aws.amazon.com/ec2/を開いてください。
-
画面上部のナビゲーションバーで、AMI のパブリックアクセスのブロックを無効にするリージョンを選択してください。
-
ダッシュボードが表示されていない場合は、ナビゲーションペインで [EC2 ダッシュボード] を選択してください。
-
[アカウントの属性] で [データ保護とセキュリティ] を選択してください。
-
[AMI のパブリックアクセスをブロック] で [管理] を選択してください。
-
[新しいパブリック共有のブロック] のチェックボックスをオフにしたら、[更新] を選択してください。
-
確認を求められたら、「confirm
」と入力してから、[パブリック共有の許可] を選択してください。
- AWS CLI
-
AMI のパブリックアクセスのブロックを無効にするには
disable-image-block-public-access コマンドを使用します。
例: 特定のリージョンの場合
aws ec2 disable-image-block-public-access --region us-east-1
以下は出力例です。
{
"ImageBlockPublicAccessState": "unblocked"
}
例: アカウントの全リージョンの場合
echo -e "Region \t Public Access State" ; \
echo -e "-------------- \t ----------------------" ; \
for region in $(
aws ec2 describe-regions \
--region us-east-1 \
--query "Regions[*].[RegionName]" \
--output text
);
do (output=$(
aws ec2 disable-image-block-public-access \
--region $region \
--output text)
echo -e "$region \t $output"
);
done
以下は出力例です。
Region Public Access State
-------------- ----------------------
ap-south-1 unblocked
eu-north-1 unblocked
eu-west-3 unblocked
...
- PowerShell
-
AMI のパブリックアクセスのブロックを無効にするには
Disable-EC2ImageBlockPublicAccess コマンドレットを使用します。
例: 特定のリージョンの場合
Disable-EC2ImageBlockPublicAccess -Region us-east-1
以下は出力例です。
Value
-----
unblocked
例: アカウントの全リージョンの場合
(Get-EC2Region).RegionName | `
ForEach-Object {
[PSCustomObject]@{
Region = $_
PublicAccessState = (Disable-EC2ImageBlockPublicAccess -Region $_)
}
} | `
Format-Table -AutoSize
以下は出力例です。
Region PublicAccessState
------ -----------------
ap-south-1 unblocked
eu-north-1 unblocked
eu-west-3 unblocked
...