人材サービスのサブシステムの認証基盤をOkta CICでスピーディに構築したdip

3

新たな3つのクライアント向け認証基盤をOkta CICで構築

4

機能、運用性、サポート、コストの4つの観点からOkta CICを選択

7

認証基盤の自社開発にかかった工数に対し、Okta CICの活用で開発工数を7割削減

  • 人材サービスのサブシステムの認証機能をサブシステムごとに開発していたため、開発コストや開発リソースがかかっていた
  • これまでの認証基盤の開発はプロダクトをリリースするまでに時間を要した
  • クラウド型の認証プラットフォームサービスを利用するうえで自社のユーザデータベースを参照する必要があった
  • ログイン画面がサブシステムごとに異なるのでクライアントにとってわかりづらかった
  • セッション管理がサブシステムごとに行われるため、クライアントはログインし直さないと利用できない
人材サービスのサブシステムの認証機能をサブシステムごとに開発していたため、開発コストや開発リソースがかかっていた

新たに開発した3つのサブシステムの認証基盤をOkta CICを用いて共通化することで開発コストや開発リソースを削減

これまでの認証基盤の開発はプロダクトをリリースするまでに時間を要した

Okta CICによって新しいシステムを開発する際に認証部分の開発を気にすることなく、プロダクトのコア機能に注力して効率的に開発を進められる環境が整った

クラウド型の認証プラットフォームサービスを利用するうえで自社のユーザデータベースを参照する必要があった

Okta CICに搭載されている「Custom Database Connection(カスタムDB接続)」機能を使うことで、既存のユーザデータベースを参照してログインできる環境を実現

ログイン画面がサブシステムごとに異なるのでクライアントにとってわかりづらかった

Okta CIC導入によってサブシステムごとにログイン画面を共通化したことで、クライアントのログイン時のUXを向上

セッション管理がサブシステムごとに行われるため、クライアントはログインし直さないと利用できない

Okta CICをメインシステムの認証基盤にも用いることで、クライアントがSSOでさまざまなシステムにスムースにログインできる環境構築の道筋が見えてきた

「Okta CICを導入したことでサービスごとに認証機能を開発する必要がなくなり、開発コストや開発リソース、開発工数を大幅に削減できました。そして、こうして創出された時間を顧客価値の向上へとつながるプロダクトのコア開発に使えるようになりました。」

ディップ株式会社 商品開発本部 システム統括部 システム開発2部 グロースエンジニアリング課 テックリード 佐草 和哉 氏

dip hero

創業時から掲げる理念と2025年に向けたビジョン

Dream(夢)、Idea(アイデア)、Passion(情熱)。それぞれの頭文字の組み合わせを社名の由来とする「ディップ株式会社」(以下、dip)は、"私たちdipは夢とアイデアと情熱で社会を改善する存在となる"を企業理念に掲げ、人材サービス事業およびDX事業の提供を通して、日本の労働に関わる課題解決に取り組んでいます。人材サービス事業としては、日本最大級のアルバイト・パート求人情報サイトである「バイトル」をはじめ、正社員・契約社員を目指す方のための求人情報サイト「バイトルNEXT」、専門職の総合求人サイト「バイトルPRO」、総合求人情報サイト「はたらこねっと」などを展開しています。

また、AIやRPAを活用することで中堅・中小企業のDX化を支援するDX事業では、面接を自動でロボットが対応する「面接コボット」や、入社手続き完結までの人事労務業務の工数削減を実現する「人事労務コボット」、採用ホームページ制作サービス「採用ページコボット」などをリリースしています。さらに、2021年5月に発表した中期経営戦略「dip2025」では"2025年2月期の売上高1000億円、営業利益300億円"の達成を目指して人材サービス事業およびDX事業を強化するビジョンの発表に加え、SDGsにまつわる新規事業にも乗り出し、さらなる企業価値向上の実現を目指しています。

未来を形作るためのエンジニア組織の変革

労働人口の減少が深刻化する日本において、同社が今後のビジネス成長の鍵と捉えているのが「テクノロジーの力で事業を進化させていくこと」。そのために「dip2025」では、"ガンガン作れる200人体制"という戦略を発表し、エンジニアの内製化を推進しています。エンジニアの数を200名まで増やし、プロジェクトや開発パートナーのマネージメントが中心だったエンジニアの業務を、企画段階からプロジェクトに関わることで自分たちで手を動かしてスピーディーにサービス開発・提供行えるエンジニア組織へと変えようとしているのです。

dipのシステム統括部・R&D推進室に在籍するテックリードの佐草和哉さんは、「そうした環境の中でジョインすれば、与えられる裁量が大きく、自分の影響を組織に伝えることができ、エンジニアとしての技術も高められると思い、dipへの転職を決めました。また、dipには挑戦する風土が根付いていたこと、またキャリアアップしてもマネージメント業務を行うのではなく、"テックリード"(エンジニアチームの技術的なリーダー)として技術を磨き続けられるキャリアパスが存在していたことも魅力でした」と語ります。

