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

オブザーバビリティと育てた ID管理・認証認可基盤の歩み / The Journey of a...

オブザーバビリティと育てた ID管理・認証認可基盤の歩み / The Journey of an ID Management, Authentication, and Authorization Platform Nurtured with Observability

2025/10/27
Observability Conference Tokyo 2025
https://o11ycon.jp/

オブザーバビリティと育てた ID管理・認証認可基盤の歩み

高井 真人
エンジニアリングマネージャー

Avatar for 株式会社カミナシ

株式会社カミナシ

October 26, 2025
Tweet

More Decks by 株式会社カミナシ

Other Decks in Technology

Transcript

  1. カミナシ社におけるID管理・認証認可基盤の立ち位置 “現場の基盤” カミナシ 3つの領域をまたぐデジタルインフラに Method 作業 Man ⼈ Machine 設備

    電⼦帳票 マニュアル‧研修 コミュニケーション 設備カルテ 1つのアカウントで複数のシステムを利⽤。運⽤の負担軽減とセキュリティ向上。
  2. 認証認可基盤における課題 サーバー テナント#1 テナント#n … OpenID Connect ライブラリ 暗号化ライブラリ 署名・検証

    ハッシュ関数 DBアクセス リクエスト・レスポンス 処理 セキュリティのコアな処理がライブラリ依存で ブラックボックスのため、ボトルネックの発見と 改善が難しくなりやすい
  3. Software Engineer as a Kalman Filter 真のシステム状態 入力 推定した システム状態

    真の 出力 推定した 出力 できるだけ一致させたい
  4. Software Engineer as a Kalman Filter 真のシステム状態 入力 推定した システム状態

    真の 出力 推定した 出力 できるだけ一致させたい 推定誤差
  5. Software Engineer as a Kalman Filter 真のシステム状態 入力 推定した システム状態

    真の 出力 推定した 出力 できるだけ一致させたい 推定誤差 誤差が小さくなるようにフィードバック
  6. Software Engineer as a Kalman Filter 真の ソフトウェアの状態 ユーザーや 外部システム

    の操作 推定した ソフトウェアの状態 シグナル (ログ、トレース、 メトリクス...etc.) 推測した 処理結果
  7. Software Engineer as a Kalman Filter 真の ソフトウェアの状態 ユーザーや 外部システム

    の操作 推定した ソフトウェアの状態 シグナル (ログ、トレース、 メトリクス...etc.) 推測した 処理結果 推定の 誤り 対象のソフトウェアの理解をアップデート ソフトウェアの理解をアップデートし、真の内部状態に近づけようとする行為全体が オブザーバビリティ向上の一環
  8. ここから話していくこと • マルチテナント・マルチプロダクトのID管理・認証認可基盤の立ち上げ〜現在までに、 ど のようにオブザーバビリティスタックを進化させてきたか • オブザーバビリティを向上し活用した事例 1. コアな処理がブラックボックスな認可機能において、どのようにボトルネックを発見 し、改善策を実装していったのか

    2. チームメンバーがソフトウェアの内部状態をうまく推定し、ビジネスやプロダクトの スケールにあわせて継続的に性能改善していくために何をしたのか 3. オブザーバビリティの力を、性能や内部品質改善だけでなくエンドユーザーの体験改 善にどのようにつなげたのか
  9. 事例 1:OAuthクライアント認証処理のボトルネック把握と改善 ID管理・認証認可基盤 クライアント認証 認可コード/リフレッ シュトークン検証 新規トークン生成 レスポンス作成 リクエスト検証 トレースから以下の2つの原因を推測

    1. ライブラリが一連の処理の中でクライアント情報を何度もDBから   読み出すことによる非効率なI/Oアクセス ライブラリ自体をフォークして手を入れたくないので、 静的なクライアント情報をキャッシュしてI/Oアクセスを回避 ゲートウェイ関数 キャッシュ
  10. 事例 1:OAuthクライアント認証処理のボトルネック把握と改善 ID管理・認証認可基盤 クライアント認証 認可コード/リフレッ シュトークン検証 新規トークン生成 レスポンス作成 リクエスト検証 トレースから以下の2つの原因を推測

    1. ライブラリが一連の処理の中でクライアント情報を何度もDBから   読み出すことによる非効率なI/Oアクセス 2. ライブラリ処理の中で何らかのCPUボトルネックな処理が発生 ライブラリ自体をフォークして手を入れたくないので、 静的なクライアント情報をキャッシュしてI/Oアクセスを回避 ライブラリのトレース計装が不十分だったため、大まかに ボトルネック箇所を特定してローカルで追加計装したうえで、 プロファイラも使いながらボトルネックを探索
  11. 事例 1:OAuthクライアント認証処理のボトルネック把握と改善 ID管理・認証認可基盤 クライアント認証 認可コード/リフレッ シュトークン検証 新規トークン生成 レスポンス作成 リクエスト検証 最も大きなボトルネックはクライアントシークレット比較時のハッシュ関数と判明

    しかし、ハッシュ関数はCPU演算量を増やすことに意味があるため効率化は難しい そこで、クライアント認証方式を変更してハッシュ関数を回避してボトルネックを解消 クライアント ID管理・認証認可基盤 クライアントID+ シークレット ハッシュ計算
  12. 事例 1:OAuthクライアント認証処理のボトルネック把握と改善 ID管理・認証認可基盤 クライアント認証 認可コード/リフレッ シュトークン検証 新規トークン生成 レスポンス作成 リクエスト検証 最も大きなボトルネックはクライアントシークレット比較時のハッシュ関数と判明

    しかし、ハッシュ関数はCPU演算量を増やすことに意味があるため効率化は難しい そこで、クライアント認証方式を変更してハッシュ関数を回避してボトルネックを解消 クライアント ID管理・認証認可基盤 クライアントID+ シークレット クライアント ID管理・認証認可基盤 ハッシュ計算 アサーショントークン生成 署名検証
  13. 事例 2:サービスレビューによる組織的な見る力、わかる力の向上と継続的な改善 ID管理・認証認可基盤 以下の観点で週次レポートを作成 傾向の変化や課題を確認 • パフォーマンス • エラー •

    コスト サービスレビューの結果をフィードバック ユーザー数や利用パターンの異なる複数のプロダクト、多数のテナントからのリクエストを捌く基盤 としてスケーリングしていく中で、組織的にソフトウェアへの理解を高めるために週次でID管理・認 証認可基盤のパフォーマンスやエラー、コストを確認し議論するサービスレビューの仕組みを導入 チーム内でシステム に対する理解や勘所 を継承していく
  14. 事例 2:サービスレビューによる組織的な見る力、わかる力の向上と継続的な改善 パフォーマンス • パフォーマンスメトリクスにおける先週との比較 • パフォーマンスメトリクスの長期的(月単位)の傾向 • 特に時間のかかっているエンドポイントはなにか •

    前週に対処したエンドポイントの状況確認 エラー • 想定していないエラーは出ていないか • 不要なエラーが出ていないか • パフォーマンスと関連するエラーの状況 コスト • コストの先週との比較 • コストの長期的(月単位)の傾向 • 特にコストのかかっているAWSサービスはなにか • 前週に対処したコストの状況確認 具体的には以下の観点でパフォーマンス、エラー、コストを確認している。 課題を発見したら必要なものはチケット化して次以降のスプリントで逐次対処していくことで、 サービスがスケールしていく中でもパフォーマンスやコストの改善を図っている。
  15. 事例 3:ユーザー操作エラーの検知によるプロアクティブなカスタマーサクセス ID管理・認証認可基盤 メトリクス • 失敗率が想定より低くなっていないか • 同じユーザーが極端に何度も失敗して いないか ログ

    • どこでユーザーが失敗しているか • 同じような失敗を複数のユーザーが繰 り返していないか CSVによる情報操作を実行するサーバーのシグナルだけでなく、ユーザーの操作起因で発生するエラーについ てもメトリクスを収集したり、改善につながるログを出力
  16. まとめ • ID管理・認証認可基盤におけるオブザーバビリティで解決したい課題 ◦ I/OボトルネックとCPUボトルネックの混在 ◦ CPUボトルネックを引き起こしやすい暗号化処理などのライブラリによるブラックボックス化 • めざしたい姿 ◦

    Software Engineer as a Kalman filter ◦ 可観測性と、ソフトウェア内部状態に対する組織的な推定能力の向上 ◦ 定期的なサービスレビューによる推定能力の継承 • オブザーバビリティと育てたID管理・認証認可基盤 ◦ 最初は小さく、ビジネスやシステムのスケールに合わせて徐々に大きく ◦ ブラックボックスな処理もトレースから読み解いていく ◦ メトリクスやログからユーザー体験も改善していける