ENGINEER BLOG ENGINEER BLOG
  • 公開日
  • 最終更新日

【SecurityHub】SSM.7修復をTerraformで実施してみる

この記事を共有する

目次

サービスG松原です。 今回はAWS SecurityHub CSPM(以下Security Hub)で検知されるSSM.7コントロールの修復対応をTerraformで実施します。

SSM.7コントロールについて

Security HubのSSM.7は2025年7月から追加されたコントロールです。内容は「SSMドキュメントでパブリック共有ブロック設定を有効にする必要がある」というもの。

今まではSSM.4(SSMドキュメントはパブリックにしないでください)でSSMドキュメントのパブリック共有そのものの検知はされていましたが、 それに加えてSSMドキュメントのパブリック公開のガードレール設定について検知されるようになったかたちです。

スクリーンショット 2025-08-30 230950.png

Security Hubでは上記のように検知されます。パブリック共有ブロック設定はデフォルトでオフなので検知されやすいコントロールのはず。今回はこれをTerraformで修正します。

スクリーンショット 2025-08-30 230824.png

Terraformコード

TerraformにてSSMドキュメントのパブリック共有ブロック設定を有効化します。 以下コード例です。

# プロバイダー
provider "aws" {
  region = "ap-northeast-1" # 東京リージョン
}
provider "aws" {
  region = "ap-northeast-3" # 大阪リージョン
  alias = "osaka"
}
# SSM設定
resource "aws_ssm_service_setting" "public-sharing-permission-tokyo" {
  setting_id    = "/ssm/documents/console/public-sharing-permission"
  setting_value = "Disable"
}
resource "aws_ssm_service_setting" "public-sharing-permission-osaka" {
  provider = aws.osaka
  setting_id    = "/ssm/documents/console/public-sharing-permission"
  setting_value = "Disable"
}

解説

  • aws_ssm_service_settingリソースで/ssm/documents/console/public-sharing-permission設定をDisableに設定します
  • リージョン別の設定なのでプロバイダー/リソースをリージョン別に記載しています(今回は東京/大阪)

実施時のログ

Terraform Plan時

Terraform used the selected providers to generate the following execution plan. Resource actions are indicated with the
following symbols:
  + create
Terraform will perform the following actions:
  # aws_ssm_service_setting.public-sharing-permission-osaka will be created
  + resource "aws_ssm_service_setting" "public-sharing-permission-osaka" {
      + arn           = (known after apply)
      + id            = (known after apply)
      + region        = "ap-northeast-3"
      + setting_id    = "/ssm/documents/console/public-sharing-permission"
      + setting_value = "Disable"
      + status        = (known after apply)
    }
  # aws_ssm_service_setting.public-sharing-permission-tokyo will be created
  + resource "aws_ssm_service_setting" "public-sharing-permission-tokyo" {
      + arn           = (known after apply)
      + id            = (known after apply)
      + region        = "ap-northeast-1"
      + setting_id    = "/ssm/documents/console/public-sharing-permission"
      + setting_value = "Disable"
      + status        = (known after apply)
    }
Plan: 2 to add, 0 to change, 0 to destroy.

Terraform Apply後にブロック設定がオンになることをマネジメントコンソールで確認

Systems Manager > ドキュメント > 詳細設定

スクリーンショット 2025-08-30 230812.png

SSMドキュメントのパブリック共有ブロックがオンになりました!

おわりに

TerraformでSSM.7対応した記事はなさそうだったので書いてみました。どなたかの参考になれば幸いです!

この記事は私が書きました

松原 唯介

記事一覧

2024年4月入社 サービスG所属

松原 唯介

この記事を共有する

クラウドのご相談

CONTACT

クラウド導入や運用でお悩みの方は、お気軽にご相談ください。
専門家がサポートします。

サービス資料ダウンロード

DOWNLOAD

ビジネスをクラウドで加速させる準備はできていますか?
今すぐサービス資料をダウンロードして、詳細をご確認ください。