ビズリーチが100万超のユーザーをログアウトさせずに認証基盤をOktaへ移行

1,000,000

100万を超えるユーザをログアウトさせることなく、ビズリーチの認証基盤をOktaへと移行

3

稼働中の大規模サービスの認証基盤の移行を3人のエンジニア体制で約8カ月で実現

50

従来の独自開発と比べて認証基盤の実装・運用コストを50%以上削減することに成功

「Oktaを採用することで認証機能の実装・運用コストを削減でき、パスワードなどの秘匿情報を一元管理することで漏洩や不正利用のリスクを下げることができました。また、認証にまつわるさまざまな機能も追加しやくなるなど、『キャリアインフラの実現』というビジョンに向けた布石を打つことができました」

株式会社ビズリーチ リクルーティングプロダクト本部 プラットフォーム開発部・部長 菊池信太郎 氏

「キャリアインフラ」の実現に向けた経営基盤の強化

東京都渋谷区に本社を置く株式会社ビズリーチは、「キャリアに、選択肢と可能性を」をミッションに掲げ、HR Tech領域において、ITを活用したさまざまなサービスを運営しています。現在は、即戦力人材と企業をつなぐ転職サイト「ビズリーチ」や、採用から入社後の活躍までの人事業務支援と従業員情報の一元化・可視化により、データに基づく人財活用を実現する人財活用プラットフォーム「HRMOS(ハーモス)」シリーズ、OB/OG訪問ネットワークサービス「ビズリーチ・キャンパス」などを展開。社会構造や労働市場が激変し、これまでの働き方の常識が通用しない時代において、たくさんの選択肢と可能性を提供し 、一人ひとりが活き活きと働くことができる社会を作るために、「『キャリアインフラ』になる」というビジョンの実現に向けて邁進しています

こうした会社の急成長を支える重要な役割を担うのが、ビズリーチ事業やキャンパス事業などのプロダクト開発を担当するリクルーティングプロダクト本部内に設けられた「プラットフォーム開発部」です。

「プラットフォーム開発部ではお客様向けのプロダクトを直接開発するのではなく、キャリアインフラを今後実現するうえでプロダクト開発に必要となる機能や基盤の強化を行っています」(リクルーティングプロダクト本部 プラットフォーム開発部・部長 菊池信太郎 氏)

「人生100年時代と言われる中、これからは何度も転職することが当たり前の世の中がやってきます。新卒から若手、中堅、ベテランといったどんなフェーズにおいても、多くの人が自分のキャリアと向き合い続けるでしょう。当社では『キャリアインフラ』として、そうした個人のキャリアに伴走するサービスを多方面に展開していきたいと考えています。具体的には、今後は転職の裾野が広がっていき、求職者様も採用企業様もニーズが細分化していくことが予想されますので、たとえば検索やレコメンドの精度などマッチングプラットフォームとしての1つ1つの機能を改善し続けることで品質を高め、事業の加速につなげていきたいと思います」(菊池氏)

独自開発ではなくOktaを採用した理由

キャリアインフラ構想の実現に向けて着実に経営基盤の整備・強化を進める中で、プラットフォーム開発部がいち早く着手したのが、ビズリーチプロダクトの認証基盤の刷新でした。ビズリーチプロダクトはBtoC(求職者である会員)向けの部分と、BtoB(採用企業)向けの部分からプラットフォームが構成されていますが、このBtoC向けの認証基盤として、新たにクラウド型のアイデンティティ管理サービス「Okta Customer Identity Cloud(旧Auth0、以下Okta CIC)」を採用したのです。その狙いは、大きく3つありました。

まず1つ目は「ユーザーが1つのアカウントとパスワードで横断的にサービスを利用できる」ようにするためです。ビズリーチをはじめ、同社のプロダクトはそれぞれ事業フェーズやビジネスモデルが異なり、リリース当初は各事業を成り立たせることを優先したため、これまではプロダクトごとに認証機能を独自開発していました。そのため、たとえば複数のプロダクトを利用するにはそれぞれ登録する必要がありますが、今後キャリアインフラとしてさまざまなサービスを展開していくことを見据え、ユーザーが1つのアカウントとパスワードで横断的にサービスを利用できることを重視したのです。

「認証基盤は当社のプロダクトで絶対に必要なものですし、セキュリティリスクの観点からも早めに強化したかったため、優先順位を高くして対応しました。Okta CICを導入することで認証基盤を統合し、シングルサインオンによってお客様が利便性高く横断的にサービスを利用できる環境を整えたかったのです」(菊池氏)

