550
426

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

認証プラットフォーム Auth0 とは?

Last updated at Posted at 2017-08-09

2017/06/28にドコモベンチャーズがAuth0に出資をしたというニュースが流れましたが、Auth0とはどんな会社で、どんなサービスを提供していのでしょうか?

Auth0とは

Auth0 Inc.は2013年に米国Microsoftに在籍していたメンバーを中心に創業した会社で、Washington州Bellevueに本社があります。創業メンバーはEugenio Pace(CEO), Matias Woloski(CTO) などMicrosoftに在籍していたメンバーのほか、Node.jsの認証フレームワークである"Passport"の開発者であった Jered Hanson, AT&T, Amazon.com, 国防総省での勤務経験のある Eugen Koganも創業メンバーです。

Auth0 統合認証プラットフォーム

Auth0はWebアプリやモバイル、APIなどに対して認証・認可のサービスをクラウドで提供している、いわゆるIDaaS (Identity as a Service)ベンダーです。企業がもつWebアプリケーションやAPI, Native Mobile Appなどでユーザー認証や認可、セキュリティを組み込みたいけれでも実装が難しい・・・という方にオススメのソリューションを提供しています。(下の画像をクリックすると、Auth0の概要を説明するビデオを見ることができます)

Auth0 Developer Overview

既存の統合認証製品と何が違うの?

Auth0は、Mobile Native AppやWeb API、Single Page Applicationにも対応することができるOAuth 1.0/2.0やOpenID Connectと言ったオープンな認証・認可方式に対応しています。もちろんこれまでのWebアプリケーションにも対応しています。
これまでのシングルサインオン製品は、エンタープライズ向けでADやLDAP認証などを行い、CookieやHTTPヘッダーなど認証情報を埋め込むなどして、Webアプリケーションへの認可を行なっていましたが、独自プロトコルを使用しており、実装が非常に難しく時間がかかるという問題点がありました。またsalesforceやGoogle AppsなどへのアクセスにはSAMLトークンを使用してアクセスをするFederationという機能がありますが、モバイルNativeアプリやWeb APIにはなかなか対応できないという問題点もありました。

Auth0は、OAuth 1.0/2.0やOpenID Connectに対応しており、様々なモバイル用SDK、従来の各種Webアプリケーション、SPA (Single Web Page), CLI (Command Line Interface)などに対するAPIやサンプルソースを Github で公開しています。 もちろんEnterprise SaaSアプリケーションにはSAMLやWS-Federationにも対応しています。 またユーザーストア(Connection)にはAuth0標準(ビルトイン)であるMongoDBはもちろんのこと、企業がすでに使用している各種DBやActive Direcotry,LDAPなど複数のユーザーストアを利用することができるだけでなく、様々なソーシャルネットワークのアカウントを利用したユーザ認証・認可を簡単に利用することが可能です。
さらに多要素認証にも対応しており、Auth0が提供しているAuth0 Guardian MFAだけでなく、Google AuthenticatorやDUO Securityなどの多要素認証(MFA)も利用でき、EmailやSMSを介してOTPを送信する、Passwordless認証にも対応しています。

Connection例:

  1. Database Connections: (Auth0標準、もしくは外部Databaseを利用)
  2. Social network logins: Google, Facebook, Twitter 及び OAuth1.0/2.0もしくはOpenID Connect provider
  3. Enterprise directories: LDAP, Google Apps, Office 365, ADFS, AD, SAML-P, WS-Federation,その他
  4. Passwordless systems: TouchID, SMSやEmailを介したワンタイムコード

豊富なサンプルソース

