グループ会社ができて認証基盤を統合した話

記事タイトルとURLをコピーする

コーポレートエンジニアリング部の宮澤です。
今回のブログでは、サーバーワークスグループでグループ認証基盤を整備した話をしたいと思います。

なぜグループ認証基盤の話が出てきたのか

サーバーワークスは、2021年にGoogle Cloudの事業を展開するための会社としてG-genを設立し、翌年の2022年にはトップゲート社を完全に子会社化をしました。

これによりグループメンバーも増えてきたので、グループ共通でシステムを使えたほうが良いということになり、まず最初の一歩として、人事管理システム(Kaonavi)をグループ共通にして行こうという話しになりました。

それを実施するに当たり"グループでの認証基盤が必要だよね?"ということになり、グループ認証基盤をどのようにしていくのがいいのかの検討が始まりました。

www.serverworks.co.jp

www.serverworks.co.jp

当初の構想

まず、グループで統合するとなった時に、すべての情報システムをいきなり統合していくのは現実的ではないという話しになりました。

まず、第一歩としてて人財情報を管理しているKaonaviをグループ全体で利用していくこところからスタートしようとなりました。

サーバーワークスでは、既にKaonaviを利用して人財情報の管理をしていたため、G-genとトップゲートのメンバーもKaonaviにデータを統合していく形としました。

しかし、現在利用しているKaonaviは、サーバーワークスで利用しているSSO基盤のOneLogin(IDP)とSAMLで認証している状態のため、そう認証のことも含めると、そう簡単に統合ができるわけでないということになりました。

blog.serverworks.co.jp

グループで利用するとなった場合には、上記で記載したOneLoginとのSAML連携をしていることが問題になりました。

何も考えずに、そのままKaonaviを使おうとした場合、サーバーワークスのOneLoginにグループ社員のアカウントを登録し、全グループ社員がKaonaviにアクセスする形になってしまいます。

しかし、この構成になってしまうと、以下のような課題も出てきてしまい、現実的ではなさそうなだったので、構成を含めて検討を始めることになりました。

  • OneLoginにグループ社員全員を登録しなければならない
    • OneLoginのライセンス料金が発生する
    • グループ社員は既存とOneLoginの2つをIDPを使うことになり煩雑
    • 管理者はグループ全員のメンバーの入退社対応が必要になり煩雑
  • OneLoginに統合したら各社のSaaSもOneLoginに統合していくのか
    • 各社でそれぞれ使っているもの統合すると運用負担になる

検討から構成を整理

先程記載した課題事項をもとに、以下のようにざっくり要件を整理して、実現可能なサービスの調査を行いました。

  • 既存各社のIDPは維持して利用したい
  • 今後グループ会社の増減があったときに柔軟に対応したい
  • 運用コストを低くしておきたい

そんな中で、Authentication Platformと呼ばれる製品カテゴリで調査や比較をしたところ、以下の点が良さそうだったため、Auth0を利用して、実装してみようと言う形になりました。

  • 幅広いログイン方法(SAMLなど)に対応している
  • 各種ログも取得でき、外部へのStreamが可能
  • 高度なセキュリティ機能が利用可能

今回の導入にあたり、Auth0の"Enterprise Connections"を利用する必要がありました。
"Enterprise Connections"は上記で記載したSAMLなどのログインに対応するための機能で、この機能を利用することで、各社のIDPをAuth0に連携できます。

この機能を利用する場合は、"B2B - ESSENTIALS"というプランを契約する必要があるため、この月額費用$130/月の費用が発生します。

費用について、これが妥当なのかを判断すべく、OneLoginでグループ社員を増やした場合を考えてみると、OneLoginの上位プランの場合、1ユーザー$8/月となり、約20名以上グループ社員をOneLogin追加した時点で$160/月となり、Auth0よりも高くついてしまうためことになります。
そのため、Auth0を利用することが、費用対効果としては最適になりそうでした。

auth0.com

Auth0でIDPなどをSAMLで連携する"Enterprise Connections"という機能があり、これを利用することで、各社で利用しているIDPと連携してユーザー認証ができるようになると検討段階では目論んでおり、その実証をするためにPoCを行いました。 

auth0.com

検討段階での構成は以下のようになり、Auth0とKaonaviをSAMLで接続することで、各社のメンバーは、既存IDPの認証基盤からAuth0を経由して、Kaonaviを利用できるようになります。
これにより、既存で各社が利用できるIDPには手を入れなくて済むため、各社で利用しているSaaSはそのまま利用する事ができるので、ユーザーの生産性を落とさずに統合が可能になると考えていました。

構成の実証試験

上記構成が実現可能かどうかを確かめていくための第一歩として、サーバーワークスで利用しているOneLoginとAuth0の連携を実施しました。
検証の結果問題なく接続することが可能でした。

blog.serverworks.co.jp

その後、G-genとトップゲートが利用しているGoogle WorkspaceとAuth0の連携を行いました。
この公式ドキュメントの手順を実施していた際に気がついたのですが、GWSとの連携はSAMLではなくOAuth2.0ということがわかりました。

auth0.com

最後に、利用したいサービス側もAuth0とSAMLで連携させる必要があるので、Kaonaviとの連携設定を実施しました。

KaonaviはAuth0との連携実績がなかったため、Kaonavi社の中の人と連携させてもらい、今回のSAML連携を行うことができました。
Kaonavi社の皆さん、ご協力ありがとうございました。

また、今回の検証にあたり、Auth0を利用してSaaSの追加をする際には、各SaaSごとにSAML連携などの動作確認が必要になりそうだと思いました。

blog.serverworks.co.jp

まとめ

今回の構成を検討・構築することで、既存のシステムへの影響を最小限にしつつグループでの統合をしていくことができました。

この構成は各社と疎結合に接続される形になるので、新しくグループに会社が増えた場合でも、IDPと連携させることでグループ共通の基盤は使えるようになります。

一般的にグループ統合というと、IDも含めて、1つのSaaSなどにまとめて持っていくというようなイメージを持ってしまっていましたが、このように疎結合な形で構築することも可能だったので、サーバーワークスではこの方式で運用していければと思います。

関連ブログ

blog.serverworks.co.jp

宮澤 慶 (記事一覧)

コーポレートエンジニアリング部 情報システム 管理者