AWS CLI で全てのリージョンにおいて SSM ドキュメントのパブリック共有をブロックする設定に変更する
AWS Systems Manager (SSM) ドキュメントの設定にはパブリック共有をブロックする設定があります。2025年7月15日には、AWS Security Hub CSPM にパブリック共有をブロックする設定になっているか確認するコンソールも追加されました。
マネジメントコンソール上の設定画面です。
パブリック共有をブロックする設定はリージョン単位で設定する必要があります。
本ブログでは、SSM ドキュメントの「パブリック共有設定をブロック」設定をすべてのリージョンで一発で「オン(パブリック共有をブロックする設定値)」にする AWS CLI コマンドを紹介します。また、特定のリージョンのみ設定する例も合わせて紹介します。
全てのリージョンでパブリック共有をブロックする設定に変更
有効な全てのリージョンで SSM ドキュメントのパブリック共有をブロックする設定に変更する AWS CLI のコマンド例は下記です。/ssm/documents/console/public-sharing-permission
を Disable
にすることが、パブリック共有をブロックする設定です。
aws ec2 describe-regions --query "Regions[].[RegionName]" --output text \
| while read region; do
echo "### Update service setting in ${region}"
aws ssm update-service-setting \
--setting-id /ssm/documents/console/public-sharing-permission \
--setting-value Disable \
--region ${region}
done
update-service-setting
コマンドの詳細は下記ドキュメントで確認できます。
次に、現在の「パブリック共有設定をブロック」設定の内容を確認するコマンド例です。
query オプションで出力結果を設定値のみに絞っています。
aws ec2 describe-regions --query "Regions[].[RegionName]" --output text \
| while read region; do
echo "### Get service setting in ${region}"
aws ssm get-service-setting \
--setting-id /ssm/documents/console/public-sharing-permission \
--query ServiceSetting.SettingValue \
--output text \
--region ${region}
done
update-service-setting
コマンドの詳細は下記ドキュメントで確認できます。
コマンドの実行結果例を記載します。
まずは、パブリック共有をブロックする設定に変更するコマンド例の実行結果です。
$ aws ec2 describe-regions --query "Regions[].[RegionName]" --output text \
> | while read region; do
> echo "### Update service setting in ${region}"
> aws ssm update-service-setting \
> --setting-id /ssm/documents/console/public-sharing-permission \
> --setting-value Disable \
> --region ${region}
> done
### Update service setting in ap-south-1
### Update service setting in eu-north-1
### Update service setting in eu-west-3
### Update service setting in eu-west-2
### Update service setting in eu-west-1
### Update service setting in ap-northeast-3
### Update service setting in ap-northeast-2
### Update service setting in ap-northeast-1
### Update service setting in ca-central-1
### Update service setting in sa-east-1
### Update service setting in ap-southeast-1
### Update service setting in ap-southeast-2
### Update service setting in eu-central-1
### Update service setting in us-east-1
### Update service setting in us-east-2
### Update service setting in us-west-1
### Update service setting in us-west-2
次に、現在の「パブリック共有設定をブロック」設定の内容を確認するコマンド例の実行結果です。
$ aws ec2 describe-regions --query "Regions[].[RegionName]" --output text \
> | while read region; do
> echo "### Get service setting in ${region}"
> aws ssm get-service-setting \
> --setting-id /ssm/documents/console/public-sharing-permission \
> --query ServiceSetting.SettingValue \
> --output text \
> --region ${region}
> done
### Get service setting in ap-south-1
Disable
### Get service setting in eu-north-1
Disable
### Get service setting in eu-west-3
Disable
### Get service setting in eu-west-2
Disable
### Get service setting in eu-west-1
Disable
### Get service setting in ap-northeast-3
Disable
### Get service setting in ap-northeast-2
Disable
### Get service setting in ap-northeast-1
Disable
### Get service setting in ca-central-1
Disable
### Get service setting in sa-east-1
Disable
### Get service setting in ap-southeast-1
Disable
### Get service setting in ap-southeast-2
Disable
### Get service setting in eu-central-1
Disable
### Get service setting in us-east-1
Disable
### Get service setting in us-east-2
Disable
### Get service setting in us-west-1
Disable
### Get service setting in us-west-2
Disable
Disable
状態をマネジメントコンソールで確認したところ、ブロックが「オン」になっている状態でした。
特定のリージョンでパブリック共有をブロックする設定に変更
リージョン制限などを導入しており、特定の複数リージョンのみ有効化したい場合のコマンド例は下記です。次の 3 つのリージョンを対象にしています。
- us-east-1
- ap-northeast-1
- ap-northeast-3
regions=("us-east-1" "ap-northeast-1" "ap-northeast-3")
for region in "${regions[@]}"; do
echo "### Update service setting in ${region}"
aws ssm update-service-setting \
--setting-id /ssm/documents/console/public-sharing-permission \
--setting-value Disable \
--region ${region}
done
設定の確認コマンド例は下記です。
regions=("us-east-1" "ap-northeast-1" "ap-northeast-3")
for region in "${regions[@]}"; do
echo "### Get service setting in ${region}"
aws ssm get-service-setting \
--setting-id /ssm/documents/console/public-sharing-permission \
--query ServiceSetting.SettingValue \
--output text \
--region ${region}
done
さいごに
AWS Systems Manager (SSM) ドキュメントの「パブリック共有をブロック」設定を「オン」に変更する作業を AWS CLI で実施する例を紹介しました。
以上、このブログがどなたかのご参考になれば幸いです。