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

新認証基盤へ100万ユーザーをゆるやかに移行する / Findy_lunchLT_20231219

新認証基盤へ100万ユーザーをゆるやかに移行する / Findy_lunchLT_20231219

2023年12月19日に開催された「認証基盤 開発者が知っておくべき構築のおきて」の登壇資料です。
https://findy.connpass.com/event/303608/

▼関連資料
100万ユーザーをログアウトさせずに新認証基盤に移行した話
https://engineering.visional.inc/blog/442/bizreach-authentication-infrastructure-migration/

-----
Visionalのエンジニアリングに関する最新情報はTwitter、ブログで発信しています!📣

▼Visional Engineering Blog
https://engineering.visional.inc/blog/

▼VISIONAL ENGINEERING Twitter
https://twitter.com/VISIONAL_ENG

More Decks by Visional Engineering & Design

Other Decks in Technology

Transcript

  1. 中⻑期的なコスト • IDaasであることは必須 • 独⾃開発は中⻑期的にみると運⽤コス トが⼤きい ◦ 認証・認可領域に明るいエンジ ニアの雇⽤ ◦

    新しい認証形式への追従 機能の充実さ • セキュリティ、可⽤性、サポートなど を総合的に判断 • パスワード再設定不要のユーザー移⾏ 機能が充実 ◦ ユーザー移⾏の⼯数削減 強制ログアウトなし • ユーザーのサービス離脱を起こさない ◦ 別プロダクトリニューアルで強 制ログアウトした際、多くのユ ーザーがサービスに戻らず • 既存ユーザーをログアウトさせること なく移⾏させる ◦ 「ビズリーチ」はユーザー数百 万オーダーのため 要件を最も満たしたOkta CIC 以下の観点を満たすため Okta Customer Identity Cloud※以降Okta CIC で移⾏を実現
  2. Ph.1 アクティブユーザーの個別移⾏ • 移⾏中に新規登録・ログインしたユーザーを対 象とした移⾏ Ph.2 その他ユーザーの⼀括移⾏ • Ph.1以外の⾮アクティブなユーザーを対象とし た移⾏

    複数の⽅法を組み合わせた移⾏ 全ユーザーを⼀括移⾏するには2~3⽇のサービス停⽌が必要 → 2フェーズのゆるやかな移⾏を実現
  3. 利⽤できるログイン⽅式 • メールアドレス・パスワード • Facebook • Google • Apple •

    Yahoo! JAPAN ID • LinkedIn • GitHub(現在はログインのみ) https://www.bizreach.jp/login/
  4. Automatic Migration機能 • Custom Database Action Script(以降、Action Script) を書く ◦

    ⾃サービスのAPIやDBと連携可能 ◦ JavaScriptで記述することができる • ビズリーチのユーザーIDを紐付けられるように Action Scriptを記載した Automatic Migration機能を利⽤した移⾏ https://auth0.com/docs/manage-users/user-migration#automatic-migrations
  5. ユーザーデータのImport APIの利⽤ その他ユーザーの⼀括移⾏ • Okta CICはManagement APIでユーザーデータ のImport API を提供

    ◦ パスワードも合わせて移⾏可能 ◦ custom_password_hash プロパティで様々 なハッシュアルゴリズムのインポートに対 応可能 • 上記APIを利⽤したバッチを組むことで⼀括移⾏ を実現 • ただし、ソーシャル連携ユーザーは移⾏不可 https://auth0.com/docs/api/management/v2/jobs/post-users-imports
  6. 複数の⽅法を組み合わせて既存ユーザー移⾏を実現 • Ph.1 アクティブユーザーの個別移⾏ • Ph.2 Management APIを利⽤したその他ユーザーの⼀括移⾏ 認証基盤構築後の運⽤から得た⼼得 •

    予め問い合わせが増えることを⾒越した体制構築と回答のナレッジ化が鍵 • 各種Best Practicesは必ずチェックを • 仕様変更をユーザーに受け⼊れられなかった場合の対応も予め検討すべき まとめ IDaas(Okta CIC)を選んだ理由 • 中⻑期的なコスト • 強制ログアウトなし • 機能の充実さ
  7. ビズリーチでは各職種を絶賛採⽤中! • Software Engineer • iOS / Android Engineer •

    Engineering Manager • QA Engineer • Data Scientist • MLOps Engineer • Designer • Product Manager カジュアル⾯談はこちらから https://hrmos.co/pages/hrmos/jobs/3100100100963/apply