佐草さんは、大手商社系のSierで金融システムの開発や、海外ベンチャーと協業したSaaSの開発などを行ったあと、2021年7月にdipへ入社。人材サービス事業が管轄する商用サービスのシステム技術の戦略の立案・推進や最新技術のキャッチアップ・検証、プロダクトの選定等を行うシステム統括部のR&D推進室において、入社当初はバイトルPROのAPI開発プロジェクトを担当したのち、クライアント向け認証基盤の開発を任されました。認証基盤の開発は未経験だったものの、社内で開催される「アーキテクトハック」(役職を問わず誰でも参加できる、社内システム改善の取り組み)への参加をきっかけに自ら希望したのです。そして、この挑戦がのちにOktaの顧客向けアイデンティティ管理サービス「Okta Customer Identity Cloud(以下、Okta CIC)」の導入へとつながります。

dip 1

これまでの認証基盤が抱えていた課題

佐草さんが開発を担当することになったクライアント向け認証基盤とは、求人情報を掲載する企業が利用するシステムの認証基盤のことを指します。dipでは提供する人材サービスごとに募集原稿を入力して公開するシステムや採用管理を行うシステムなどさまざまなサブシステムを提供しており、これらを日々多くのクライアントが利用していますが、2021年7月頃に開催されたアーキテクトハックでその認証基盤の課題が話題になりました。

サブシステムごとに認証機能を開発していたため、開発コストや開発リソースがかかっていたことや、ログイン画面がサブシステムごとに異なるのでクライアントにとってわかりづらかったこと、さらにはセッション管理がサブシステムごとに行われるため、ログインし直さないと利用できないといった課題です。

「そうした中で新たに2つのサブシステムを開発する必要があり、今後は認証基盤を共通化することにしたのです。共通で使える基盤を作ったほうが開発コストや開発リソースの増大を防げますし、クライアント様のユーザエクスペリエンスも改善します。また、将来的にSSOでログインできるようになれば、クライアント様のログインの二度手間三度手間も省けることに加え、新しいシステムを開発する際も認証部分を気にすることなく、プロダクトのコアの機能に注力できて効率的に開発を進められると考えました」

「Oktaがベスト」と判断した理由

そこで佐草さんが目をつけたのが、クライアント向け認証基盤をクラウドで提供するサービスでした。導入にあたっては「機能」「運用性」「サポート」「コスト」の4つのポイントを重視。いくつかの製品を比較検討した結果、Okta CICへと辿り着いたのです。

Okta CICを選ぶ一番の決め手となったのは、クライアントのユーザ情報をOkta CICに移行することなく、自社の既存のデータベースを利用し続けられる「Custom Database Connection(以下、カスタムDB接続)」の存在です。

「当初データベースをJSONやCSVでOkta CICへ移行(コピー)して利用することも考えました。しかし、それではクライアントが増えるたびに、双方のデータベースを継続的に同期しなければなりません。Okta CICのカスタムDB接続を使えば、そうした移行の必要がなく使い始められる点が魅力でした。弊社ではセキュリティ上の観点からプライベートクラウドにクライアントDBがありますので、直接つなぐのではなく、自社で開発した簡単なAPIを介して接続しています」

また、機能面ではSAML認証の機能も重宝したと言います。dipではクライアントの求人情報の原稿を同社の社員が書くことがありますが、その際にSAML認証の機能を使って、Azure AD(Active Directory)ベースの社内システムのユーザ情報でサブシステムにログインできるようにしています。

運用面に関しては実際に使ってみないとわからない部分が多かったものの、管理画面は非常に使いやすく、開発者をサポートするドキュメントが豊富に用意されていた点を評価しています。「Oktaが用意しているドキュメントには、Okta CICに直接関係のないものもたくさんあります。ユースケースに応じてどのような認証の仕組みや機能を使ったらいいかなども掲載されているのでとても参考になりました。また、Okta CICはOpenID Connectに準拠しているのでOpenID Connectの理解が進むにつれ、どんどん使いやすくなっていきました」

クライアント向け認証基盤の開発を始めるにあたり、認証・認可の知識をいちから学び直したという佐草さん。Okta CICではサポート面が充実していることも大きなメリットに感じたそうです。「サポートに質問を投げたとき返信に数日かかる製品もある中で、Okta CICの場合は基本的に1日、しかも的を得た回答が返ってきます。また、"このようなコードを書いてみては?"といったサンプルが付いていたりして、問題が解決するまでしっかりとサポートしてくれるという姿勢にとても好感が持てました」

