Slide 1

Slide 1 text

Authlete Customer and Partner Meetup OIDC Architecture Session 日経ID 基盤刷新プロジェクト Melissa 🐝 2023/12/12 日本経済新聞社 淵脇 誠

Slide 2

Slide 2 text

Agenda 2 1. 日経ID チームおよび登壇者の紹介 2. 日本経済新聞社におけるID戦略 3. 日経ID 基盤刷新プロジェクト ~Melissa~ 4. 今後の 日経ID について

Slide 3

Slide 3 text

3 日経ID チームおよび登壇者の紹介 01 1. 日経ID チームおよび登壇者の紹介 2. 日本経済新聞社におけるID戦略 3. 日経ID 基盤刷新プロジェクト ~Melissa~ 4. 今後の 日経ID について

Slide 4

Slide 4 text

日経ID チームおよび登壇者の紹介 4 淵脇 誠 (Makoto Fuchiwaki) 日本本経済新聞社 日経IDチームのソフトウェアエンジニア 趣味:AtCoder 2000+, Codeforces 2100+ 日経ID チーム 日経ID認証認可基盤の新基盤 Melissa の開発チーム 総勢10名のスクラムチームでフルスタックな開発を推進中 🐝 Melissa (ギリシャ語でミツバチ)

Slide 5

Slide 5 text

5 日本経済新聞社におけるID戦略 02 1. 日経ID チームおよび登壇者の紹介 2. 日本経済新聞社におけるID戦略 3. 日経ID 基盤刷新プロジェクト ~Melissa~ 4. 今後の 日経ID について

Slide 6

Slide 6 text

日本経済新聞社における日経IDの位置付け 6 日本経済新聞社の事業ドメイン これらのドメインを横断的に支える基盤が「日経ID」 News &Insights Brand Communication Decision-making Experience 気づく、つながる 価値を伝え、社会と交わる 調べる、決める 高める、成長する 読者 顧客企業 意思決定者 一人ひとり 電子版をはじめとした報道機関 としての日経と読者をつなぐ 広告やイベントを通じて企業の価値 を伝える統合型ソリューション 企業の財務情報・非財務情報を網 羅し経営課題を解決 個人のキャリア形成と企業の人的 資本の構築に貢献 エンジニアマターではなく経営戦略の一部 Poin t

Slide 7

Slide 7 text

日経ID旧基盤と事業環境のギャップ 7 ドメイン横断の事業サイクル サービス内の事業サイクル 事業計画 会員向け サービス提供 顧客満足の 評価・測定 サービス改善 事業 ドメイン運営 日経グループの 経営指標測定 ポートフォリオ 最適化 経営戦略 紙から電子へなどビジネス環境の早い変化 日経IDの新ミッション P D C A P D C A 旧基盤の特性 高品質・レガシー・外注 (2010~) 高いアジリティを 必要とする領域 新しいビジネス環境に対応するためID基盤のアジリティ性向上が求められた Point ※アジリティ:変更容易性

Slide 8

Slide 8 text

ID基盤の刷新を開始 8 ドメイン横断の事業サイクル サービス内の事業サイクル 事業計画 会員向け サービス提供 顧客満足の 評価・測定 サービス改善 事業 ドメイン運営 日経グループの 経営指標測定 ポートフォリオ 最適化 経営戦略 紙から電子へなどビジネス環境の早い変化 日経IDの新ミッション P D C A P D C A 高いアジリティを 必要とする領域 高いアジリティかつ最新のセキュリティ仕様を実現しサービスへの貢献を目指す Point Melissa🐝プロジェクト 高アジリティ・最新セキュリティ(2018~) 他チームとの 協業で実現

Slide 9

Slide 9 text

ID基盤刷新に寄せられた要求(≠ 要件) 9 サービスの継続性 移行コストの最小化 サービス継続の容易性 レガシー機能の互換性 プロダクトの価値向上 「プラットフォーム」はステークホルダーが多く要求も多岐に渡る Point セキュリティ上問題があ る機能の提供 OIDC違反の仕様の提供 アジリティ向上 セキュリティ強化 開発者体験の向上 相反する要求を要件としてまとめ上げるには?

Slide 10

Slide 10 text

基盤刷新におけるシステム要件定義の難しさ 10 安定して稼働するシステムが正義 ⇒ 既存システムの改修で終わりがち Point • アーキテクチャの優秀さを主張する • 開発者体験の向上をアピールする • プロダクトの将来価値の向上を主張する NG • レガシーな後方互換性の保持を主張する • 開発コストの低さを主張する • プロダクトの現在価値の向上を主張する OK 技術的挑戦が受け入れられにくい 事業継続性の要求が極めて強く安定志向

Slide 11

Slide 11 text

通常の基盤刷新での要件定義にありがちな結論 11 レガシー機能の互換性 セキュリティ上問題がある 機能の提供 OIDC違反の仕様の提供 サービスの継続性 プロダクトの価値向上 移行コストの最小化 サービス継続の容易性 アジリティ向上 セキュリティ強化 開発者体験の向上 通常の要件定義で盛り込まれる内容 ビジネス判断で 削られがちな要求 致命的な 問題のみ システム要件をこちらにスライドしたい

Slide 12

Slide 12 text

基盤刷新の方針策定 Authlete 製品A 製品B サービスC 提供形態 SaaS / On Premise OSS SIとセット SaaS コスト 低い (キャッシュアウトによる評価) 低い 高い 低い カスタマイズ性 適度 高い 高い 低い 提供機能 認可 (認証関係の仕様変更に係る調 整コストが低い) 認証・認可 認証・認可 認証・認可 開発者体験 高い (API仕様、CI/CD) 普通 低い 低い SWEチームの観点 で高評価 レガシーな 要件に対する 対応容易性