2つ目の狙いは、「新たにサービスを構築する際の認証機能の実装・運用コストを削減する」ためです。認証・認可には高度な専門的知識が必要とされることから、独自開発する場合はそのためのエンジニアを雇用し続ける必要があり、運用コストが大きくなってしまう可能性があります。

「認証・認可の仕組みはとても複雑ですし、セキュリティにも大きく関わります。万が一、会社の機密情報の漏えいや個人情報の流出などが起きてしまうと、会社の基盤を揺るがしかねません。そのため独自開発する場合は優れたエンジニアを常にアサインし続けなければなりませんが、国内で優れたエンジニアを確保することが年々難しくなっています。認証基盤の実装・運用コストを人件費として計上するのか、それともOkta CICのようなソフトウェア費として計上するのかという投資判断を迫られますが、当社のビジネスのコアドメインは認証ではなく、マッチングの部分です。そちらに優秀なソフトウェアエンジニアのリソースを集中したかったのです」(菊池氏)

そして3つ目の狙いが、「パスワードなどの秘匿情報を一元管理し、漏洩や不正利用のリスクを下げる」ためです。プロダクトごとに認証機能を独自開発するとその分セキュリティリスクが高まるうえ、セキュリティ対策も個別に行う必要があります。それを踏まえると、さまざまなセキュリティの機能を有し、盤石な体制で安全性を担保してくれるOkta CICを利用して一元管理するほうが、セキュリティリスクへの対応としては妥当だと判断したのです。

「『学習コスト』もOkta CICを採用した理由の1つです。認証機能は一度開発したら、その後あまり手を加えることはありません。開発を担当した人は知識や経験があるのですが、別のエンジニアが保守・運用を行う場合は知識や経験を持ち合わせていないこともあるため、新たな学習コストがかかってしまいます」(リクルーティングプロダクト本部 プラットフォーム開発部 会員基盤グループ・マネジャー 山本凌平 氏)

Oktaの充実したユーザ移行機能によって工数を削減 

このような背景からプラットフォーム開発部では2021年8月頃に認証基盤のプロジェクトチームを発足してOkta CICへの移行をスタートさせましたが、実際の移行作業を行ううえで、プラットフォーム開発部でもっとも重視したのは「既存ユーザーがログアウトされないこと」だったと言います。なぜなら、当時のビズリーチプロダクトはスカウト可能会員数が100万人以上(2023年10月末時点では227万人以上)、かつ月間利用者数も多い国内最大級の転職サービスであり、認証基盤の移行にあたって「ユーザーが強制的にログアウトとなること」は「多くのユーザーがサービスのご利用を継続できなくなること」につながる可能性があったからです

「メールアドレスとパスワードでログインすることが習慣化されているBtoB向けのサービスとは異なり、BtoC向けのサービスでは、お客様が頻繁にログインを行わないことによるパスワード忘れが発生しがちです。そして一度忘れてしまうと、次にログインすることなく、サービス自体から離脱されてしまうケースがあります。以前、BtoC向けのサービスで既存ユーザーを新しい認証基盤に移行する際、全ユーザーを一度ログアウトさせることになったのですが、多くのユーザーがそのままサービスに戻ってきませんでした。そうした失敗があったので、今回は絶対に既存ユーザーをログアウトさせることなく移行することが求められました」(山本氏)

そこでプラットフォーム開発部が目をつけたのが、Okta CICに搭載されている数々の移行機能でした。具体的には、Okta CICへの移行を「アクティブユーザーの個別移行」「その他(非アクティブな)ユーザーの一括移行」の2つのフェーズに分け、ビズリーチに新規登録・ログインなどを行った「アクティブユーザーの個別移行」にはOkta CICの「自動マイグレーション(Automatic Migration)」機能を利用。「Custom Database Action Script」と呼ばれるスクリプトファイルを書くことで、自社サービスのAPIやデータベースと連携し、ユーザーデータを移行しました。

「ユーザーがメールアドレスとパスワードでログインするとOkta CICのユーザーデータベースにユーザー情報の取得を行い、もしデータが存在しない場合は、独自のスクリプトで既存のビズリーチのユーザーデータベースからユーザー情報を取得します。そしてユーザーデータベースに情報があればビズリーチのIDを付与した形でOkta CICのユーザデータベースに自動登録することで移行が完了となります」(山本氏)