こうした機能や運用、サポートの面で受けられるメリットを鑑みた結果、Okta CICのコストも妥当だと佐草さんは判断。dipのCTOである豊濱吉庸さんにも論理的に説明したところ、新しい技術への理解もあり、すぐに導入を快諾してもらえたと言います。

自社開発に勝るOkta導入のメリット

Okta CICを利用した新しい2つのサブシステムの開発は、2021年12月頃に話が出てから、実際の導入フェイズを経て2人体制でわずか6カ月ほどで完了。そして、その後開発したもう1つのサブシステムを合わせて、現在3つのサブシステムの認証基盤にOkta CICを用いています。

自社開発するのと比べたときのOkta CICの大きなメリットは、やはり時間やリソースをかけることなく、スピーディに開発できることだと言います。一概には比較できないものの、バイトルなどのユーザ向け認証基盤の自社開発には45人月ほど工数がかかったのに対し、今回のサブシステムの開発には15人月ほどで済み、工数を約7割削減できたことになります。「今回のサブシステムの開発は業務に特化したものなので、そこまで大きなシステム開発ではありません。そのため、認証のせいで工期を遅らせたりすることなく、企画してからいかに素早くリリースできるかが重要です。それを実現するためには、開発に人的リソースをかけることなく、認証部分はOkta CICに任せてスピーディに世の中に出すほうが合理的です」

また、認証基盤には安全性が高く求められることもあり、Okta CICを使えばセキュリティ面がしっかりと担保された安全な認証基盤を開発できるという点も自社開発と比べたときのメリットだと言います。「自分たちで作った場合は、セキュリティホールがないかどうかと疑心暗鬼になることがあります。また、日進月歩で進化する新しいセキュリティ技術にキャッチアップする必要もありますから、それを認証のプロであるOkta側に任せられるのはとても有り難い点です」

dip 2

Okta導入で見えてきた新たな可能性

Okta CICを用いたサブシステムの開発を終え、佐草さんはさらなるOkta CICの活用も視野に入れています。中でも着目しているのが、Okta CICの「Actions」機能。これを用いるとログインしたユーザのトークンに対して付加情報を加えることができます。たとえば複数の企業組織に所属しているユーザーがログインしたときに、そのユーザがどの企業に所属しているかといった情報です。これは、OpneID Connectの通常のフレームワークにはない機能です。

また、今後はクライアントが利用するバイトルなどのメインシステムの認証基盤にもOkta CICを導入することを検討しています。「大きなシステムなので改修には時間がかかりますが、メインシステムの認証基盤にOkta CICを使うことでSSOを実現でき、クライアント様は再度ID/パスワードを入力することなくサブシステムへログインできるようになります。また、バイトルやバイトルNEXT、はたらこねっとといった複数の人材サービスに求人を出されているクライアント様もいるので、それらのメインシステムにも導入すればサービス間のSSOを実現でき、クライアント様のログイン時のUXをさらに高めることができます」

加えて、将来的には、それぞれの人材サービスで共通して実装している処理を切り出して共通APIを開発し、そのAPIの認可にOkta CICを活用することも検討しているそうです。

"ユーザファースト"を後押しするOkta

このように"一度作ったら終わり"ではなく常にプロダクトをアップデートし続けようとする姿勢は、創業時からdipの社内に浸透している"ユーザファースト"の考え方から来るものです。現在バイトルではWeb動画を通じて時給アップを呼びかける「時給UP企業応援団」企画を行っていますが、それもユーザファーストの好例です。そして、そうした施策をスピーディにリリースするために、システム統括部では「CI/CD(Continuous Integration:継続的インテグレーション)/ Continuous Delivery:継続的デリバリー」の開発手法を取り入れるなどして後押ししています。

「システム統括部では"働く人の本質的な課題をエンジニアリングで解決する"をミッションに掲げています。そのためにはユーザファーストを意識して、何を開発するにしても、使う人がどう思うのか、どうすれば使いやすくするのか、どうしたらエンゲージメントが高まるのかを常に考えています。そうした観点から見ると、クライアント向け認証基盤を開発するにあたり、開発期間やリソースを大きく削減できたことで、新たに創出された時間をユーザファーストにつながる既存のプロダクトの機能強化に費やせたことがOkta CICの導入の大きな価値だっとと思います」

刻々と変化する世の中のニーズや日々進化するテクノロジーに素早く対応してビジネスを加速させるために、エンジニアの組織や開発体制を刷新したdip。現在エンジニアの数は127名(2023年3月現在)にまで増え、社内には多様性に溢れ、コミュニケーションが活発に行われる風通しのよい環境が整っていると言います。佐草さんのように、そうしたdipの風土や環境に魅了されてジョインするたくさんのエンジニアがこれからの同社の大きな成長ドライバーになっていくに違いありません。

dip 3