SmartHR Tech Blog

SmartHR 開発者ブログ

情シス領域参入の第一歩として、IdP機能をリリースしました

こんにちは!基盤開発本部という部署でダイレクターをやってますsaitorycです。

先日プレスリリースも出しましたが、SmartHRからIdP機能をリリースしました。
IdP機能とは、ユーザー認証を一元的に管理し、複数のアプリケーションやサービスへのアクセスを可能にする仕組みです。
この機能の中核として、「シングルサインオン(SSO)」というものがあります。シングルサインオンとはユーザーが一度ログインするだけで、様々なサービスにシームレスにアクセスできるようにする技術です。
つまり、IdP機能は、SmartHRのIDとパスワードを利用して外部クラウドサービスにログインできるようにするためのものです。ログインの手間やパスワード管理の負担を下げて、業務効率化を図ることができます。 この機能は、SmartHR Plusのインストールページからインストールすることで気軽に使うことができます。

この記事では、すでにIdP機能を提供しているサービスも多い中で敢えてSmartHRがそこに挑戦する理由、実際の開発体制、今後の展望などをお伝えできればと思います。

なぜIdP機能を?

まずは、「なぜSmartHRが今IdP機能に取り組むことにしたのか」について説明します。
SmartHRの特徴として「入社手続きを経て従業員マスタが常に最新化されており、アカウントも1人1つ持っている」ということがあげられます。
もちろん退職時にも退職処理を行うので、アカウント無効化も運用上必ず行われることになります。
さらに従業員データベースとしての機能も持つため、役職や部署などの情報も最新化されます。

それらを踏まえると

  • 入退社に連動してアカウントが作成・停止でき、管理の手間が減る
  • 役職や部署指定で権限を付与することで、異動や役職変更があった際に自動で権限を付与できる

という2点を最大限活かすことで、SmartHRがIdP機能を提供する価値は十分にあると考えました。

ただし、従来のSmartHRはあくまで「人事労務向けのサービス」でした。
そのため以下のような課題がありました。

  • 管理者権限を持っているのはだいたい労務の方
    • IdPは主に情シスの方が管理者になることを想定している
  • 雇用契約のない方(業務委託など)はアカウントを持たないケースが多い

権限に関しては、管理者以外にも権限を付与する機能があるので、情シス用のカスタム権限を用意していただく想定で対応しました。
SmartHRではタレントマネジメント系のプロダクトも増えており、機能によって管理者が変わることが前提になりつつある今なら、そこまで違和感なく使っていただけるだろうと考えています。

一方雇用形態によるアカウントの有無に関しては、現時点ではまだ課題が残っていますが、雇用形態別の課金機能の導入を現在積極的に検討しています。
対応が整えば、より幅広いお客様にご利用いただける機能になると期待しています。
リリースしたばかりの機能なので、他にも改善すべき点があることは認識していますが、機能を充実させることで課題を解消し、強みを最大限に発揮できるよう迅速に対応していきたいと考えています。

開発体制

SmartHRが214億円調達、情シス向けID管理サービスに参入へ 事業承継したメタップスクラウドのノウハウ生かす - ITmedia NEWS」に

「23年に事業承継したメタップスクラウドのノウハウを生かし、従業員データを中心に全ての業務がつながる形を目指す」(芹澤雅人CEO)

とある通り、今回の開発にあたってはメタップスクラウドのノウハウを活かすため、元メタップスクラウドの開発チームの方々を中心にチームを編成しています。
SmartHRではこういった形でのチーム組成がほぼ初ということもあり、正直初めは探り探りな部分も多かったような気がします。もう1年近くも前のことなので記憶も薄れ気味ですが……。

SmartHR側の既存機能などの仕組みを私から伝えつつ、従来のSmartHRには欠けていたID管理領域における事業開発の知見を最大限発揮してもらう、という形で開発をスタートし、無事リリースまで至ることができました。
せっかくなので、リーダーとして開発を推進してくれたgoro sanにいくつか質問をしてみました。


Q1. SmartHRへ転籍という形になりましたが、驚いたことや困ったりしたことはありましたか?