自動マイグレーション機能はメールアドレスとパスワードを用いたログインのときのみ利用でき、ソーシャル連携ユーザーの場合には利用できませんが、Okta CICにはさまざまなソーシャルサービスとの連携が可能な「Social Connection」機能が搭載されています。それを活用してユーザーがソーシャルサービスへのログインを完了した時点で、Okta CICのユーザーデータベースに情報を先に登録。そしてOkta CICの「Actions」(当時は「Rules」)機能を利用して、ユーザーのIDTokenにソーシャルサービスのユーザーIDを追加して既存のビズリーチのユーザーデータベースと紐付け、対象のOkta CICのユーザーにビズリーチユーザーのIDを「Managment API」を利用して付与しています。

一方、「その他(非アクティブな)ユーザーの一括移行」に関しては、Okta CICに搭載されている「一括インポート」機能を利用しました。具体的には、ビズリーチのユーザーデータベースから移行対象のデータを取得し、ユーザー情報を定義したJSONファイルを作成することで、Okat CICのManagement APIを使ってOkta CIC側のユーザーデータベースへ一括で移行しました。

既存サービスの認証機能の移行には困難な面も多いとされる中、Okat CICの機能を上手に活用することで、見事に「100万ユーザーをログアウトさせることなく」移行に成功しました。

「お客様の中にはログイン画面が変わったことに気がついた方はいたかもしれませんが、特に意識することなくこれまで通りビズリーチサービスを使っていただくことができました。新しい認証基盤に移行しても、ログアウトによるサービス離脱が起きなかったことはとても大きな成果です」(菊池氏)

「認証基盤の刷新に伴って強制ログアウトが発生したり、サービスが使えなくなってしまったりすると、ユーザー体験が悪くなり、サービスの評価も下がってしまうことも考えられます。また、マーケティング部やCRMを管理するチームにとっては、BtoCサービスにおけるお客様のログイン/登録動線は重要な指標です。そうした中で、自分たちでイチから仕組みを考えることなく、無事に移行できたのはOkta CICのおかげでした」(山本氏)

なお、プラットフォーム部で実際の移行作業に要した期間は、約8カ月(技術検証に約1カ月、設計・開発に約6カ月、テストに約1カ月)。3名のエンジニアで担当しました。

「基本的な移行作業はすぐに行えたのですが、ソーシャル連携ユーザーや『RFC』に準拠しないメールアドレスで登録しているユーザーの移行など、標準的なログイン/認証フローと外れていた部分の移行にはやや時間を要しました。当社の場合は10年以上運用しているプロダクトに導入したためレアケースが発生しましたが、新規サービスや歴が浅いサービスであれば、1〜2カ月ぐらいあれば移行できると思います」(菊池氏)

また、独自開発したときとの正確な比較はできないものの、開発工数は半減できたと言います。

「3人で独自開発した場合は、現在Okta CICによって担保されているセキュリティ機能などの開発・検証コストも発生しますので、より人的リソースが必要となり、開発スケジュールも延びたと思います。それを考えると、もしかしたら50%以上の削減に寄与しているかもしれません。また、それによって創出された時間を、別のシステム開発に充てることができたのも大きなメリットです」(菊池氏)

セキュリティや可用性、サポートもOktaの選定ポイント

クラウドベースでの認証・認可や管理、アクセス制御を行うサービスはさまざま存在する中で、なぜプラットフォーム開発部ではOkta CICを選択したのでしょうか。

「導入にあたりさまざまな製品を比較検討しましたが、『移行時に既存ユーザーがログアウトされないこと』を重視していたこともあり、ユーザー移行機能がもっとも充実していたOkta CICを選定しました。また、セキュリティや可用性、サポートの面なども評価し、総合的に判断した結果です」(菊池氏)

セキュリティの面では、Okta CICはMFA(多要素認証)やパスキーなどの認証手法の豊富さと、最新の認証機能に追従するスピードが頭1つ抜きん出ていたと言います。

「独自開発をする場合は、新しいセキュリティ脅威へ対応するためのリードタイムが長くなることが懸念されます。その点、Okta CICには、これまで独自開発していたブルートフォースアタックのプロテクション機能や不正なIPの検出機能などのさまざまなセキュリティ機能が搭載されていますので、自分たちで開発・運用する必要がありません。また、サイバー攻撃は年々高度化・多様化しているので、私たちのような普通の事業会社ではそれにキャッチアップしていくのは大変なコストがかかります。弊社にもセキュリティ室は存在するものの、認証以外のセキュリティに関してもさまざまな対応が求められるため、Okta CICに一任することで、セキュリティ室の負担を減らすことができたのも有り難かったです」(菊池氏)

