Amazon Cognito アイデンティティプール (フェデレーティッド ID) - Amazon Cognito

Amazon Cognito アイデンティティプール (フェデレーティッド ID)

Amazon Cognito アイデンティティプールは、AWS 認証情報と交換できるフェデレーションアイデンティティのディレクトリです。アイデンティティプールは、ユーザーがログインしているか、まだ特定していないかにかかわらず、アプリのユーザーの一時的な AWS 認証情報を生成します。AWS Identity and Access Management(IAM) ロールとポリシーを使用して、ユーザーに付与する権限のレベルを選択できます。ユーザーはゲストとしてスタートし、AWS のサービス で保管しているアセットを取得できます。その後、サードパーティー ID プロバイダーにサインインして、登録メンバーに提供したアセットへのアクセスをロック解除できます。サードパーティーの ID プロバイダーには、Apple や Google などのコンシューマー (ソーシャル) OAuth 2.0 プロバイダー、カスタム SAML または OIDC ID プロバイダー、またはお客様が独自に設計したカスタム認証スキーム (開発者プロバイダーとも呼ばれます) があります。

2023 年 4 月 19 日、Amazon Cognito はアイデンティティプールの新しい AWS Management Console エクスペリエンスを開始しました。現在、元のアイデンティティプールコンソールと新しいデザインのどちらかを選択できます。このガイドでは、アイデンティティプール操作の手順をコンソールに表示するときに、元のコンソールエクスペリエンスと新しいコンソールエクスペリエンスの指示を切り替えることができます。

Amazon Cognito アイデンティティプールの機能
AWS のサービス のリクエストに署名する

Amazon Simple Storage Service (Amazon S3)および Amazon DynamoDB と同様、AWS のサービス に API リクエストを署名します。Amazon Pinpoint や Amazon CloudWatch などのサービスを使用してユーザーアクティビティを分析します。

リソースベースのポリシーを使用してリクエストをフィルタリングする

リソースへのユーザーアクセスをきめ細かに制御します。ユーザークレームを IAMセッションタグに変換し、ユーザーの個別のサブセットにリソースアクセスを許可する IAM ポリシーを構築します。

ゲストアクセスを割り当てる

まだサインインしていないユーザーの場合は、アクセス範囲の狭い AWS 認証情報を生成するようにアイデンティティプールを設定します。シングルサインオンプロバイダーを通じてユーザーを認証し、アクセスを強化します。

ユーザーの特性に基づいて IAM ロールを割り当てる

認証されたすべてのユーザーに 1 つの IAM ロールを割り当てるか、各ユーザーのリクエストに基づいてロールを選択します。

さまざまな ID プロバイダーを受け入れる

OIDC ID またはアクセストークン、ユーザープールトークン、SAML アサーション、またはソーシャルプロバイダー OAuth トークンを AWS 認証情報と交換します。

自分のアイデンティティを検証する

自分のユーザー検証を行い、開発者の AWS 認証情報を使用してユーザーに認証情報を発行します。

アプリに認証および承認サービスを提供する Amazon Cognito ユーザープールがすでにある場合があります。ユーザープールは ID プロバイダー (IdP) としてユーザープールに設定できます。これを行うと、ユーザーはユーザープール IdPs を通じて認証を行い、そのリクエストを共通の OIDC ID トークンに統合し、そのトークンを AWS 認証情報と交換できます。その後、ユーザーは署名付きのリクエストで認証情報を AWS のサービス に提示できます。

また、任意の ID プロバイダーからの認証済みクレームをアイデンティティプールに直接提示することもできます。Amazon Cognito は、SAML、OAuth、OIDC プロバイダーからのユーザークレームを、短期認証情報の AssumeRoleWithWebIdentity API リクエストにカスタマイズします。

Amazon Cognito ユーザープールは、SSO 対応アプリケーションの OIDC ID プロバイダーのようなものです。アイデンティティプールは、IAM 認証に最も適したリソース依存関係を持つすべてのアプリの AWS ID プロバイダーとして機能します。

Amazon Cognito ID プールは、以下の ID プロバイダーをサポートします。

Amazon Cognito ID プールを利用できるリージョンの詳細については、「AWS リージョン別のサービス」を参照してください。

Amazon Cognito ID プールの詳細については、以下のトピックを参照してください。