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

Goの型安全性で実現する複数プロダクトの権限管理

Sponsored · SiteGround - Reliable hosting with speed, security, and support you can count on.

 Goの型安全性で実現する複数プロダクトの権限管理

Goの Defined Type と protobuf コード生成を活用し、複数プロダクトにまたがる権限管理をコンパイル時に安全に保つ手法を紹介します

Avatar for ishikawa-pro

ishikawa-pro

March 13, 2026
Tweet

More Decks by ishikawa-pro

Other Decks in Programming

Transcript

  1. ロールに応じたアクセス制御 ロールごとに「できる操作(Permission) 」が決まっている → この組み合わせ爆発を 安全に管理するのが課題 © LayerX Inc. 複数プロダクト

    × プロダクトごとに 複数ロール × ロール固有の 権限 プロダクトが増えるたびに、ロールと権限の組み合わせも増える 4
  2. Go の Defined Type type で既存の型から 新しい型 を作れる Permission と

    ProductRole は 互換性のない別の型 になる © LayerX Inc. 6
  3. まとめ Defined Type × コード生成 で スケールしても壊れない権限管理を実現 © LayerX Inc.

    Defined Type で型の混在・タイポをコンパイル時に検知 proto × コード生成 で 2000個超の定数と逆引きマップを自動管理 認証トークン × 生成マップ を同じ Defined Type でつなぎ Interceptor でもビジネスロジックでも一貫した権限チェック 16