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

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

一般的な Amazon Cognito シナリオ

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

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

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

ID プールを使用すると、ユーザーは Amazon S3 や DynamoDB などのサービスにアクセス AWS するための一時的な AWS 認証情報を取得できます。ID プールは、匿名のゲストユーザーと、サードパーティー を介したフェデレーションをサポートしています IdPs。

ユーザープールを使用して認証する

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

認証が正常に行われると、ウェブまたはモバイルアプリが Amazon Cognito からユーザープールトークンを受け取ります。これらのトークンを使用して、アプリケーションが他の AWS サービスにアクセスできるようにする AWS 認証情報を取得したり、サーバー側のリソースまたは Amazon API Gateway へのアクセスを制御するために使用したりすることができます。

詳細については、「ユーザープール認証フロー」および「ユーザープールJSONウェブトークンについて (JWTs)」を参照してください。

認証の概要

ユーザープールトークンを使用してバックエンドリソースにアクセスする

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

ユーザープール経由でサーバー側のリソースにアクセスする

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

ユーザープール認証の詳細については、「ユーザープール認証フロー」および「ユーザープールJSONウェブトークンについて (JWTs)」を参照してください。

ユーザープールを使用して API Gateway と Lambda でリソースにアクセスする

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

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

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

ユーザープール経由でAPIゲートウェイにアクセスする

ユーザープールと 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 リソースへのアクセスを許可できます。詳細については、「 デベロッパーガイド」のAMAZON_COGNITO_USER_POOLS 「承認」を参照してください。 AWS AppSync

ID プールから受信したIAM認証情報APIを使用して、 AWS AppSync GraphQL へのリクエストに署名することもできます。AWS_IAM 認可 を参照してください。

ユーザープールまたは ID プールから AWS AppSync リソースにアクセスする