メニュー
Amazon Cognito
開発者ガイド (Version 最終更新日: 2017 年 8 月 26 日)

Amazon Cognito とは

Amazon Cognito を使用して、モバイルアプリやウェブアプリに、ユーザーのサインアップやサインインを簡単に追加してアクセス権限を管理できるようになりました。Amazon Cognito で、独自のユーザーディレクトリを作成できます。Facebook、Twitter、Amazon などのソーシャル ID プロバイダ経由で、SAML ID ソリューションを使用して、または独自の ID システムを使用して、ユーザーを認証するように選択することもできます。さらに、Amazon Cognito を使用すると、ユーザーのデバイスにローカルでデータを保存し、デバイスがオフラインであってもアプリケーションが機能するようにもできます。その後、ユーザーのデバイス間でデータを同期して、使用するデバイスを問わずアプリのエクスペリエンスに整合性を持たせることができます。

Amazon Cognito を使用すると、ユーザーの管理、認証、デバイス間の同期を行うソリューションの構築、安全性の確保、スケーリングに煩わされることなく、優れたアプリのエクスペリエンスを作成することに集中できます。

最新情報

Amazon Cognito ユーザープールに、ユーザーのサインイン用の組み込みのカスタマイズ可能な UI、および Facebook、Google、Login with Amazon、SAML ID プロバイダを使用する組み込みフェデレーションが用意されました。これらの新機能を使用して、簡単にユーザーサインインをアプリに統合し、ユーザーに複数のサインイン方法を提供できます。詳細については、「ユーザープールのアプリ統合およびフェデレーションの開始方法」を参照してください。

Amazon Cognito の機能

Amazon Cognito User Pools: Amazon Cognito ユーザープールを使用して、ユーザーディレクトリを作成、管理し、モバイルアプリやウェブアプリケーションにサインアップとサインインを追加できます。また、ユーザーが Google、Facebook、Amazon などのソーシャル ID プロバイダまたは SAML ベースの ID プロバイダ経由でユーザープールにサインインするようにもできます。ユーザープールは、何百万人ものユーザーにまで拡張でき、開発者としてシンプル、安全、そして低コストのオプションを提供できます。メールや電話番号の検証、MFA 認証などの拡張セキュリティ機能を実装できます。さらに、Amazon Cognito ユーザープールを使用すると、AWS Lambda でワークフローをカスタマイズできます。たとえば、ユーザー登録に不正検出とユーザー検証を行うアプリ固有のロジックを追加できます。

Amazon Cognito は HIPAA 対応であり、PCI に準拠しています。

詳細については、「Amazon Cognito ユーザープール」を参照してください。

Amazon Cognito フェデレーテッドアイデンティティ: Amazon Cognito フェデレーテッドアイデンティティでは、ユーザーの一意の ID を作成し、フェデレーテッド ID プロバイダーで認証することができます。フェデレーテッド ID により、権限が制限された一時的な AWS 認証情報を取得して、Amazon Cognito Sync とデータを同期できます。また、これらの認証情報を使用して、Amazon DynamoDB、Amazon S3、Amazon API Gateway などの他の AWS サービスに安全にアクセスできます。Amazon Cognito フェデレーテッドアイデンティティは、Amazon、Facebook、Google、Twitter、OpenID Connect プロバイダ、SAML ID プロバイダを含むフェデレーテッド ID プロバイダーおよび認証されていない ID をサポートします。また、この機能は独自のバックエンド認証システムを通じてユーザーを登録し、認証することができる、開発者が認証した ID をサポートします。

詳細については、「Amazon Cognito フェデレーテッドアイデンティティ」を参照してください。

Amazon Cognito Sync: Amazon Cognito Sync は、アプリケーション関連のユーザーデータのオフラインでのアクセスとデバイス間の同期をサポートする、AWS サービスとクライアントライブラリです。Amazon Cognito Sync を使用して、独自のバックエンドを必要とせずにモバイルデバイスとウェブ間でユーザープロファイルデータを同期できます。クライアントライブラリはローカルにデータをキャッシュするため、アプリはデバイスの接続状態にかかわらず、データを読み書きすることができます。デバイスがオンラインのときは、データを同期し、プッシュ同期を設定すると、アップデートが利用できることが他のデバイスにすぐに通知されます。

詳細については、「Amazon Cognito Sync」を参照してください。

Amazon Cognito へのアクセス

Amazon Cognito には、Amazon Cognito コンソールAWS Command Line Interface、および Amazon Cognito API を使用してアクセスできます。

Amazon Cognito のご利用は初めてですか?

Amazon Cognito を初めて使用する方は、ユーザープールのアプリ統合およびフェデレーションの開始方法 ガイドを初めに読むことをお勧めします。

また、当社の開発者用リソースページにも、情報や、ビデオ、記事、ドキュメント、サンプルアプリケーションへのリンクがあります。

Amazon Cognito の料金表

Amazon Cognito の料金については、Amazon Cognito 料金表ページを参照してください。

Amazon Cognito 向け SDK

Amazon Cognito には 3 種類の SDK があります。

スタンダード SDK はサービスのすべての API をカバーし、高レベル SDK は一部の関数を簡単に実行できる追加機能を提供します。2 種類の SDK の主な違いの一つは、ユーザーのサインインです。Amazon Cognito は、少しの計算およびクライアントとサービス API 間でいくつかのリクエストを必要とする Secure Remote Password (SRP) プロトコルを使用します。高レベル SDK では、そのプロセスは自動的に処理されます。スタンダード SDK は、基となる API を公開していますが、現在 SRP のサポートは組み込まれていません。認証オプションの詳細については、「Amazon Cognito ユーザープール認証フロー」を参照してください。

次の Amazon Cognito 向け SDK のリンクを使用します。

スタンダード AWS SDK

すべての SDK のドキュメントは、Amazon Web Services 用のツールでダウンロードおよびドキュメントのリンクを見つけることができます。

Amazon Cognito ユーザープールのアプリ統合およびフェデレーション用 SDK

Amazon Cognito SDK に加えて、Amazon Cognito ユーザープールのアプリ統合およびフェデレーション専用 SDK およびサンプルアプリもあります。これらは以下の場所にあります。