Authleteで実現した建設DXサービスの認証認可
株式会社EARTHBRAIN / Sho Takano
メンバー / SRE
利用プラン | 利用機能 | ツールの利用規模 | ツールの利用開始時期 | 事業形態 |
---|---|---|---|---|
Enterprise Plan (クラウド版) | 認証認可 | 11名〜50名 | 2022年8月 | B to B |
利用プラン | Enterprise Plan (クラウド版) |
---|---|
利用機能 | 認証認可 |
ツールの利用規模 | 11名〜50名 |
ツールの利用開始時期 | 2022年8月 |
事業形態 | B to B |
導入の背景・解決したかった問題
導入背景
ツール導入前の課題
弊社は建設生産プロセスのあらゆるデータをデジタル化することにより、安全性・生産性の高い現場を実現する建設業向けICTソリューション、Smart Construction®を提供しています。 このSmart Construction®は複数のWebアプリケーションとNativeアプリケーション、専用デバイスの組み込みシステムを含み、すべての建設生産プロセスをデジタル技術で最適化する世界を目指しています。
Smart Construction®では、共通Backend(プラットフォーム)がデータを保持し、APIを通じて各アプリケーションへ提供することで、データの一貫性を確保しています。同時に、プラットフォームは自身の持つAPIの認可サーバー兼、Smart Construction®の各アプリケーションのIdPとして利用されます。
当時このプラットフォームは社外で開発したシステムを使用していましたが、競争力向上のため内製化プロジェクトが発足しました。このとき、認証認可のシステムも最適化することとなり、ゼロベースで認証基盤のツールをIDaaSも含めて選定することから始めました。
どのような状態を目指していたか
弊社のプラットフォームの内製化プロジェクトでは、パフォーマンスやコスト面での競争力の向上だけでなく、すでにプラットフォームに依存しているアプリケーションとの互換性を担保することを重視していました。認証基盤はSmart Construction®のすべてのアプリケーションが利用するプラットフォームの重要な機能の一つだったので、提供済みの機能を維持したまま最適化することを目指しました。
比較検討したサービス
- Auth0:
- 柔軟なカスタマイズが可能で、OAuth 2.0やSSO、MFAに対応。
- Cognito:
- AWSとの親和性が高く、ユーザープールやフェデレーション認証を提供。
- Identity Platform:
- Google Cloud統合向けで、SAML/OIDC対応の認証・ユーザー管理を提供。
比較した軸
比較した項目は下記のとおりです。特に最初の2点を重要視しました。
- すでにサービスを提供していたので、現行で提供している認証認可方法が網羅されていること
- Authorization Code Grant
- Authorization Code Grant with OAuth PKCE
- Client Credentials Grant
- Client Credentials Grant with JWT Bearer Token Client asertion
- Token Exchange
- 将来の拡張性を残すため、カスタマイズの余地を残していること
- APIの拡張性(独自エンドポイントを追加できるか)
- カスタムポリシーやルールの適用範囲(例:カスタム認可ロジック、動的な権限管理)
- 開発のリファレンスが充実しており、実装が平易であること
- チュートリアルやサンプルコードの有無
- SDKやライブラリの提供状況(言語ごとの対応:Go, Python, Node.jsなど)
- 構築、運用コストが低いこと
- 初期導入費用、月額・従量課金の違い
- スケールに応じたコスト変動(ユーザー数やAPIリクエスト数による影響)
- SLA
- 可用性
選定理由
比較軸をもとに各サービスを評価したところ、Authleteはすべての項目で最も高い評価を得たわけではありませんでした。特に開発リファレンスの充実の点でAuthleteは他サービスより低い評価でした。
しかし、現行システムの機能に合わせると他サービスでも独自実装が必要な点が多く、リファレンスの充実度よりも、個別対応の柔軟性が高く、要件に合わせたサポートを受けられる点が当社の要件に合致すると判断しました。むしろ、他サービスは運用に入った後のサービス利用料がネックになり得ることも予想されました。
個別サポートの充実に加え、Authleteが当社のニーズに合わせたカスタマイズの提案を行ってくれたことや、アクセストークンの柔軟性・拡張性の高さも評価し、最終的にAuthleteを選定しました。
導入の成果
改善したかった課題はどれくらい解決されたか
すでに利用中の機能はすべて網羅できました。
特に、一般的に文字列を受け付けるトークンのclaimでリストを受け付ける必要があるケースではAuthlete側にマイナーバージョンを提供して頂きました。
どのような成果が得られたか
切り替えに際しても、認証認可システムが起因となる問題は発生せず、円滑に移行できました。
導入時の苦労・悩み
拡張性を維持するトレードオフとして、社内で開発が必要な領域も増えました。ただこの点は前述の通り、他サービスを選んだ場合でも独自実装が必要だった可能性が高いです。 一方で手の届かないポイントはAuthlete側も柔軟に対応いただいたので無事現行システムの機能を網羅できました。
導入に向けた社内への説明
上長・チームへの説明
検討開始時点では、IDaaSツールや一般的に広く使われているツールを選定する方が良いという考えが優勢でした。しかしより深く技術検証を進めた結果、内製化のメリットを活かして拡張性の高いツールを使うことによる優位性をアピールしました。
活用方法
エンドユーザーがプラットフォームを介して日常的に利用しており、Smart Construction®のサービスの一部になっています。
よく使う機能
- Authorization Backend APIs
- Authleteが提供するバックエンドAPIを利用して、プラットフォームの認可サーバーが稼働しています。
- サービス管理者コンソール
- Authorization Backend APIsの設定やOAuth Clientの設定を確認できます。
ツールの良い点
- 導入しやすい
- Authleteが提供するライブラリは、プロトコル処理のロジックも内包されているため、導入しやすいです。開発当時、OAuth2.0やOIDCに関する社内知識は十分ではありませんでしたが、PoCの立ち上げには大きな時間はかかりませんでした。
- アクセストークン失効機能
- 識別子型のトークンを利用しているので、問題のあるトークンはDatabaseから削除することで使用不可にできます。
ツールの課題点
- バグの混入があった
- 内製化プラットフォームが本番稼働を開始して1年半ほどですが、1度Authlete側の性能向上ロジックによりバグが混入しました。バグ自体はAuthleteがロジックをrevertすることで解決できましたが、バグ混入中に発行したトークンの不備を修正するには弊社とAuthlete社双方が持つデータを突き合わせながらデバッグする必要がありました。現在このバグは修正されています。
ツールを検討されている方へ
OAuthやOIDCの標準仕様外の要件がある場合でも、Authleteに相談することで対応可能なケースがあります。
今後の展望
内製化で蓄積したナレッジを元に、Smart Construction®アプリケーションの認証認可の標準化も進めたいです。
株式会社EARTHBRAIN / Sho Takano
メンバー / SRE
株式会社EARTHBRAIN / Sho Takano
メンバー / SRE