Slide 1

Slide 1 text

IDaaS(Auth0) vs OSS(Keycloak)vs Managed(Amazon Cognito) 使い勝手を確認 Future Tech Night # 19

Slide 2

Slide 2 text

アジェンダ 1. 自己紹介 2. はじめに 3. 使ってみる 4. 比較 5. さいごに

Slide 3

Slide 3 text

1.自己紹介

Slide 4

Slide 4 text

自己紹介 ● 山田 勇一 ● フューチャー株式会社 Technology Innovation Group所属 ○ 新卒から3社目 & フューチャー入社後 10年の42歳(白髪増加中の悲しみ) ○ 40超えているんだから、過去の経歴でドヤるページですが、ノーマルエンジニアなのでドヤれま せん。 ● 趣味 ○ なし(1日の過ごし方考えてたら 1日が終わるタイプ ○ ひねり出すと子育・楽しいですよ

Slide 5

Slide 5 text

2.はじめに

Slide 6

Slide 6 text

はじめに システムを作ろうとすると、概ねID欲しくなりますよね? ただ、いざ作ろう&IDaaS使おうと思っても、ハードル(👇)が高い印象なので、何とな く分かった気になって帰っていただければと思います。 ● そもそも何からやっていいかわからない ● どうやって動かしていいかわからない ● 何が出来るかわからない ちなみに、本日比較対象のプロダクトが3つである理由は、資料作成の限界だったか らです

Slide 7

Slide 7 text

はじめに ハンズオンは下の流れで、アプリケーションを動かすところまで見てみます。 一回動かせれば、そこから広げていけますからね。 ● 完全に0からスタートします ● アプリケーションはVue.jsで実装します ○ 時間の都合もあり、node / vue-cliは動く前提で書いちゃいます。ごめんなさい。 ○ 機能を確かめたい場合、 vue2系のほうが動く気がします。 ○ とにかく動かすことを優先して、可能な限りコピペ出いける方法を考えます。 ● 動かすときに必要な、参照先URLは可能な限りご紹介します

Slide 8

Slide 8 text

3.使ってみる

Slide 9

Slide 9 text

No content

Slide 10

Slide 10 text

Auth0 動かすまでにやったこと 所要時間 30分 - 1時間 1. Auth0から見た認証クライアント(Application)を設定する 2. vueを設定する 3. 動かしてみる

Slide 11

Slide 11 text

Auth0 1.Auth0から見た認証クライアント(Application)を設定する メニューは色々ありますが、まずはクライアントを設定します。 SPA且つ、Vueを選びます。

Slide 12

Slide 12 text

Auth0 1.Auth0から見た認証クラ イアント(Application)を設 定する Applicationに開発環境を設定していきま す。

Slide 13

Slide 13 text

Auth0 2. Vueを設定する 以前フューチャー技術ブログで、Auth0の導入を掲載し、sampleを利用した構築をし たのですが、今回はライブラリ追加から実施してみようと思います。 https://future-architect.github.io/articles/20200122/ と言っても、QuickStartページにsnippet含めてあるので この通りにすすめて動くのか? ハマリポイント無いか? を見る程度です。

Slide 14

Slide 14 text

Auth0 2. Vueを設定する routerを追加し、vueは3系とします。 注意 思い込みよくありませんでした。 公式のQuickStartはVue2系を前提としているので、そのままでは動きませんでした。 せっかくなのでvue3で動かしてみます。 ※Vue2で良ければ、そのままコピペ or サンプルをCloneするのが最速です。

Slide 15

Slide 15 text

Auth0 2. Vueを設定する vue3は実は初めてです。 auth0 + vue3でググり、それっぽいソースコードがあったのでこちらを参考にしてみま す。 https://gist.github.com/K3TH3R/416e5c6627436fa87db16f57f50496d 適用手順は 1. Quick Startをそのままコピペ 2. 参考ページをそのままコピペ(Quick Start無視して良いです) auth_config.json src/App.vue src/views/Home.vue src/views/Profile.vue src/main.js src/auth/index.js src/router/index.js

Slide 16

Slide 16 text

Auth0 2. Vueを設定する 3.少し編集 import { domain, clientId } from "../auth_config.json"; ...省略 const AuthPlugin = await Auth.init({ domain: domain, clientId: clientId, onRedirectCallback: (appState) => { router.push( appState && appState.targetUrl ? appState.targetUrl : window.location.pathname ); }, }); src/main.js client = await createAuth0Client({ domain: options.domain, client_id: options.clientId, audience: options.audience, redirect_uri: redirectUri, }) src/auth/index.js Quick Startに合わせて、設定ファイル から、Auth0の設定を読み込めるように 修正。 元のソースは環境変数から読む形に なっており、そちらのほうが実装は良い と思います。

Slide 17

Slide 17 text

Auth0 2. Vueを設定する 3.少し編集 ...省略
Log in Log out
...省略 src/views/Home.vue(その他vueファイルも同様) ...省略 const state = reactive({ loading: true, isAuthenticated: false, user: {}, popupOpen: false, error: null, }) ...省略 src/auth/index.jp auth/index.jsのstateは reactiveで宣言されているた め、$atuhのプロパティは valueから取得する形に修 正。 その他のvueも全て同様で す。

Slide 18

Slide 18 text

Auth0 3. 動かしてみる 大きくトラブルなく動きました。

Slide 19

Slide 19 text

Auth0 感想 PJでも利用しましたが、SDKの種類が多く、Rules/Hooks/Flowsなどで認証のワーク フローをカスタマイズできる自由度など、大変優れているプロダクトだと考えていま す。 認証サービスを利用するのであれば、選択肢にいれて間違いはないです。 できればQuick StartをVue3に対応してもらえると有り難いです。

Slide 20

Slide 20 text

No content

Slide 21

Slide 21 text

Keycloak 動かすまでにやったこと ● 所要時間 30分 - 1時間(本当に何も悩みませんでした) 1. (多分あると思ったので)Docker探す 2. Keycloak動かしてみる 3. 公式のStartupプログラム探す 4. 動かしてみる

Slide 22

Slide 22 text

keycloak 1.(多分あると思ったので)Docker探す ググったら早速公式発見です。 もう半分勝った感じがしました。 https://github.com/keycloak/keycloak-containers/tree/master/docker-compos e-examples

Slide 23

Slide 23 text

keycloak 1.(多分あると思ったので)Docker探す あれ?ちょっと古くない? って思いますが、中身は最新のimageを取っているので問題ありません。 どれを使っても良いのですが、馴染みがあるpostgresqlを使います。 image: quay.io/keycloak/keycloak:latest

Slide 24

Slide 24 text

keycloak 2.Keycloak動かしてみる 公式に従い、無心で「docker-compose up」を叩きます。

Slide 25

Slide 25 text

keycloak 2.Keycloak動かしてみる http://localhost:8080/auth が上がるので、Sign Inします。 ID/PASSは、前ページの公式にも書いてありますが、docker-composeにも書いてあ るので、忘れても安心です。 keycloak: image: quay.io/keycloak/keycloak:latest environment: ...省略 KEYCLOAK_USER: admin KEYCLOAK_PASSWORD: Pa55w0rd

Slide 26

Slide 26 text

keycloak 3.Keycloak動かしてみる ここもまずは無心で「keycloak vue」をググります。 時短は大事です。 https://www.keycloak.org/securing-apps/vue URLから漂う正解臭、キミに決めました。 表示してみても正解臭は揺るがぬばかりか、盤石感すらあります。

Slide 27

Slide 27 text

keycloak 3.Keycloak動かしてみる 設定を進めると動いちゃうので、ポイントのみご紹介です。 ● Quick Start 手順上でもCloneしますが、こちらに各種アプリケーションのQuick Startが入っ ているので、Client要件確認するのに良さそうです。 https://github.com/keycloak/keycloak-quickstarts ● Keycloakとアプリケーションの接続設定 「Client Configuration」が、Keycloakとアプリケーションの接続設定になるの で、「繋がらない」などのトラブルはここを見ると解決にたどり着けるケースが多 いと思います。

Slide 28

Slide 28 text

keycloak 3.Keycloak動かしてみる アプリケーションを起動すると、まず認証画面が表示され、Keycloakに追加したユー ザでログインするとjwtが表示されます。

Slide 29

Slide 29 text

keycloak 感想 なにも悩まずアプリケーションが立ち上がったのは、ドキュメント・プロダクト双方が優 れていた事実と捉えています。 OSSは運用考えると、短期的にはコスト上不利に思っていましたが、印象が変わりま した。 これは使ってみてもいいかなと思った次第です。 ※事実、弊社社内では使われているPJも多いです。

Slide 30

Slide 30 text

Amazon Cognito

Slide 31

Slide 31 text

Cognito 動かすまでにやったこと ● 所要時間 1時間 - 2時間(試行錯誤・無駄作業2-3時間くらい) 1. AWSコンソールからCognitoを使い始めてみる(←無駄でした 2. AWS Amplify初期化 3. AWS Amplifyに認証機能(Cognito)を追加 4. Vueセットアップ 5. (SSOとか見据えて)Cognitoのhosted UIとつないでみる(←無駄でした

Slide 32

Slide 32 text

Cognito 1.AWSコンソールからCognitoを使い始めてみる 実は5年くらい前、Cognito(リリース直後のユーザープール)を使ったことがあり、ど の程度利便性が向上しているか気になっていました。

Slide 33

Slide 33 text

Cognito 1.AWSコンソールからCognitoを使い始めてみる amplify-cliのコマンドより、Cognitoユーザプール構築されるので、 本手順は不要でした。 初心者なので、こういった失敗は仕方ないですね。 注意

Slide 34

Slide 34 text

Cognito 1.AWSコンソールからCognitoを使い始めてみる 「ユーザープール」と「IDプール」があります。 正直ここで引き返したくなりますが、アプリケーションからユーザを認証するために使 う機能は「ユーザープール」です。

Slide 35

Slide 35 text

Cognito 1.AWSコンソールからCognitoを使い始めてみる ● FAQを見ても明らかです。 https://aws.amazon.com/jp/premiumsupport/knowledge-center/cognito-u ser-pools-identity-pools/

Slide 36

Slide 36 text

Cognito 1.AWSコンソールからCognitoを使い始めてみる ウィザード流していくだけなので、基本的に考えることはありません。 しかし、このウィザードを見ることで、Cognitoが認証で実現できることが分かってきま す。 ● 氏名、年齢、住所などのユーザ属性を持てる+カスタム追加可能 ● パスワード強度を設定可能 ● 認証に、メール、電話番号及びMFA(SMS/ワンタイムパス)が設定可能 ● ユーザが認証したデバイスを記憶可能 ● ワークフローをlambdaでカスタム可能(Auth0のRulesのようなもの)

Slide 37

Slide 37 text

Cognito 1.AWSコンソールから Cognitoを使い始めてみる カスタマイズできるワークフロー

Slide 38

Slide 38 text

Cognito 2.Amplify初期化 Cognito使うにはAmplifyが良いとグーグルに教えたてもらったのでセットアップしま す。 Amplifyも初めてです。 なお、事前にIAMユーザを作っておくとスムーズです。 ● Amplify Startupページ https://docs.amplify.aws/start/getting-started/setup/q/integration/vue ● IAMポリシー 変なところで躓きたくないので 「AdministratorAccess-Amplify」で行きます。

Slide 39

Slide 39 text

Cognito 2.Amplify初期化 vueをセットアップし、初期プロジェクトを作っておきます。 以降の手順はすべて、VueプロジェクトRootで行います。 cliを追加します。 npm i -g @aws-amplify/cli npm i -g @vue/cli vue create amplify-cognito-vue cd amplify-cognito-vue

Slide 40

Slide 40 text

Cognito 2.Amplify初期化 amplify initを実行し ● Vueに各種Configを追加します。 ● AWS Amplifyにリソースアプリケーション設定を追加します。 事前に設定しているIAMユーザを指定します。 amplify init ...省略 ? Initialize the project with the above configuration? Yes ? Select the authentication method you want to use: AWS profile ? Please choose the profile you want to use ${IAMユーザー} ここで一回ハマっていて、 Proxy経 由の場合、環境変数を大文字にし ないとネットワークエラーが発生しま す。 CLI/CloudFormationどちらかの制 約だと思います、詳細までは見切れ ていません。

Slide 41

Slide 41 text

Cognito 2.Amplify初期化 AWS Amplifyのページを見るとリソースが作成されています。 https://console.aws.amazon.com/amplify/home?region=us-east-1#/

Slide 42

Slide 42 text

Cognito 3.AWS Amplifyに認証機能(Cognito)を追加 amplify add auth Using service: Cognito, provided by: awscloudformation The current configured provider is Amazon Cognito. Do you want to use the default authentication and security configuration? ❯ Default configuration Default configuration with Social Provider (Federation) Manual configuration I want to learn more. add authで認証機能(cognito)を追加します。 とにかく動かしたいのみなので、ま ずはデフォルトで突き進みます。

Slide 43

Slide 43 text

Cognito 3.AWS Amplifyに認証機能(Cognito)を追加 The current configured provider is Amazon Cognito. Do you want to use the default authentication and security configuration? Default configuration Warning: you will not be able to edit these selections. How do you want users to be able to sign in? Username Email Phone Number ❯ Email or Phone Number I want to learn more. 認証時のID設定です。 どれでも良いのですが、 メール or 電話番号を指定してみま す。

Slide 44

Slide 44 text

Cognito 3.AWS Amplifyに認証機能(Cognito)を追加 Do you want to use the default authentication and security configuration? Default configuration Warning: you will not be able to edit these selections. How do you want users to be able to sign in? Email or Phone Number Do you want to configure advanced settings? (Use arrow keys) ❯ No, I am done. Yes, I want to make some additional changes. よけいな設定もしないので、ここで 終わります。 追加があればセットアップ後にやれ ばいいと思います。

Slide 45

Slide 45 text

Cognito 3.AWS Amplifyに認証機能(Cognito)を追加 amplify push ✔ Successfully pulled backend environment dev from the cloud. Current Environment: dev | Category | Resource name | Operation | Provider plugin | | -------- | ------------------------- | --------- | ----------------- | | Auth | amplifycognitovue56ddd63d | Create | awscloudformation | ? Are you sure you want to continue? (Y/n) 最後にpush することで、AWSにデプロイされます。

Slide 46

Slide 46 text

Cognito 3.AWS Amplifyに認証機能(Cognito)を追加 Amazon Cognitoにユーザプールがデプロイされました。

Slide 47

Slide 47 text

Cognito 4.Vueセットアップ Cognitoにユーザプールを作れたので、アプリケーションとつなぎます。 https://docs.amplify.aws/ui メニューから認証を選んでいきます

Slide 48

Slide 48 text

Cognito 4.Vueセットアップ amplify initおよびamplify add auth / pushでvueに設定が足され、Cognitoもできて いるので、snippetをそのまコピーするとおそらく動くと思います。 https://docs.amplify.aws/ui/auth/authenticator/q/framework/vue main.jsとApp.vue(templateとscript)のsnippetをコピーしてそのまま利用します。

Slide 49

Slide 49 text

Cognito 4.Vueセットアップ 準備はちょっと面倒ですが、アプリケーションを動かすのは一瞬です。

Slide 50

Slide 50 text

Cognito 4.Vueセットアップ と、ここまでやって思ったのですが、どうやら画面レンダリングをすべてClient上で実 現しており、Auth0やKeycloak(は厳密には違うようですが)のようなCAS (Central Authentication Service)の仕組みでSSOみたいなことができそうにありません。 出来ないなんてことは無いはず!と思い、Cognitoの設定を確認します。

Slide 51

Slide 51 text

Cognito 5.(SSOとか見据えて)Cognitoのhosted UIとつないでみる ユーザプールメニューの「アプリクライアントの設定」に「ホストされたUI」という機能が 存在しており、こちらを動かしてみます。 https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-app-integrati on.html

Slide 52

Slide 52 text

Cognito 5.(SSOとか見据えて)Cognitoのhosted UIとつないでみる 結論として、確認したHosted UIは、多言語対応しておらず、事実上利用できないこと が判明しました。 使った時間の供養のため、語るのみです。 初心者なので、こういった失敗は仕方ないですね。 注意

Slide 53

Slide 53 text

Cognito 5.(SSOとか見据えて)Cognitoのhosted UIとつないでみる UIをホストするドメインを決めます

Slide 54

Slide 54 text

Cognito 5.(SSOとか見据えて)Cognitoのhosted UIとつないでみる IDプロバイダはユーザプールにします。 Auth0、Keycloakでもありましたが、コールバック にクライアントアプリを指定します。 利用する認証フロー及びOauthのScope を指定します。 ※ざっくりいうと、Jwtの認証に含めること ができる要素になります。

Slide 55

Slide 55 text

Cognito 5.(SSOとか見据えて)Cognitoのhosted UIとつないでみる アプリケーションに組み込みます。 注意 https://aws.amazon.com/jp/blogs/news/amplify-javascript-releases-support-f or-vue-3-ja/ amplifyはvue3に対応しました!って書いてありますが、hosted uiの呼び出し部分 はおそらく対応出来ていません。vue2で実施しましょう。 エラーの内容を追って、SDKにパッチ当てることも考えましたが、実はここまで進めて いる時点で日本語対応出来ないことに気づいており、気力がわきませんでした。

Slide 56

Slide 56 text

Cognito 5.(SSOとか見据えて)Cognitoのhosted UIとつないでみる アプリケーションに組み込みます。 いまいちネット上にきれいなExampleが見つけられなかったため、サンプルソースを 掲載いたします。 まずは、アプリケーションにライブラリを追加します。 npm i aws-amplify aws-amplify-vue @aws-amplify/ui-vue

Slide 57

Slide 57 text

Cognito 5.(SSOとか見据えて)Cognitoのhosted UIとつないでみる import Amplify, * as AmplifyModules from 'aws-amplify'; import {Auth} from 'aws-amplify'; import {AmplifyPlugin } from 'aws-amplify-vue' import awsconfig from './aws-exports' Vue.use(AmplifyPlugin, AmplifyModules) Amplify.configure(awsconfig) Auth.configure({ Auth: { region: 'us-east-1', userPoolId: '${ユーザプールの ID}', userPoolWebClientId: ${「アプリクライアントの設定」より IDをコピー}, oauth: { domain: '${設定したドメイン }.auth.us-east-1.amazoncognito.com', scope: ['email', 'profile', 'openid'], redirectSignIn: '${設定したコールバック }', redirectSignOut: '${設定したコールバック }', responseType: 'code' } }, }); main.js main.jsのimport直下に追加してください。 Auth.configureは、Cognitoの設定と確実に合わせてください。 末尾の”/”も合わせないとエラーになり、動きません ※”/”ありなしで10分くらいハマりました。

Slide 58

Slide 58 text

Cognito 5.(SSOとか見据えて)Cognitoのhosted UIとつないでみる import { Auth, Hub } from "aws-amplify"; ...省略 methods: { // ログイン画面へ遷移 signIn: () => { // cognitoへダイレクト // federatedSignInの引数にidpを渡すとhostdUI以外の認証も利用可能(のようです // ログイン状態の監視など、詳細はこちらをご覧ください // https://docs.amplify.aws/lib/auth/social/q/platform/js#setup-frontend Auth.federatedSignIn(); }, // ログアウト signOut: () => { Auth.signOut().catch(err => console.log(err)); } }, ログインボタンを置くcomponentに以下を追加してください。

Slide 59

Slide 59 text

Cognito 5.(SSOとか見据えて)Cognitoのhosted UIとつないでみる 動きました。

Slide 60

Slide 60 text

最後に、日本語化・・・と思ったのですが、フォーラムにもある通りどうやら対応していません。 ロードマップある旨が、 2019年に言及されいますが、未だ対応していませんでした。 https://forums.aws.amazon.com/thread.jspa?messageID=897875 Cognito 5.(SSOとか見据えて)Cognitoのhosted UIとつないでみる

Slide 61

Slide 61 text

Cognito 感想 自分のログを追いながら簡略化しつつまとめたつもりですが、やっぱりCognito長い ですね。 Amplifyは良く纏まっているし、ドキュメントも充実しているのですが、すべての要素が つながって見えず、やっぱり敷居が高いかな?という印象を持ちました。 何より、hosted uiの多言語対応してほしいです

Slide 62

Slide 62 text

4.比較・・・できる限り

Slide 63

Slide 63 text

比較 コスト ● 考え方 概ねどのIDaaSもMAU(monthly active user)単位で料金体系が決まっています。 MAUの数え方は各社異なるので、個別に確認頂きたいのですが、ざっくりいうと 1ヶ月のあいだに 1回でもログインされば MAUに入ってくる と思います。 ● プラン Auth0だけ少しむずかしいです。 ○ Auth0 Pricingページ的には(おそらく)以下を想定しているように見えました ■ 用途 B2C :Auth0自身をIdpとして利用し、ユーザ数を MAUでカウント B2B :外部のIdp(例えばAD等)とつなぎ、Auth0でフェデレーションし、ユーザ数を MAUでカウント B2E :社内利用を前提に、社員を認証、ユーザ数を ID数でカウント ■ プラン Essential :単一アプリケーションの認証として利用したい( SSO不要なアプリケーション) Professional :IdpとしてAuth0を利用し、複数のアプリケーションで SSOも利用したい Enterprise :一定以上の可用性が求められが求められる、要求の高いアプリケーションで利用した  (ここからSLAが付きます!) ○ Keycloak N/A ○ Cognito ■ セキュリティオプションの有無のみ https://docs.aws.amazon.com/ja_jp/cognito/latest/developerguide/cognito-user-pool-settings-advanced-security.html 「アダプティブMFA(端末変えたときに MFA出すとかの機能)」など、 Auth0のEnterprise以上の機能もついているようです。

Slide 64

Slide 64 text

比較 コスト https://aws.amazon.com/jp/cognito/pricing/ https://auth0.com/jp/pricing 初期移行が発生する場合は、基礎数値に依存しますが、新規立ち上げのサービスであれば 50,000MAUくらいを見ておけば、 1年以上戦えると 思っています。 サービス
 ※Auth0はB2Cを想定 
 ユーザ数(MAU) 
 1ドル=109.86円 
 1,000
 10,000
 50,000
 100,000
 1,000,000
 10,000,000
 Cognito
 無料枠
 30,211
 485,032
 3,698,437
 Cognito
 (セキュリティ有効) 
 5,493
 54,930
 274,650
 466,905
 2,444,385
 17,275,485
 Auth0
 (Essential) 
 2,307
 25,049
 -
 -
 -
 -
 Auth0
 (Professional) 
 26,367
 164,796
 -
 -
 -
 -
 KeyCloak
 N/A
 ※個別見積もり 


Slide 65

Slide 65 text

比較 プラン Cross APP SSO (SSO有無だと理解しました(違ったらすいません)) Enterprise Connection (Gsuite・AD接続など) Organizasions (Auth0のClientアプリに対しての組織・権限管理ができるみたい です。 最近できた機能で、これは使ったことないです。。。) は、特にEnterprise領域では重要になってくると思います。 (完全に感覚値ですが・・・)運用を考えると、 Rules&Hooksが5 以上はほしいです。 ● Essential 
 単一アプリケーションの認証として利用したい(SSO不要なアプリ ケーション) 
 ● Professional 
 IdpとしてAuth0を利用し、複数のアプリケーションでSSOも利用し たい
 ● Enterprise
 一定以上の可用性が求められが求められる、要求の高いアプリ ケーションで利用した(ここからSLAが付きます!) 
 ● Auth0

Slide 66

Slide 66 text

比較 プラン 高度なセキュリティオプションをつけるか 否かで、料金が10倍変わりそうだったの で内容を見てみました。 ※お金がかかるので、動かしていませ ん。。。 ● Cognito 流出したIDの場合ブロックしてくれそう 適用するクライアントを選択可能 いつもと違う PCからログインした場合に、 MFAを 求めるなど、認証リスク発生時のアクションを選択 できるようです。 認証リスク発生時の通知設定のようです IPaddress単位でのホワイト・ブラックリストを管理 できるようです

Slide 67

Slide 67 text

比較 機能 ● メニューレベルでアウトラインを見てみます Auth0 Cognito Keycloak かなり乱暴に繋ぎましたが、目次レベルだと大きな差が無いように見えます。 そういった意味で、実は基本機能は似ているようです。(もちろんそれぞれの深さは違います)

Slide 68

Slide 68 text

各種開発ドキュメント ● auth0 ○ 公式ドキュメント https://auth0.com/docs ○ 公式SDK各種 https://github.com/auth0 ● Keycloak ○ 公式ドキュメント https://www.keycloak.org/documentation https://github.com/keycloak/keycloak-documentation ○ デベロッパーガイド https://keycloak-documentation.openstandia.jp/10.0.0/ja_JP/server_development/index.html ○ 公式SDK各種 https://github.com/keycloak ● Cognito ○ 公式ドキュメント https://docs.aws.amazon.com/cognito/ ○ amplify公式の認証ドキュメント https://docs.amplify.aws/lib/auth/getting-started/q/platform/js ○ amplifyのgithub https://github.com/aws-amplify

Slide 69

Slide 69 text

● Auth0 本日時間の関係で紹介しきれていませんが、機能・認証の柔軟性は最も高いと思いました。 認証構築する場合、機能面で選択肢に挙げない理由がないと思います。 ● Keycloak Web上の情報量も多く、必要十分な機能を備えている為、認証構築の有力な選択肢だと思います。 Auth0との比較は開発・維持管理のコストの考え方、 Auth0にしか無い機能を利用したいか、否かで判断すると良さそうです。 ● Cognito Amplifyとセットで使うことを前提に選定するプロダクトだと思いました。 単体のIDaaSとして使うのは少々難しいかもしれません。 ● Other 今回、時間の制約で試せていませんか、他にも選択肢はあるので、システムの要件・特性・想定するユーザ増加率も加味したコ ストも確認した上で、選定されると良いと思います。 IDaaSであれば、OneLogin/Okta/Authlete managedであれば、Firebase OSSは、、、KeyCloakしか無いかもしれないですね 所感

Slide 70

Slide 70 text

4.さいごに

Slide 71

Slide 71 text

IDaaS/OSS/Managedの観点で見ましたが、 私個人の意見としては、認証機能の採用は、IDaaSを中心に考え、 コスト・機能観点でOSS/Managedに広げて検討すると良いように思えました。 今回見ていませんが、Onelogin/Okta/Akamai/Authlete(は認可のみですが)等、 IDaaSは専用サービスだけあって、機能の充実度が高い印象です。 何より、成長速度が早いです。 さいごに