また、可用性に関しては、Okta CICは「自社プロダクトでも利用するAmazon Web Services(AWS)で稼働していること」「SLAで99.99%の稼働率を保証し、比較した製品の中では一番高かったこと」「98%の認証リクエストを500msで行うというレイテンシーに関する言及があったこと」を評価。そしてサポート面では、「サポートへ問い合わせた際のレスポンスが早く、素早く的確な回答が返ってくること」「さまざまなユースケースに関するドキュメントが用意されていたり、特定のAPIを利用する際のベストプラクティスが用意されていること」が大きかったと言います。

「そうしたリソースが用意されていないと、知らず知らずのうちに性能が劣化するような使い方をしてしまったり、原因がわからないのでサポートに問い合わせたりする必要が出てきます。できる限り問い合わせに時間を使わずに、ドキュメントを参照してすぐに自分で解決できることが、エンジニアは一番うれしいのです」(山本氏)

加えて、Okta CIC導入後は、ユーザーからの問い合わせにスムーズに対応できるようになったこともメリットだったと言います。Okta CIC切り替え1カ月後は、考慮漏れなどで従来の仕様とは異なる部分が生じたことで、お客様からの問い合わせが増えましたが、Okta CICはダッシュボードやイベントログを使って原因をすぐに特定することができました。また、プラットフォーム開発部では、お客様対応に直接あたるカスタマーサポート部向けに、独自の管理画面を作成することで、お客様からの問い合わせをカスタマーサポート部内で完結できるようにしました。

「Okta CICのイベントログをAPIで取得して、非エンジニアの方も確認できるように成形した管理画面を作成しました。これによってカスタマーサポート部の担当者がイベントログをお客様の会員番号と突き合わせたり、メールアドレスと突き合わせたりすることができますので、お客様からの問い合わせ対応が私たちエンジニアに来ることはほぼなくなりました」(山本氏)

エンジニアをビジネスのコアドメインに集中

ビズリーチプロダクトのように大規模な既存サービスの認証基盤の刷新ともなれば、実に大掛かりなプロジェクトとなり、人的・金銭的なコストの負担も大きくなることから、実施に二の足を踏む企業も少なくないでしょう。しかし、今回のプラットフォーム開発部のOkta CICの導入からは、事業成長に必要なものであれば短期的なコストにとらわれることなく、中長期的な視点に立って投資するという、同社の積極的な姿勢が見て取れます。

「事業の成長を考えたときに、会社の利益は売上のトップラインから経費を差し引いた部分なので、投資を抑えてコストを最小限にするのも1つの戦略でしょう。しかし、認証基盤に関しては、セキュリティリスクを考えたときにレベルの高いエンジニアを雇用することが難しいことから、Okta CICのような製品に投資する価値は十分にあると思います。つまりはエンジニアのリソースをどこに投資するかという話なのですが、社会にインパクトのある価値を提供するためには、事業において競争力を生み出すコアドメインにこそリソースを集中したいというのが、開発者そして経営者の本音なのではないでしょうか。当社としてはキャリアインフラを実現するために開発リソースがいくらあっても足りない状況ですので、セキュリティを担保しながら売上のトップラインを伸ばすためには、コアドメインではない認証基盤に中長期的なコストを考えて投資するのは必要不可欠だと判断しました」(菊池氏)

こうした言葉に裏づけられるように、プラットフォーム開発部では経営基盤を整備・強化する中でいち早く認証基盤へ投資することで、「キャリアインフラの実現」に向けた布石を打つことに成功しました。今後は、MFA導入によるユーザー認証の強化やユーザーの利便性を上げるパスキーへの対応など、お客様にストレスなくプロダクトを利用してもらうための機能を積極的に取り入れていきながら、新規プロダクトをリリースする際にOkta CICによって一元管理した顧客基盤を活用することで、より便利なマッチングのプラットフォームを提供していきたいとしています。また、現在はビズリーチプロダクトのBtoC部分だけにOkta CICを採用していますが、今回の導入で得た知識や経験を活かしてBtoB側にも展開していくことを見据えています。