Slide 1

Slide 1 text

Sansanの認証基盤を⽀える アーキテクチャとその振り返り 基盤 × バックエンド MeetUp Sansan技術本部 Platform Engineering Unit 樋⼝ 礼⼈

Slide 2

Slide 2 text

Sansanのソフトウェアエンジニア - 2022年5⽉ 中途⼊社しContract Oneの開発を担当 - 2023年9⽉ Bill Oneへ異動し認証基盤の内製化に携わる - 2025年6⽉ チームごとPlatform EUへ異動 趣味:ポッドキャストを聞くこと 寄稿:Software Design 2025年12⽉号 「今さら聞けないID管理」 第4章 樋⼝ 礼⼈(Ayato Higuchi) Sansan株式会社 技術本部 Platform Engineering Unit / Identity Platformグループ

Slide 3

Slide 3 text

1. 共通認証基盤「Auth One」について 2. Auth Oneのアーキテクチャ 3. Auth Oneの技術選定を振り返って - サーバーレスの採⽤について - Amazon CognitoとOIDCライブラリの採⽤について Agenda

Slide 4

Slide 4 text

共通認証基盤 「Auth One」について

Slide 5

Slide 5 text

共通認証基盤「Auth One」 Bill Oneの認証基盤のコスト削減と プロダクト横断での認証周りの改善の ために作られた共通認証基盤 OAuth / OIDCのプロバイダーとして、 パスワードでのユーザー認証や Single Sign-On、API認可などの機能を 提供 全社のプロダクトで 「セキュリティと利便性を両⽴させる」 という企業理念を⾼いレベルで 実現すべく、様々な機能強化と横展開に 取り組んでいる Auth One Microsoft EntraID HENNGE Okta Google OIDC / SAML ・ ・ ・ ・ ・ ・

Slide 6

Slide 6 text

Auth Oneのアーキテクチャ

Slide 7

Slide 7 text

システム構成 技術選定のポイント 1. 運⽤負荷を考慮し サーバーレスを 積極的に採⽤ 1. Amazon Cognitoと OIDCのライブラリを活⽤ しユーザー認証やOAuth / OIDCのプロバイダーの 機能を実現

Slide 8

Slide 8 text

Auth Oneの技術選定を振り返って

Slide 9

Slide 9 text

サーバーレスの積極的な採⽤ 採⽤の意図 - 負荷の⼤きな変動への対応 ˃ 利⽤の⼤半を占めるBill Oneでは⽉末⽉初にリクエストが集中する特性がある - 少⼈数体制での運⽤負荷軽減 ˃ Auth Oneは⻑らく3 ~ 4名の体制で運⽤されてきた 結果 - ⽉末⽉初の⼤きな負荷の増加にも⼿放しで対応できている - Aurora Serverless v2⾃体の値下げ・パフォーマンス向上・0スケーリングへの対応で コストパフォーマンス、使い勝⼿も改善されている

Slide 10

Slide 10 text

Aurora Serverless v2利⽤での学び サーバーレスのコスト観点でのパフォーマンスチューニングの重要性 - 運⽤負荷が低い⼀⽅で負荷の⾼いクエリが実⾏されると、 簡単にスケールアップしてしまいコスト増加につながってしまう - インデックスを⾒直すことでレイテンシだけでなくコストも改善

Slide 11

Slide 11 text

Amazon CognitoとOSSのOIDCライブラリの活⽤ 採⽤の意図 - Auth0よりも⾼いコストパフォーマンス - マネージドサービス・ライブラリ利⽤によるセキュリティの担保・実装コストの削減 - マネージドサービスと⾃前開発を組み合わせることで将来の拡張性を担保 結果 - Auth0利⽤時から90%のコスト削減 - 実装期間約4ヶ⽉とスピーディな内製化を実現 - ⾃前開発によって機能や体験の改善がスムーズに

Slide 12

Slide 12 text

IDaaS・OSSの限界 Amazon Cognitoの機能やライブラリでカバーできないケース - Amazon Cognitoでの機能不⾜ > MFAのリカバリコードを発⾏する機能がない > パスワードハッシュやTOTPのシークレットのインポートができない - OAuth / OIDCライブラリの各種仕様のサポート不⾜ > RFC 7636: Proof Key for Code Exchange(PKCE) > RFC 8707: Resource Indicators for OAuth 2.0 > RFC 9449: OAuth 2.0 Demonstrating Proof of Possession (DPoP) これまで不⾜している機能は⾃前開発やOSSコントリビュートで対応してきた 今後はAmazon Cognitoへの依存を増やさない、OAuth / OIDCも徐々に内製化

Slide 13

Slide 13 text

マネージドサービスが提供するレイヤーによる中⻑期での影響 - インフラレイヤーを抽象化するAuroraのようなサービスは少なくとも短中期では プロダクト開発のボトルネックにはなりにくい - IDaaSのような特定ユースケースの機能を包含するサービスは、プロダクトの ⽴ち上げには寄与するが、機能拡張や独⾃要件の実現のボトルネックになりやすい 将来どこまで⾃分たちで制御したいのか 独⾃要件が出てきた場合にカバーできるかを考えることが重要

Slide 14

Slide 14 text

Sansan 技術本部 募集ポジション紹介 https://media.sansan-engineering.com/

Slide 15

Slide 15 text

No content