🔐

シード期だからこそAuth0を選択したその理由 | Resilire Tech Blog

2024/03/04に公開

サプライチェーンマネジメント SaaS のSREエンジニア採用中です!

サプライチェーンリスク管理クラウドサービスResilireでPdMをしている@motu です。
ResilireではPdMとして、プロダクトの方向性や中長期のロードマップ、どこにリソースを投下すべきかなど日々考えています。

前回の記事ではResilireがTerraformを利用してIaCを推進する取り組みを紹介させていただきました。

今回はResilireがシード期にも関わらずプロダクトで利用するIDaaSとしてOkta社のAuth0を選択した背景などを紹介させていただきます。

プロダクト概要とIDaaSに求める要件

プロダクトの特性を簡単に紹介しながら合わせIDaaSに求める要件を説明できればと思います。

サプライヤーが複数の取引先とやり取りするためのマルチテナント

Resilireは、物理的なグローバルサプライチェーンを対象に、原料調達、製造、輸送で災害リスク影響の早期検知と対応促進を行なっています。
この実現に向けてResilireではサプライチェーン全体の可視化を強く促す必要があります。そのため、Resilireではメーカー(製品販売元)からサプライヤー(原材料供給元)へIDを付与し、メーカーのサービス内にてサプライチェーンに関する情報を入力していただく必要があります。

しかしながら、類似する製品を作っているメーカー同士の場合、同一のサプライヤーから原料などを調達しているケースが多くあり、サプライヤーとしては複数のIDを付与される可能性があります。

そうした場合に、マルチテナントにてプロダクトを運営できる必要があり、IDaaSもマルチテナントを前提としてユーザーを取り扱える必要があります。

差別化を担うサプライチェーン情報の秘匿に求められる高セキュリティ

類似する製品を製造しているメーカー/サプライヤーにとっては、原料の調達先も含め自社の競争力を維持するため、基本的にはサプライチェーン情報をオープンにしたくない意向があります。

Resilireはメーカー/サプライヤーにとって秘匿性があるサプライチェーン情報を大量に擁するプロダクトであることから高水準のセキュリティレベルが求められます。

エンタープライズ企業のニーズであるIdP連携

特にグローバルなサプライチェーンを抱えるメーカーは一定以上の規模を持ったエンタープライズ企業が主です。エンタープライズ企業のニーズとして、自社のIdP(Identity Provider)と連携することでSSOなどのユーザビリティの改善とセキュリティを担保したい要件もあります。

課題解決にリソースを集中するためにOkta社のAuth0に投資

ID管理基盤としては以下の要件を満たす必要がありました。

  • 高く先進的なセキュリティ要件への対応
  • マルチテナント/マルチプロダクトでの利用を見据えた対応
  • 顧客のIdPとの連携によるSSOの利用

これらの要件を自社の開発リソースで対応する場合、最新のセキュリティ要件を常にキャッチアップする体制の構築や、当たり前ですがID管理基盤として相応の品質を担保するため、多大な開発リソースが必要になります。

Resilireでは多くの時間をサプライチェーンの課題解決に専念できるよう、シード期ではあるもののIDaaSの利用を決定しました。

Auth0はIDaaSにおけるデファクトスタンダード

Auth0が満たす下記の条件をもって選定を意思決定しました。

  • IDaaSとしてはデファクトスタンダードであること
  • 最新のセキュリティ要件に追従していくこと。特にすでにリスクベース認証(Adaptive MFA)が可能
  • SAML認証によるSSO・OIDCによるSSOは認証部分についてはほぼノーコードで実現可能

AWS Cognito, Firebase Authenticationを利用しなかった背景

マネージドサービスとして、費用も抑えられ汎用性が高いAWS CognitoやFirebase Authenticationも選定の候補としては挙がっていました。

認証機能以外の実装が必要となること、エンタープライズの顧客が利用しているIdPとの連携(SSOやOIDCなど)ごとに追加の開発が必要となることなどから選定しませんでした。

特にこの点においては、セキュリティ意識の高いお客様から強く要望をいただいていた点です。

Auth0を利用するための工夫

とはいえ、Auth0を利用するとしても最低限の開発は必要となるので、いくつか対応内容を記載します。

テスト環境から本番環境まで環境の同値性と再現性を高めるためのTerraform利用

Auth0の設定はAuth0が提供しているWebUIで可能ではあるものの、各環境をそれぞれ手作業でメンテナンスすることは作業のミスなどを誘発するため、危険が伴います。

Auth0では、このような設定の自動化のためにAuth0DeployとTerraformをサポートしています。

Resilireでは、プロダクトの設定と同期する必要があり、またIaCとしてTerraformを利用していることもあり、Terraformを選択しました。

ログの保存要件

Auth0では認証ログが30日間までしか保存されない制約がありました。

そのため、Auth0からCloud Function経由で認証ログを取得し、必要な期間だけGCPに保存できるように対応しました。

まとめ

Resilireではこのようにより全てのリソースを本来の「サプライチェーンをデータでアップデートする」というミッションに投入するため、早い段階から将来を見据えた意思決定をしていきたいと考えています。

エンジニア採用強化中

株式会社 Resilire (レジリア) では、サプライチェーンリスク管理クラウドサービスResilireの開発メンバーを募集中です。

https://recruit.resilire.jp/for-engineers

まずは情報交換程度に気軽に話して聞いてみたいという方もウェルカムです!

https://youtrust.jp/recruitment_posts/278ff57237537af80a66a9789b98d421

Discussion