アプリケーションとAuth0間で使用される標準プロトコルは、最新で軽くて利用や統合がしやすいOpenID ConnectやOAuth2.0です。Auth0は主だったプラットフォーム (.NET, Java, PHP, Python, node, iOS, など)向けのSDKを提供していますが、Auth0 SDKを使用することは必須ではありません。認証・認可用にRESTfulなAuthentication APIを公開しており、HTTPリクエストを送信することができればAuth0と連携することが可能です。Native, SPA, Web/App Server, CLIなど約80種類のフレームワークに対するサンプルプロジェクトをgithubに公開しており、これを利用することで簡単に既存アプリケーションをAuth0と連携することができます。(主だったものはAuth0の ドキュメント ページや管理ダッシュボードのApplicationページから構成方法も含めてアクセス可能です)。Auth0はその他にもWS-FederationやSAMLと言った一般的なFederation Protocolにも対応しており、ADFSや外部IdPとAuth0に対応させたアプリケーションに対してはSAML SPとして、SAML対応のSaaSアプリケーションにはSAML IdPとして簡単に連携することができます。
Create_Client.png

Client_Regular_WebApp.png

連携するプラットフォームを選択すると、管理画面からサンプルプログラムのダウンロードや実際にサンプルプログラムを使って認証を行うまでに必要な手順や定義が表示されます。開発者は画面に表示された手順に従うだけで簡単にAuth0での認証サービスを利用することができます。
スクリーンショット 2017-08-09 13.26.44.png

ソーシャルアカウント連携ツールとして

BtoCなどのサービスでは、組織が提供しているサービスにいかに利用者を増やしていくかが課題となリますが、利用者は各サービスごとにユーザー登録やパスワードの設定をすることは利便性の観点から避ける傾向があります。Auth0の認証プラットフォームを利用すると、自分で開発したアプリ側では特に特別なコーディングをすることなく、スライドボタンをオンにするだけでfacebookやGoogle, Twitter, dAccountなどと30種類以上のソーシャルアカウントで簡単サインインができてしまいます。開発者は、複雑で面倒なOAuthの実装やトークンの管理やセキュリティなどに煩わされることなく、機能の開発に専念することができます。

Social_Connection2.png

標準でリストに載っていないソーシャルネットワークでも OAuth2.0やOpenID ConnectのOP (OpenID Provider)に対応しているのであれば、Custom Social Connection Extensionを利用することソーシャルアカウント連携をすることが可能です。

スクリーンショット 2017-08-09 13.35.44.png

Serverless環境利用による拡張機能の提供

一般的なSaaSベースの認証プラットフォームの場合、導入コストが安くすぐに利用できるという反面、提供している機能以外にはカスタマイズをすることができないということが多いです。Auth0は、自社開発のServerlessプラットフォーム (webtask)をAuth0利用ユーザーに提供しており、Node.jsやC#を利用して認証・認可や管理運用などに関するカスタマイズを行うことができます。そのため認証時のルール設定や拡張機能をSaaS環境でも実装することができる点も他のSaaSベースの認証プラットフォームとの大きな違いです。このServerless環境はAuth0の認証サービスとは別にサービス利用をすることも可能なので、興味のある方はAuth0のサイト ( https://webtask.io/ もしくは https://auth0.com/extend/ ) にアクセスしてみるといいです。

##導入モデル
Auth0は通常クラウドでサービスを提供していますが、プライベートインスタンス(PI)で提供することもできます。PIはAuth0を特定の企業用にインストールした環境です。導入環境はAuth0が直接管理しているクラウド環境もしくは企業が管理しているクラウド環境(AWS, Azure, Rackspace, DigitalOcean)、もしくはオンプレミス環境に導入することもできます。

#最後に
Auth0が提供する機能を簡単に説明してみましたが、いかがですか?
Auth0のサービスは契約をしなくとも無償で評価(フリートライアル:22日間)をすることができます。フリートライアルは、Auth0のホームページにアクセスし、画面右上のスクリーンショット 2017-09-07 21.59.09.pngをクリックするとトライアル登録が行うことができます。ユーザー登録にはGitgubやGoogle, Microsoftアカウントを使用してサインアップすることできますので、試してみてはいかがでしょうか?

550
426
0

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
550
426

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?