Amazon Cognito の一般的なシナリオ - Amazon Cognito

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Amazon Cognito の一般的なシナリオ

このトピックでは、Amazon Cognito を使用するための 6 つの一般的なシナリオについて説明します。

Amazon Cognito の主な 2 つのコンポーネントは、ユーザープールと ID プールです。ユーザープールは、ウェブやモバイルアプリケーションユーザーにサインアップとサインインオプションを提供するユーザーディレクトリです。ID プールは、ユーザーに別の AWS のサービスへのアクセスを許可する AWS 認証情報を提供します。

ユーザープールは、Amazon Cognito のユーザーディレクトリです。アプリユーザーは、ユーザープールを通じて直接サインインすることも、サードパーティーの ID プロバイダー (IdP) 通じて連携することもできます。ユーザープールは、Facebook、Google、Apple などのソーシャルサインインから返されたトークン、および OpenID Connect (OIDC) および SAML IdPs から返されたトークンを処理するオーバーヘッドを管理します。ユーザーが直接またはサードパーティを通じてサインインするかどうかにかかわらず、ユーザープールのすべてのメンバーには、SDK を通じてアクセスできるディレクトリプロファイルがあります。

ID プールを使用すると、ユーザーは一時的な AWS 認証情報を取得して、Amazon S3 や DynamoDB などの AWS のサービスにアクセスすることができます。ID プールは、匿名ゲストユーザーと、サードパーティー IdP 経由の連携のいずれもサポートしています。

ユーザープールによる認証

ユーザーがユーザープールを使用して認証できるようにすることができます。アプリユーザーは、ユーザープールを通じて直接サインインすることも、サードパーティーの ID プロバイダー (IdP) 通じて連携することもできます。ユーザープールは、Facebook、Google、Apple などのソーシャルサインインから返されたトークン、および OpenID Connect (OIDC) および SAML IdPs から返されたトークンを処理するオーバーヘッドを管理します。

認証に成功すると、ウェブやモバイルアプリケーションに Amazon Cognito よりユーザープールトークンが送信されます。これらのトークンを使用して、他の AWS のサービスへのアプリによるアクセスを許可する AWS 認証情報を取得したり、サーバー側のリソースへのアクセスや Amazon API Gateway へのアクセスを制御したりすることができます。

詳細については、「Userプール認証のフロー」および「ユーザープールのトークンの使用」を参照してください。


        認証の概要

ユーザープールを使用してサーバー側のリソースにアクセスする

ユーザープールへのサインインに成功すると、ウェブやモバイルアプリケーションに Amazon Cognito よりユーザープールトークンが送信されます。サーバー側のリソースへのアクセスを制御するには、これらのトークンを使用します。また、ユーザープールグループを作成してアクセス許可を管理したり、異なるタイプのユーザーを表したりすることもできます。グループを使用して、リソースをアクセス制御する方法の詳細については、「ユーザープールにグループを追加する」を参照してください。


        ユーザープールを使用したサーバー側のリソースへのアクセス

ユーザープールにドメインを設定すると、ホストされたウェブ UI が Amazon Cognito によってプロビジョニングされるため、アプリケーションにサインアップページとサインインページを追加できるようになります。この OAuth 2.0 認証基盤を使用すると、独自のリソースサーバーを作成して、ユーザーは、保護されたリソースにアクセスできるようになります。詳細については、「ユーザープールのリソースサーバーを定義する」を参照してください。

ユーザープール認証の詳細については、「Userプール認証のフロー」および「ユーザープールのトークンの使用」を参照してください。

API Gateway とユーザープールを使用した Lambda によるリソースへのアクセス

ユーザーが API Gateway を通じて API にアクセスできるようにすることができます。API Gateway は、成功したユーザープール認証からトークンを検証し、Lambda 関数や独自の API などのリソースへのアクセスをユーザーに許可するためにトークンを使用します。

ユーザープール内のグループを使用して、グループメンバーシップを IAM ロールにマッピングすることによって、API Gateway を使用してアクセス権限を制御することができます。ユーザーがメンバーとなっているグループは、アプリのユーザーがサインインするとユーザープールより付与される ID トークンに含まれています。ユーザープールグループの詳細については、「ユーザープールにグループを追加する」を参照してください。

Amazon Cognito オーソライザー Lambda 関数による検証のために、API Gateway へのリクエストでユーザープールトークンを送信できます。API Gateway の詳細については、『』を参照してください。Amazon Cognito ユーザープールを使用した


        ユーザープールを通じて API Gateway にアクセスする

ユーザープールと ID プールを使用して AWS のサービスにアクセスする

ユーザープール認証に成功すると、アプリケーションに Amazon Cognito よりユーザープールトークンが送信されます。ID プールを使用して他の AWS のサービスに一時的にアクセスするには、これらのトークンを交換します。詳細については、「サインイン後に ID プールを使用して AWS サービスへアクセスする」および「Amazon Cognito ID プール (フェデレーティッドアイデンティティ) での作業開始」を参照してください。


        ID プールでユーザープールを使用して AWS 認証情報にアクセスする

サードパーティーを使用して認証を行い、ID プールを使用して AWS サービスにアクセスする

ID プールを使用することで、ユーザーは AWS のサービスにアクセスできます。ID プールには、サードパーティー ID プロバイダーによって認証されたユーザからの IdP トークンが必要です (匿名ゲストの場合は何も必要ありません)。それと引き換えに、ID プールは、他の AWS サービスへのアクセスに使用できる一時的な AWS 認証情報を付与します。詳細については、「Amazon Cognito ID プール (フェデレーティッドアイデンティティ) での作業開始」を参照してください。


        ID プールを伴うサードパーティーの ID プロバイダーを使用して AWS 認証情報にアクセスする

Amazon Cognito を使用した AWS AppSync リソースへのアクセス

Amazon Cognito 認証に成功したトークンを使用して、AWS AppSync リソースへのアクセスをユーザーに許可できます (ユーザープールまたは ID プール)。詳細については、「ユーザープールまたはフェデレーテッドアイデンティティを使用して AWS AppSync およびデータソースにアクセスする」を参照してください。


        ユーザープールまたは ID プールを通じて AWS AppSync にアクセスする