Amazon Cognito とは - Amazon Cognito

Amazon Cognito とは

Amazon Cognito は、ウェブおよびモバイルアプリの認証、承認、およびユーザー管理機能を提供します。ユーザーは、ユーザー名とパスワードを使用して直接サインインするか、Facebook、Amazon、Google、Apple などのサードパーティーを通じてサインインできます。

Amazon Cognito の主な 2 つのコンポーネントは、ユーザープールと ID プールです。ユーザープールは、アプリユーザーのサインアップとサインインオプションを提供するユーザーディレクトリです。ID プールは、AWS の他のサービスに対するアクセスをユーザーに許可します。ID プールとユーザープールは別々に使用することも、一緒に使用することもできます。

Amazon Cognito のユーザープールと ID プールの併用

一般的な Amazon Cognito のシナリオの図を参照してください。ここでの目標は、ユーザーを認証してから、AWS の別のサービスに対するアクセス権をユーザーに付与することです。

  1. 最初のステップでは、アプリのユーザーはユーザープールを介してサインインし、認証が成功するとユーザープールトークンを受け取ります。

  2. 次に、アプリケーションが ID プール経由でユーザープールトークンを AWS 認証情報と交換します。

  3. 最後に、アプリケーションユーザーがこれらの AWS 認証情報を使用して、Amazon S3 または DynamoDB などの AWS のその他サービスにアクセスできるようになります。


      Amazon Cognito の概要

ID プールとユーザープールを使用するその他の例については、「一般的な Amazon Cognito シナリオ」を参照してください。

Amazon Cognito は、SOC 1~3、PCI DSS、ISO 27001 に準拠し、HIPAA-BAA に対応しています。詳細については、[AWS 対象範囲内のサービス]を参照してください。「リージョンデータに関する考慮事項」も参照してください。

Amazon Cognito の機能

ユーザープール

ユーザープールは、Amazon Cognito のユーザーディレクトリです。ユーザープールを使用することで、ユーザーはウェブまたはモバイルアプリに Amazon Cognito 経由でサインインする、またはサードパーティー ID プロバイダー (IdP) 経由でフェデレートすることができます。ユーザーが直接またはサードパーティーを通じてサインインするかどうかにかかわらず、ユーザープールのすべてのメンバーには、SDK を通じてアクセスできるディレクトリプロファイルがあります。

ユーザープールは次の機能を提供します。

  • サインアップおよびサインインサービス。

  • ユーザーをサインインするためのカスタマイズ可能な組み込み Web UI。

  • Facebook、Google でのソーシャルサインイン、Login with Amazon、Sign in with Apple、ユーザープールからの SAML および OIDC ID プロバイダー経由のサインイン。

  • ユーザーディレクトリとユーザープロファイルの管理。

  • 多要素認証 (MFA) などのセキュリティ機能、漏洩した認証情報のチェック、アカウントの乗っ取りからの保護、電話と E メールによる検証。

  • カスタマイズされたワークフローと AWS Lambda トリガーによるユーザー移行。

ユーザープールの詳細については、「ユーザープールの開始方法。」とAmazon Cognito ユーザープール API リファレンスを参照してください。

ID プール

ID プールを使用すると、ユーザーは Amazon S3 や DynamoDB などの AWS のサービスにアクセスするための一時的な AWS 認証情報を取得できます。ID プールは、匿名ゲストユーザーと、ID プールのユーザーを認証するのに使用できる次の ID プロバイダーをサポートします。

  • Amazon Cognito user pools

  • Facebook、Google でのソーシャルサインイン、Login with Amazon、Sign in with Apple

  • OpenID Connect (OIDC) プロバイダー

  • SAML ID プロバイダー

  • デベロッパーが認証した ID

ユーザープロファイル情報を保存するには、ID プールをユーザープールに統合する必要があります。

ID プールの詳細については、「Amazon Cognito ID プール (フェデレーティッド ID) の使用開始方法」と Amazon Cognito ID プール API リファレンスを参照してください。

Amazon Cognito の使用開始方法

タスクを停止するガイドとタスクを開始する場所については、「Amazon Cognito の使用開始方法」を参照してください。

動画、記事、ドキュメント、およびサンプルアプリケーションについては、Amazon Cognito デベロッパーリソースを参照してください。

Amazon Cognito を使用するには、AWS アカウントが必要です。詳細については、「Amazon Cognito コンソールの使用」を参照してください。

リージョナルな可用性

Amazon Cognito は世界中にある複数の AWS リージョンで利用できます。各リージョンで、Amazon Cognito は複数のアベイラビリティーゾーンに分散されています。これらのアベイラビリティーゾーンは物理的に相互に分離されていますが、低レイテンシーで高スループットの冗長性に優れたプライベートネットワーク接続で統合されています。これらのアベイラビリティーゾーンは、AWS が、レイテンシーを最小限に抑えながら、きわめて高レベルの可用性と冗長性で Amazon Cognito などのサービスを提供することを可能にします。

現在 Amazon Cognito を利用できるすべてのリージョンのリストについては、「Amazon Web Services 全般のリファレンス」の「AWS のリージョンとエンドポイント」を参照してください。各リージョンで利用できるアベイラビリティーゾーンの数の詳細については、「AWS グローバルインフラストラクチャ」を参照してください。

Amazon Cognito の料金

Amazon Cognitoの料金については、「Amazon Cognito の料金」を参照してください。