完璧を求めない意思決定-アクセス制御基盤における制約との向き合い方
by
bmf_san
×
Copy
Open
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
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