IDaaS という選択肢もありますー認証認可の実現方法ー
多くのアプリケーションがユーザー認証やアクセス制御を必要としています。 これらは、セキュリティを確保しユーザーごとの適切な情報へのアクセスを制限するために必要不可欠です。
この講座では、Spring Security を使って認証・認可機能を実装する方法を紹介しています。 ただし、Spring Security だけが認証・認可機能を実装する方法ではありません。 IDaaS を利用するという選択肢も存在します。
目次
IDaaS とは何か?
IDaaS は、Identity as a Service の略語で、「アイダース」と読みます。 IDaaS は、認証や認可機能を提供するクラウドサービスです。 IDaaS を利用することで、 Web アプリケーションの開発者は、認証・認可の大部分の機能を自前で実装する必要がなくなります。
なぜ IDaaS を選ぶのか?
IDaaS を選択する主な理由は、開発の効率化とセキュリティの向上です。
- 開発の効率化: 開発者は、認証や認可に関する複雑なロジックを自前で実装する必要がなく、IDaaS プロバイダが提供する機能を利用するだけで済みます
- セキュリティの向上: IDaaS プロバイダは、セキュリティの専門家です。彼らが作った認証・認可機能を利用することで、自前で実装するよりもセキュリティの向上が期待できます
セキュリティはリリース直後のサービスでも常に100点満点を求められます。 その一方で、認証・認可機能をどんなに完璧に作り込んでも、ビジネス的には何の優位性にもならない(ことが多い)です。 このような背景のもと、セキュリティの専門家によって開発された IDaaS を使うことが有力な選択肢となるケースは少なくないはずです。
代表的な IDaaS プロバイダ
代表的な IDaaS プロバイダには以下のようなものがあります。
- Firebase Authentication: Google が提供する IDaaS サービスです。Firebase プラットフォームの一部として提供されています。小規模なプロジェクトであれば無料で利用可能なプランがあり、利用規模が拡大しても比較的リーズナブルな価格設定です。
- Auth0:Auth0 はエンタープライズレベルの認証と認可の要求に対応できます。無料プランが利用可能ですが、エンタープライズレベルの機能を使用するには高価なプランを選択する必要があります。
どうしてこの講座では Spring Security を使うのか
この講座では、Spring Security を使って認証・認可機能を実装する方法を紹介しています。
- 既存のシステムで Spring Security を使っている
- コスト面など、何らかの理由で IDaaS を使うことができない
などの理由で、Spring Security の知識が必要になる場合を想定しているためです。
ゼロから Spring Framework を使って開発するのであれば、IDaaS を使うことも検討してみてほしいと思います。
まとめ:実装方式の引き出しを増やそう
認証・認可を実装する方法は、自前で作る以外にも方法があります。 IDaaS は認証・認可機能の実装を簡単かつ安全に行うための有力な選択肢です。
- IDaaS を導入すると、認証・認可機能の大部分の実装を IDaaS プロバイダに任せることができ、開発の効率化が図れる
- セキュリティの専門家が作ったヌケモレのないセキュリティ対策をアプリケーションに組み込むことができる
- 具体的には、Firebase Authentication や Auth0 などが選択肢になる
ある機能を実装する方法は、1つではありません。 今回紹介したように、自分で作る方法以外にも、IDaaS のようなサービスを利用する方法もあります。 ソフトウェア開発をする際には、実現方法は複数あることを意識して最適な選択ができるようにつねに意識しましょう。