驚いた点は、メタップスクラウドのサービス終了の意思決定と、そこに至るまでのスピード感です。 事業譲渡後にメタップスクラウドのサービスを継続して運営することもできたと思いますが、一度サービスを終了して、SmartHRのシステム内にIdP機能を一から作るという意思決定をしています。
メタップスクラウドは当時500以上のSaaSと連携ができており、シングルサインオン以外にプロビジョニングの機能も持っていたので、サービスを終了して一から作るというのは、大きな判断だったと思います。

一から作るという判断は、結果としてあらゆる面でよかったと実感しています。 なぜかというと、従業員データを利用できることが「SmartHRによるIdP」ならではの強みに繋がっており、従業員データをシームレスに連携する上でも、IdP機能をSmartHRのシステム内に作成することによるメリットが大きかったためです。
さらに、1回目の経験も踏まえて作れるので、今後実現したい機能や運用・メンテナンスを考慮した設計ができたと思います。
その結果、メタップスクラウドのサービスを継続して運用や機能追加を続けるよりも、開発速度、運用コストの両面で改善されていると考えています。

進めていく中で特に困ったことはありませんでした。 転籍前にsaitoryc sanをはじめ一緒に働くチームのメンバーと顔合わせする場を用意してくれたので、チームの雰囲気も分かり、すぐに馴染めました。
SmartHRはオープンな文化なので、分からないことがあっても社内には情報が公開されているため、探せば見つかるというのもよかったです。

Q2. 実際に開発を進めていく中で、難しかった部分はありましたか?

IdP機能を一から作るのは2回目になるので、IdP機能の設計や開発で難しい点はなかったです。
開発の中で最も意識したのは、「SmartHRによるIdP」ならではの強みは何か、どんな価値が提供できるか、という点でした。
上記の強みや価値の提供を考える上で、SmartHRのアカウントや従業員の概念や既存の機能を理解する必要があったので、その点が一番大変でした。

Q3. 現在の開発プロセスはどのようになっていますか?

SmartHRではスクラムを採用しているチームが多いのですが、私達のチームは完全なスクラム開発ではありません。 自己管理型のチームという点では同じだと思いますが、行っていないスクラムのイベントもあります。
私達のチームには私以外に元メタップスクラウドのメンバーが2名おり、チームとしてIdP機能開発の解像度が高い状態だったので、機能のリリースを最優先で進めました。

Q4. 現状向き合っている課題があれば教えて下さい

現状、IdP機能は、シングルサインオンの方法としてフェデレーション方式(認証連携)を提供しており、SAMLに対応しています。
IdP機能の利用を促進するため、SAMLで連携できるSaaS数を増やしたり、フェデレーション方式(認証連携)以外のシングルサインオンの方法の提供も検討を進めたりしています。
また、情シス部門向けのID管理サービスとしてプロビジョニング機能の提供も検討するなど、チームでやりたいことが多岐に渡ります。

各機能毎に提供できる価値や解決できる課題を検討して、並行して複数の開発を進める体制をどのように作っていけるかが、チームの大きな課題となっています。


以上、goro sanの一問一答でした。
現状の課題にも少し出てきましたが、今後やりたいことが多岐に渡るという点についてもう少し補足しておこうと思います。

今後の展望

ようやくリリースされたIdP機能ですが、本格的な運用を見据えると、まだまだ機能が足りておらず、課題も山積みです。
先の一問一答であがったものだけでも

  • 連携先SaaSの拡大
  • フェデレーション方式以外の認証機能提供
  • プロビジョニング

がありましたが、これ以外にも情シス向けのプロダクトは拡大していかなければと思っています。
従業員のリストはもう存在しているので、それと紐づけたPCやソフトウェアなどの資産管理などもできるとよさそうですし、二要素認証必須化などセキュリティ面の強化を考える必要もありそうです。
途中にも書いた通り、雇用形態別課金を導入して、利用可能なユーザーを拡大していく必要もありますし、そもそも従来のSmartHRとは求められるサービスレベルも異なってきそうです。
そういう意味では可用性を向上させるための取り組みも必要になってくるでしょう。
そう、やることが盛り沢山なのです!

We Are Hiring!

ということでSmartHRでは情シス領域からWell Workingを実現したい仲間を絶賛募集中です!

SmartHRの中でも新しい領域のため、チャレンジングな要素だらけで、今が一番おもしろいタイミングだと思います。

少しでも興味を持っていただけたら、カジュアル面談でざっくばらんにお話ししましょう!

hello-world.smarthr.co.jp