📚

【Terraform】GCP Cloud LoggingのLog RouterでPub/Subに送信する為の権限設定

2022/11/12に公開

Cloud Loggingの情報をPub/Subを使ってほかへ送信したい!!!
を Terraformで書いてみることにする
備忘録も兼ねて

# pub/sub topic 作成
resource "google_pubsub_topic" "logging_topic" {
  name = "logging_topic"
}

# pub/sub topic に Sink.WriterIDをpubsub publisher権限で追加
# projectIAMに追加する方法もあるが、権限の影響範囲を絞るためにTopicに追加する
resource "google_pubsub_topic_iam_member" "log_writer" {
  project = google_pubsub_topic.logging_topic.project
  topic = google_pubsub_topic.logging_topic.name
  role = "roles/pubsub.publisher"
  member = google_logging_project_sink.logging_sink.writer_identity
}

# Log Router Sinkを作成
resource "google_logging_project_sink" "logging_sink" {
  name = "logging_sink"
  destination = "pubsub.googleapis.com/projects/${google_pubsub_topic.logging_topic.project}/topics/${google_pubsub_topic.logging_topic.name}"
  unique_writer_identity = true  # 専用のServiceAccountを作成する
}


作成されたサービスアカウントのPub/Subパブリッシャー権限追加に苦労したが、ひとまずこれで意図したどおりの動きになることがわかった。

terraform plan terraform apply
して 完了。

検証環境だったので
terraform destroy

Discussion