Open4

GCP

Okoha YugureOkoha Yugure

IAM bindingの環境依存の権限は常時trueのconditionつけておくとコード上でもコンソールで見た時も環境限定権限だって分かりやすくていい感じ
condition付けないと後から作ったbindingで上書きされるのでcondition無しのbindingは必ず一か所にまとめる

modules/iam/main.tf

resource "google_project_iam_binding" "default" {
  for_each = {
    "roles/logging.viewer" = [
      "group:fuga@example.com",
    ]
  }
  project = "some_project"
  role    = each.key
  members = each.value
}

stg/permanent.tf

resource "google_project_iam_binding" "stg_only" {
  for_each = {
    "roles/logging.viewer" = [
      "group:hoge@example.com",
    ]
  }
  project = "some_project"
  role    = each.key
  members = each.value
  condition {
    expression = "request.time > timestamp('2021-01-01T00:00:00Z')"
    description = "STGのみ常時付与権限"
    title      = "stg only"
  }
}
Okoha YugureOkoha Yugure

cloud runでタグ付きURL発行した場合、URLをカスタムオーディエンスに付与する必要がある
github actions使うならoutputsでurl拾えるからそれを使うと良い