LoginSignup
46
12

More than 1 year has passed since last update.

Firebase Authentication, Auth0, Amazon Cognitoを比較した

Posted at

業務の方で認証基盤のリプレイスを行っていて、その際に行ったサービス選定のメモです。
自身が身を置いている会社のサービスでの認証基盤は、パスワードをDBで管理している状態で危殆化リスクがあったり、強固な認証(MFAなど)を入れづらい状態にありました。
今では様々なプロダクトが、認証の処理は他のサービスに任せる傾向にあると認識しております。そもそもセキュリティの分野は奥が深い(自身もほとんど理解できていない)ですし、プロダクトの成長にフォーカスしたいのに、セキュリティの分野に時間を割くのは悪手でしょう。
自社のプロダクトも例にもれず、プロダクトの開発自体にフォーカスするために認証サービスを導入しようという運びになりました。

サービス候補選び

調べてみると想像より多くのサービスが存在することがわかりました。

  • Amazon Cognito
  • AWS Amplify Authentication
  • Auth0
  • Firebase Authentication
  • Google Identity Platform
  • Azure Active Directory B2C
  • Okta Identity Cloud
  • IBM Cloud Identity
  • Akamai Identity Cloud
  • Salesforce Identity
  • SAP Customer Data Cloud

もちろんこれらのドキュメントをそれぞれ読み込んで、自社のプロダクトの性質とマッチしたサービスを選ぶことが重要ですが、あまり多くの時間を割きたくはないです。
そこで、自身が担当していないプロダクトにおいて利用事例のあるサービスや利用しているIaaS内部に含まれたサービスに絞って比較を行いました。
この時点で下記の3つのサービスが候補となります。

  • Amazon Cognito
  • Firebase Authentication
  • Auth0

それぞれを下記のような面からみていきます。

  • コスト
  • 移行プラン
  • 高度なセキュリティ機能

Amazon Cognitoの特徴

コスト

  • 50000人まで無料
  • 以降は1人あたり0.0055USD
  • 高度なセキュリティ機能利用だと一人あたり0.050USD追加

https://aws.amazon.com/jp/cognito/pricing/

移行プラン

高度なセキュリティ機能

  • 侵害された認証情報の確認
  • 怪しい人には2段階認証させる
  • 特定IPブロック

https://docs.aws.amazon.com/ja_jp/cognito/latest/developerguide/cognito-user-pool-settings-advanced-security.html

Firebase Authenticationの特徴

コスト

  • 無料(Sparkプラン) 電話認証が月1万回まで
  • 有料(Blazeプラン) 電話認証が従量課金

移行プラン

高度なセキュリティ機能

  • 特になし

Auth0の特徴

コスト

移行プラン

高度なセキュリティ機能

結論

採用したのはAuth0でした。機能面との考慮でCognitoが最もコスパ良いのですが、背景としては下記のような事が挙げられます。

  • ドキュメントが豊富
  • 自社のプロダクトでの導入実績あり&認証基盤を統一したいモチベーションもある
  • M2M認証がアドオンとして提供されていて、他の仕組みが作りやすい

基本的に利用しやすさの面での採用が大きかった気がします。実際に導入を進めていますが、情報が充実しており、今の所困った点はありません。

終わりに

選定にあたり参考となったサイトを挙げておきます。このサイトから辿れるBoothもとても参考になりました。

46
12
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
46
12