streaming-data-to-analytics/terraform/iam.tf (19 lines of code) (raw):

resource "google_service_account" "ingest_api" { account_id = local.function_name display_name = "Cloud Function Ingest API" } resource "google_project_iam_member" "publisher" { project = var.project_id role = "roles/pubsub.publisher" member = "serviceAccount:${google_service_account.ingest_api.email}" } resource "google_project_iam_member" "pubsub_bqEditor" { project = var.project_id role = "roles/bigquery.dataEditor" member = "serviceAccount:service-${data.google_project.project.number}@gcp-sa-pubsub.iam.gserviceaccount.com" } resource "google_project_iam_member" "pubsub_bqMetadata" { project = var.project_id role = "roles/bigquery.metadataViewer" member = "serviceAccount:service-${data.google_project.project.number}@gcp-sa-pubsub.iam.gserviceaccount.com" }