Amazon Cognitoについて
はじめに
今回はAWSのサービスの一つであり、ITのセキュリティ性が重要視されている今日に必要となる機能、Amazon Cognitoの特徴や機能について基礎的な部分を説明していきます。
Amazon Cognitoとは
Amazon Cognitoは、ウェブアプリケーションやモバイルアプリケーションの認証、許可、ユーザー管理をサポートしています。ユーザーは、ユーザー名とパスワードを使用して直接サインインするか、有名なところだとFacebookやGoogle、Appleなどのサードパーティー(他社製品など)を通じてサインインできます。Amazon Cognitoの主な2つのコンポーネントは、ユーザープールとIDプールです。ユーザープールは、アプリユーザーのサインアップとサインインオプションを提供するユーザーディレクトリです。IDプールは、AWSの他のサービスに対するアクセスをユーザーに許可します。IDプールとユーザープールは別々に使用することも、一緒に使用することもできます。Amazon Cognitoはローカルのデータストアとクラウド上のデータストアとの同期機能を備えているため、オフラインでも動作するクラウド対応のモバイルアプリケーションを構築可能です。また、データ同期は同一ユーザーならば複数デバイスにまたがって行われるため、スマートフォンで移動中に楽しんでいたゲームの続きを自宅のタブレットで楽しむ、といったこともできるようになります。
Amazon Cognito
ユーザープール
ユーザプールはAmazon Cognitoのユーザディレクトリです。ユーザープールを使用することで、アプリユーザーは、Amazon Cognitoからウェブやモバイルアプリにサインインするか、サードパーティーのIDプロバイダー(IdP)を通じて連携することができます。ユーザーが直接またはサードパーティを通じてサインインするかどうかにかかわらず、ユーザープールのすべてのメンバーには、ソフトウェア開発キットを通じてアクセスできるディレクトリプロファイルがあります。Amazon Cognitoには下記のような特徴があります。
- サインアップおよびサインインサービス追加機能
- ユーザーがサインインするための組み込みのカスタマイズ可能なウェブUI
- Facebook、Googleでのソーシャルサインイン、Login with Amazon、Sign in with Appleを利用したサインイン
- ユーザーディレクトリとユーザープロファイルの管理
- 多要素認証(MFA)などのセキュリティ機能、漏洩した認証情報のチェック、アカウントの乗っ取り保護や電話とEメールによる検証を行う機能
IDプール
IDプールを使用すると、ユーザーは一時的なAWS認証情報を取得して、Amazon S3やDynamoDBなどのAWSサービスにアクセスできます。IDプールは、匿名ゲストユーザーと、IDプールのユーザーを認証するのに使用できる次のIDプロバイダーをサポートします。
- Amazon Cognitoユーザープール
- Facebook、Googleでのソーシャルサインイン、Login with Amazon
- OpenID Connect (OIDC) プロバイダ
- SAML ID プロバイダー
- 開発者が認証したID
特徴
Amazon Cognitoユーザープールは、何億人ものユーザーにスケールする安全なユーザーディレクトリを作成できます。フルマネージドサービスのユーザープールでは、サーバーインフラストラクチャを気にすることなく、簡単にセットアップできます。ユーザープールは、直接サインアップするユーザーや、ソーシャルIDプロバイダーおよびエンタープライズIDプロバイダーを使用してサインインするフェデレーティッドユーザーに、ユーザープロファイルと認証トークンを提供します。またAmazon Cognitoには、ユーザーのサインアップとサインインのためのカスタマイズ可能な組み込みUIが用意されています。Amazon Cognito向けのAndroid、iOS、JavaScript SDKを使用して、ユーザーのサインアップページやサインインページをアプリケーションに追加できます。Amazon Cognitoの高度なセキュリティ機能を使用すると、アプリケーション内のユーザーアカウントへのアクセスを保護できます。アドバンスドセキュリティ機能は、リスクに基づくアダプティブ認証および不正の対象になった認証情報に対する保護を提供します。数回クリックするだけで、Amazon Cognitoユーザープールの高度なセキュリティ機能を有効にすることができます。
料金
ユーザープールを作成するCognito Identityを使用している場合、月間アクティブユーザー(MAU)のみに基づいて費用が発生します。
- 最初の50,000(MAU):無料
- 次のの50,000(MAU):0.00550USD
- 次のの900,000(MAU):0.00460USD
- 次の9,000,000(MAU):0.00325USD
- 10,000,000超(MAU):0.00250USD
SAMLまたはOIDCフェデレーション(認証のセキュリティ強化)を使用してサインインするユーザーの場合には高度なセキュリティ機能に対する料金は、アクティブなユーザーへの基本料金に上乗せされます。
- 最初の50,000(MAU):無料
- 次のの50,000(MAU):0.035USD
- 次のの900,000(MAU):0.020USD
- 次の9,000,000(MAU):0.015USD
- 10,000,000超(MAU):0.010USD
まとめ
如何だったでしょうか。今回はAmazon Cognitoについて簡単に説明させていただきました。Amazon CognitoサインインなどIT利用で必要不可欠をサポートしてくれます。高度なセキュリティの導入をしなければ無料で利用できるのものがあるので試しに触ってみてもいいかもしれません。