Slide 13

Slide 13 text

価値向上を実現する認証認可サービスの選定 13 ✔ AuthleteがOpenIDの最新の標準仕様を実装したサービスであること ✔ Authleteが疎結合で高凝集でイミュータブルなサービスであること ✔ 他のIDaaSやフレームワークに比べてコスト面で競争力があること 価値向上にフォーカスできるフレームワークとして Authlete を選定 Point

Slide 14

Slide 14 text

Melissaで社内合意した要件 14 レガシー機能の互換性 セキュリティ上問題があ る機能の提供 OIDC違反の仕様の提供 サービスの継続性 プロダクトの価値向上 移行コストの最小化 サービス継続の容易性 アジリティ向上 セキュリティ強化 開発者体験の向上 Melissa で合意した要件 致命的なものを含め セキュリティ的に問題 ある仕様の多くを廃止 Authlete の選定を始めとする各種交渉材料により要件の合意を取り付け Point

Slide 15

Slide 15 text

15 日経ID 基盤刷新プロジェクト ~Melissa~ 03 1. 日経ID チームおよび登壇者の紹介 2. 日本経済新聞社におけるID戦略 3. 日経ID 基盤刷新プロジェクト ~Melissa~ 4. 今後の 日経ID について

Slide 16

Slide 16 text

Authlete は SaaS or On Premises ? 16 On Premises (Enterpriseプラン) 個別契約 サービス数・クライアント数:上限なし SaaS (Businessプラン) MAUベースの課金 サービス数・クライアント数:制限あり メンテナンスタイミングを自社で調整可能 サーバー更新等のタイミングの制御が不可能 自社でノウハウのあるAWSスタックでの運用 外部サービスとして運用 1000万IDという規模やエンジニアリング力を考慮しオンプレミスを選択 Point

Slide 17

Slide 17 text

内製 or 外注? 17 日経IDチームは技術力が極めて高く内製のメリットを生かせると判断 Point 内製 外注 アジリティ 開発チームの技術力を 確保できれば高い 発注コスト等で 低くなりがち 開発コスト 変動費<固定費 変動費>固定費 適した開発スタイル スクラム開発などの インクリメンタル ウォーターフォール 品質リスクへの対応 ベストエフォート 契約対応

Slide 18

Slide 18 text

Melissa 開発体制 18 Authleteを使ったID基盤開発を強力に推進できるエンジニアリングチーム Point ソフトウェアエンジニア 8名 プロダクトオーナー スクラムマスター UXデザイナー 3名 ✔ スクラム開発 ✔ DevOps ✔ フルスタック マネージャー

Slide 19

Slide 19 text

アーキテクチャ概要 19 インフラ Fastly, ECS, RDS, Redis, S3 CD/CI Terraform, GitHub Actions フロントエンド Vite, React, Nikkei Library バックエンド Spring Boot, Kotlin, Arrow-kt Authlete

Slide 20

Slide 20 text

Authleteを利用したシステムの 複雑な「認証」要件に対するアプローチ 20 WebViewでセッション共有したい ログインをせずに認可したい ユーザー指定でログインさせたい ✔ OAuth 2.0 Token Exchange ✔ prompt=none ✔ [email protected] OpenID Connectの仕様のみを実装しているAuthleteであれば 「認証」の様々な要件に対しても標準仕様を軸に実装を柔軟に可能 Point

Slide 21

Slide 21 text

インクリメンタル開発における旧基盤との共存 21 Authlete 旧日経ID基盤 新日経ID基盤 (Melissa) Relying Party 1 Melissaでログインしたユーザーのアクセストー クンは旧基盤では無効 ただし、ユーザーエージェントに旧日経ID基盤の オートログインCookieを出しておくことでユー ザーからは意識させない Introspection 旧日経ID基盤用 オートログイン Cookie 移行中は新基盤と旧基盤のどちらでログインしても両立する構成 Point Introspection 旧日経ID基盤でログインした ユーザーのアクセストークンは 旧日経ID基盤でイントロスペ クション ユーザー エージェント Relying Party 2

Slide 22

Slide 22 text

Authleteで2年ほど開発して感じている効果 22 ✔ Client as a Code (クライアント設定のコードベース管理)が進んだ ✔ レガシーの脱却は着実に進んだ Terraformと合わせてクライアントを管理している Point セキュアなOIDC標準をはじめとした認証認可標準への準拠が進んでいる Point ✔ 開発チームの標準仕様への解像度が上がった 業界標準・標準仕様を理解するモチベーションが非常に高くなった Point

Slide 23

Slide 23 text

23 今後の 日経ID について 04 1. 日経ID チームおよび登壇者の紹介 2. 日本経済新聞社におけるID戦略 3. 日経ID 基盤刷新プロジェクト ~Melissa~ 4. 今後の 日経ID について

Slide 24

Slide 24 text

やはり何といっても Passkeys 24 ✔ 会員数が1100万と非常に多くインシデントが起きると影響が大きい ✔ 日経のユーザーは年齢層が高く、ログインにも高いUXが求められる ✔ モバイルユーザーが多くPassKeys導入の下地はできている 日経IDのユースケースによく合致しており導入の期待値が高い Point

Slide 25

Slide 25 text

We're hiring !! 25 https://hack.nikkei.com/jobs/ 日経IDチームを始め、テクノロジーメディアを目指す日 本経済新聞社ではデジタルサービスにおける技術力向 上を重視しており、最新の技術に興味のあるエンジニア を随時募集しております。

Slide 26

Slide 26 text

26 End