BOM - AWS MSK リソースの一覧

Terraform の Amazon MSK クラスターを資産一覧にまとめ、管理担当者やセキュリティ設定を確認します。一覧に含まれること自体は脆弱性を意味しません。

説明

Amazon MSK は、Apache Kafka を使用するストリーミングアプリケーションを運用するためのマネージドサービスです。Terraform では、aws_msk_cluster リソースでクラスターを定義します。インベントリ(BOM)は、こうした資産を一覧にまとめて管理するために使用します。

資産一覧に含まれているというだけで、クラスターに脆弱性がある、またはタグが不足しているとは判断できません。セキュリティの状態は、各クラスターの実際の設定と運用環境を確認して評価する必要があります。

活用目的

  • クラスターを、担当チーム、サービス、環境と関連付けて管理できます。
  • ネットワークアクセス、暗号化、認証、ログ、監視を別途確認すべきクラスターを整理できます。
  • Terraform の構成とデプロイ済みの資産一覧を比較し、管理情報の差異を確認できます。

確認すべき事項

  • クラスターを資産台帳に登録し、用途と管理担当者を確認してください。
  • 実際のデプロイ設定とサービスの既定値を確認し、ネットワークアクセスと暗号化の状態を点検してください。
  • 用途や環境をタグで示し、ネットワーク公開、暗号化、認証、ログはそれぞれ別のセキュリティ確認で評価してください。

インベントリの例

二つの例は、タグの有無による資産管理情報の違いを示しています。タグは用途や環境を識別するのに役立ちますが、それ自体で暗号化やアクセス制御を設定するものではありません。バージョンとリソース ID は説明用の値です。

タグのないクラスター

hcl
resource "aws_msk_cluster" "streaming" {
  cluster_name           = "streaming"
  kafka_version          = "3.6.0"
  number_of_broker_nodes = 3

  broker_node_group_info {
    instance_type   = "kafka.m5.large"
    client_subnets  = ["subnet-a", "subnet-b", "subnet-c"]
    security_groups = ["sg-12345678"]
  }
}

タグを追加したクラスター

hcl
resource "aws_msk_cluster" "streaming" {
  cluster_name           = "streaming"
  kafka_version          = "3.6.0"
  number_of_broker_nodes = 3

  broker_node_group_info {
    instance_type   = "kafka.m5.large"
    client_subnets  = ["subnet-a", "subnet-b", "subnet-c"]
    security_groups = ["sg-12345678"]
  }

  tags = {
    Service     = "streaming"
    Environment = "production"
  }
}

説明:

  • タグのないクラスター: クラスターの基本構成を定義していますが、サービスと環境を示すタグは指定していません。
  • タグを追加したクラスター: Service と Environment によって運用上の情報を補っています。これらのタグだけで暗号化やアクセス制御が設定されるわけではありません。

参考資料