Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Terraform での Google Cloud IAM 管理 について考える

Terraform での Google Cloud IAM 管理 について考える

クラウドネイティブ分科会 Meetup #22
0ベースから学ぶ、クラウドネイティブの春!での登壇内容
https://jaguer-cloud-native.connpass.com/event/387350/

Avatar for Sota Takaki

Sota Takaki

April 14, 2026

Other Decks in Programming

Transcript

  1. Terraform での Google Cloud IAM 管理 について考える 株式会社スリーシェイク Sreake事業部 髙木

    創太 Copyright © 3-shake, Inc. All Rights Reserved. 1 クラウドネイティブ分科会 Meetup #22 0ベースから学ぶ、クラウドネイティブの春! 2026-04-14
  2. • 名前 ◦ 髙木 創太 • 所属 ◦ 株式会社スリーシェイク SRE

    • 一言 ◦ 最近 Zenn で記事を書き始め、フォロワーさんのいな い名刺がわりの X アカウントで活動記録を残し始めま した。 ▪ X: https://x.com/stkk_12 ▪ Zenn: https://zenn.dev/stkk ◦ 全てこのアフロでプロフィール画像を統一していま す。よろしくお願いします。 Copyright © 3-shake, Inc. All Rights Reserved. 2 自己紹介
  3. Terraform にて Google Cloud の IAM を管理するリソースは、 以下の3つ存在します。 • iam_policy

    • iam_binding • iam_member それぞれについてみていきます。 Copyright © 3-shake, Inc. All Rights Reserved. IAM 管理に使える 3 つのリソース 5
  4. ポリシー全体を管理 ポリシー全体を 1 つのリソースで完全に上書き • 管理スコープ: 全体 • コード外の変更: 全て除外

    メリット • IAM の全体像を宣言できる デメリット • ポリシー全体を上書き → 他設定を破壊するリスク • Google 内部のシステムバインディングも消える危険 • 複数チームでの分割管理が困難 Copyright © 3-shake, Inc. All Rights Reserved. iam_policy 6
  5. ロール単位で管理 ロール単位でメンバー一覧を上書き • 管理スコープ: ロール単位 • コード外の変更: 該当ロールのみ上書き メリット •

    ロール単位でメンバー一覧が集約されて見やすい • コードに書かれたメンバーだけが存在することを保証 デメリット • 同一ロールを複数 state で管理すると競合 • Terraform 外で付与したメンバーが次の apply で除外 Copyright © 3-shake, Inc. All Rights Reserved. iam_binding 7
  6. 個別で管理 メンバーを 1 件ずつ個別に追加 • 管理スコープ: 個別 • コード外の変更: 影響しない

    メリット • Additive なので他設定と競合しない • 複数 state や複数チームで安全に分担できる デメリット • コード外のメンバーが存在しても検知できない Copyright © 3-shake, Inc. All Rights Reserved. iam_member 8
  7. • 統制力: iam_policy > iam_binding > iam_member • 安全性: iam_member

    > iam_binding > iam_policy Copyright © 3-shake, Inc. All Rights Reserved. 3 つのリソースの比較 9 リソースタイプ 管理スコープ コード外の変更に対する挙動 iam_policy ポリシー全体 コードにないバインディングは すべて除外 iam_binding ロール単位 該当ロールのメンバーリスト を上書き iam_member 個別の紐付け 他の紐付けに影響しない
  8. project レベル IAM resource レベル IAM Copyright © 3-shake, Inc.

    All Rights Reserved. 方針の全体像 16 方針 リソース 基本 iam_member 例外 iam_binding 原則不使用 iam_policy 方針 リソース 基本 iam_binding 例外 iam_member 原則不使用 iam_policy 影響範囲が大きい→安全な iam_member を基本に 影響範囲が限定的 → 厳密な iam_binding を基本に
  9. • IAM 管理に使える 3 つのリソースを整理 ◦ iam_policy ◦ iam_binding ◦

    iam_member • IAM 管理について考える ◦ project レベル ◦ resource レベル 要件・チームの状況・Terraform 構成によって最適解は変わるので、 各リソースの特徴をしっかり把握し、適切な管理方法を見つけていきましょう! Copyright © 3-shake, Inc. All Rights Reserved. まとめ 18
  10. Copyright © 3-shake, Inc. All Rights Reserved. ご清聴ありがとうございました! 19 本発表の詳細は

    zenn にて投稿していますので、ご興味あればぜひご覧ください ...! https://zenn.dev/stkk/articles/02a4cc7815ae06