📚
【Terraform】GCP Cloud LoggingのLog RouterでPub/Subに送信する為の権限設定
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