Amazon Cognito を使用すれば、エンドユーザーに一意の識別子を割り当てて、さまざまなデバイスまたは OS プラットフォームのユーザーアプリのデータを、AWS クラウドに安全に保存し、同期することができます。ほんの数行のコードを使用するだけでこれらの機能を追加できます。またアプリケーションは、ユーザーのデバイスがオンラインかオフラインかに関係なく、同様に機能します。同期ストアで新しいデータが利用可能になると、ユーザーのデバイスに、サイレントプッシュ通知によってアラートを送信できます。これにより、アプリが新しいデータで自動的に同期されます。

Amazon Cognito は、バックエンドインフラストラクチャの構築や管理をせずに、モバイルアプリケーションから直接使用できます。Amazon Cognito でアプリケーションデータの保存と同期が安全に処理されるため、アプリケーション開発者は、ユーザーデータの同期ソリューションの作成と管理という重労働を行わずに、アプリケーション体験に集中できます。

また、Amazon Cognito を使用すると、AWS のセキュリティのベストプラクティスを簡単に実装できます。Amazon Cognito を使用すると、アプリケーションの各ユーザーには、Amazon S3 や Amazon DynamoDB といった他の AWS サービスにアクセスするために使用できる、権限の制限された一時的な AWS 認証情報 1 揃いが付与されます。つまり、アプリケーションでセキュリティ認証情報のハードコーディングを行わなくても、アプリケーションから必要なリソースにアクセスできることになり、ユーザーに優れた体験を提供できます。

AWS を無料でお試しください

まずは無料で始める »
またはコンソールにサインイン

AWS 無料利用枠では、無制限のユーザー認証と ID 生成、10 GB のクラウド同期ストレージを提供しており、Amazon Cognito による 1 か月あたり 100 万回の同期操作が可能です。

AWS アカウント作成の流れはこちら »

Cognito_page_divider

Amazon Cognito クライアントの SDK をオプションで使用して、ローカルのデータストアを自動的に作成して、アプリケーションのユーザーデータをデバイスにキャッシュすることもできます。つまり、デバイスの接続状態に関係なく、アプリケーションデータの読み書きを継続できます。デバイスがオフラインのときにアプリケーションのユーザーデータが保存された場合、接続が復旧するとすぐに同期するよう、簡単に設定できます。ユーザーの体験に影響が出ることはありません。

AWS Mobile SDK を使用してアプリケーションに Amazon Cognito を統合している場合、データはローカルのデータストアとの間で読み書きされます。アプリケーションデータを AWS クラウド内の Amazon Cognito 同期ストアにプッシュするには、同期メソッドを明示的に呼び出す必要があります。これにより、アプリケーション開発者は、同期オペレーションとそれに関係するコストを完全に制御できます。

Amazon Cognito では、2 つの方法で同期ストアデータにアクセスできます。Cognito API または Cognito コンソールを使って、アイデンティティごとに同期ストアデータを読み書きできます。また、Cognito ストリームも有効にできます。Cognito ストリームを使用して、AWS アカウントの Kinesis ストリームとしてすべてのデータをプッシュできます。ストリームを消費して、選択したストレージまたはデータベース内で分析するために、このデータを保存することができます。Cognito は、Amazon Redshift にデータを保存するための、サンプル Kinesis コンシューマアプリケーション を提供します。

Amazon Cognito を使用すると、エンドユーザーのすべてのデバイス間でアプリケーションデータを簡単に同期できます。Amazon Cognito により競合の解決とネットワーク接続の安定化という複雑な問題が管理されるため、アプリケーションのユーザー体験は常に優れたものになります。Amazon Cognito 同期ストア内の各データセットは、1 つの API 呼び出しを行うだけで、特定のアイデンティティと関連付けられたすべてのデバイスと同期できます。同期ストアが変更されたら、サイレントプッシュ通知でデバイスに通知することもできます。

ユーザーは未認証のゲストとしてアプリケーションの使用を開始して、まずアプリケーションを使ってみることができます。Amazon Cognito を使用すると、ログインしていないユーザーのデータ(アプリケーションの設定など)もクラウドに安全に保存また同期できます。また、未認証のゲストがサポートされているパブリックログインプロバイダのいずれかを使用して認証する場合に、そのユーザーのデータ(アプリケーション設定やゲームの到達レベルなど)を簡単に保持できるため、アプリケーションの使用全体でのシームレスな体験をユーザーに提供できます。

Amazon Cognito を使用すると、アプリケーションのユーザーに一意な識別子を作成し、権限の制限された一時的な AWS 認証情報を取得するために必要なステップがすべて自動的に処理されます。つまり、アプリケーションに認証情報をハードコーディングする必要がなくなり、セキュリティのベストプラクティスに従って、権限の制限された一時的な認証情報を使用できます。この認証情報を使用して、Amazon S3 や Amazon DynamoDB といった他の AWS リソースにアプリケーションからアクセスするのを許可できます。この権限の制限された一時的な認証情報は、ユーザーが未認証のゲストであるか、サポートされたパブリックログインプロバイダのいずれかで認証しているかに関係なく、使用できます。Amazon Cognito によって提供される認証情報を使用して他の AWS リソースにアクセスする場合、そのサービスの通常の AWS ご利用料金が適用されます。

Amazon Cognito で作成された一意のユーザー識別子をアクセスポリシーで使用して、ユーザーごとに他の AWS リソースへのアクセスを有効にしたり、制限したりすることができます。たとえば、Amazon Cognito で作成された一意の識別子をアクセスポリシーで変数として使用して、アプリケーションの特定のエンドユーザーに対して Amazon S3 バケット内のフォルダーへのアクセスを制限し、他の AWS リソースへのアクセス制御を容易にすることができます。