完璧を求めない意思決定-アクセス制御基盤における制約との向き合い方
by
bmf_san
×
Copy
Open
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Slide 1
Slide 1 text
© SmartHR, Inc. 完璧を求めない意思決定 アクセス制御基盤における制約との向き合い⽅ ⽵内 健太 / X @bmf_san SmartHR プロダクト基盤開発本部 権限基盤ユニット 2025/11/20 アーキテクチャConference 2025
Slide 2
Slide 2 text
本⽇お話すること ● マルチプロダクトSaaSで⽣じた権限管理のボトルネック ● 理想的な解決策と、それを阻む3つの制約 ● 制約を受け⼊れたポリシーベースアーキテクチャの選択 ● 完璧を求めない意思決定と制約との向き合い⽅ 2
Slide 3
Slide 3 text
マルチプロダクトSaaSで ⽣じた権限管理のボトルネック
Slide 4
Slide 4 text
SmartHRのマルチプロダクト戦略 ● SmartHRは⼈事労務を中⼼としたマルチプロ ダクトSaaS ● 各プロダクトで「誰がどのデータにアクセス できるか」の制御が必要 ● 権限基盤はロールベースのアクセス制御を担う 4
Slide 5
Slide 5 text
権限基盤のミッション ● 開発効率 ● 統⼀的なユーザー体験 ● セキュリティ 5
Slide 6
Slide 6 text
浮上した課題 ⸺ 開発効率の低下 ● 問題 ○ プロダクト数の増加に伴い、権限機能の要求が集中 ● 結果 ○ 権限基盤チームがボトルネックに ● 影響 ○ プロダクトチームの開発を妨げてしまう 6
Slide 7
Slide 7 text
改善前のアーキテクチャ(中央集権型) 7
Slide 8
Slide 8 text
改善前のアーキテクチャ(中央集権型) 8 ● 責務の密結合 ● 開発負荷の集中 ● プロダクト固有要件への対応困難
Slide 9
Slide 9 text
理想的な解決策と それを阻む3つの制約
Slide 10
Slide 10 text
理想的な解決策を描く ● 理想的なアプローチ ○ 新しいロール管理基盤を構築 ○ ロール管理とアクセス制御を完全に分離 ○ 各プロダクトが独⾃のポリシーを持つ ○ プロダクトチームが完全に⾃律的に開発 10
Slide 11
Slide 11 text
しかし、現実には制約がある ● UIの変更制限 ○ データモデル変更によりUI影響は不可避 ● 短期での価値提供 ○ 理想的アプローチの機会コストが⼤きすぎる ● 段階的移⾏ ○ ユーザー体験への影響を⼩さく検証したい 11
Slide 12
Slide 12 text
制約を受け⼊れた ポリシーベースアーキテクチャ の選択
Slide 13
Slide 13 text
完璧 vs 現実 制約を「障害」と⾒るか、 「設計のパラメータ」と⾒るか? ● 完璧を追求すると‧‧ ○ 制約は「障害」 ● 現実的な価値を追求すると‧‧ ○ 制約は「設計のパラメータ」 13
Slide 14
Slide 14 text
ポリシーベースアーキテクチャの採⽤ ● 現実的なアプローチ ○ 既存UIを維持したまま、ポリシー層だけ追加 ○ 段階的な責務分離 ○ ボトルネックの緩和 ○ 将来への選択肢を残す 14
Slide 15
Slide 15 text
改善後のアーキテクチャ(ポリシーベース) 15
Slide 16
Slide 16 text
改善後のアーキテクチャ(ポリシーベース) 16 ● コアサービス ○ ロール管理 + データ取得 ● アクセス制御基盤 ○ ポリシー評価のみ
Slide 17
Slide 17 text
OPA(Open Policy Agent)の採⽤ ● OPAを選んだ理由 ○ CNCF Graduated Project ○ 豊富な実績とエコシステム ○ ⾼パフォーマンス‧⽔平スケーラビリティ 17
Slide 18
Slide 18 text
OPA(Open Policy Agent)の採⽤ ● OPAを選んだ理由 ○ CNCF Graduated Project ○ 豊富な実績とエコシステム ○ ⾼パフォーマンス‧⽔平スケーラビリティ 18 # 例: 管理者は全従業員にアクセス可能 allow { input.user.roles[_] == "admin" input.resource.type == "employee" }
Slide 19
Slide 19 text
⽬指す3つの価値 ● ボトルネックの緩和 ○ アクセス制御ロジックの責務を切り出し ● 学習機会の確保 ○ 実運⽤を通じたベストプラクティスの蓄積 ● 将来への選択肢の確保 ○ 意思決定を遅延させ、柔軟性を保つ 19
Slide 20
Slide 20 text
意思決定の遅延 今決めるべきこと ● ポリシーベースアーキテ クチャの採⽤ ● ボトルネック緩和という 喫緊の課題への対応 将来に委ねること ● 新しいロール管理基盤へ の移⾏ ● 完全な責務分離 ● ポリシーの分散管理 20
Slide 21
Slide 21 text
完璧を求めない意思決定と 制約との向き合い⽅
Slide 22
Slide 22 text
まとめ ● 制約を明確に定義する ○ 何を制約とするか、何に挑戦するか ● 制約を設計のパラメータとして受け⼊れる ○ 障害ではなく、設計の前提条件 ● 意思決定を遅延させる ○ 今必要な価値を提供し、将来の選択肢を狭めない 22
Slide 23
Slide 23 text
ブログ 完璧を求めない意思決定 ⸺ アクセス制御基盤における制約との 向き合い⽅ https://tech.smarthr.jp/entry/2025/11/14/121715 23
Slide 24
Slide 24 text
© SmartHR, Inc. © SmartHR, Inc. We are hiring ! https://hello-world.smarthro.co.jp/
Slide 25
Slide 25 text
ご清聴 ありがとうございました! 25