翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Amazon Cognito ID プール (フェデレーティッド ID) の使用開始方法
Amazon Cognito ID プールを使用すると、一意のアイデンティティを作成し、ユーザーに許可を割り当てることができます。ID プールには以下を含めることができます。
-
Amazon Cognito ユーザープール内のユーザー
-
Facebook、Google、Apple、または SAML ID プロバイダーなどの外部 ID プロバイダーを使って認証するユーザー。
-
独自の既存の認証プロセスによって認証されたユーザー
ID プールを使用すると、他の に直接アクセス AWS のサービス したり、Amazon API Gateway を介してリソースにアクセスしたりするために定義したアクセス許可を持つ一時的な AWS 認証情報を取得できます。
Amazon Cognito で ID プールを作成する
ID プールは、Amazon Cognito コンソール経由で、または、 AWS Command Line Interface (CLI) か Amazon Cognito API を使用して作成することができます。
コンソールで新しい ID プールを作成する
-
Amazon Cognito コンソール
にサインインし、アイデンティティプールを選択します。 -
[ID プールを作成] を選択します。
-
[ID プールの信頼を設定] で、アイデンティティプールを認証アクセス、ゲストアクセス、またはその両方に設定することを選択します。
-
[認証アクセス] を選択した場合、アイデンティティプールの認証済み ID のソースとして設定する ID タイプを 1 つ以上選択します。[カスタムデベロッパープロバイダー] を設定した場合、アイデンティティプールの作成後にそのプロバイダーを変更したり削除したりすることはできません。
-
-
[許可を設定] で、アイデンティティプール内の認証済みユーザーまたはゲストユーザーのデフォルトの IAM ロールを選択します。
-
Amazon Cognito に、基本的な権限とアイデンティティプールとの信頼関係を持つ新しいロールを作成する場合は、[新しい IAM ロールを作成] を選択します。新しいロールを識別するための IAM ロール名を入力します (たとえば
myidentitypool_authenticatedrole
)。[ポリシードキュメントを表示] を選択して、Amazon Cognito が新しい IAM ロールに割り当てるアクセス権限を確認します。 -
使用する にロールが既にある場合は、既存の IAM ロール AWS アカウント の使用を選択できます。
cognito-identity.amazonaws.com
を含めるように IAM ロールの信頼ポリシーを設定する必要があります。リクエストが特定のアイデンティティプール内の認証されたユーザーから送信されたという証拠を提示した場合にのみ、Amazon Cognito がロールを引き継ぐことを許可するようにロールの信頼ポリシーを設定します。詳細については、「ロールの信頼とアクセス権限」を参照してください。
-
-
Connect ID プロバイダー で、「ID プールの信頼を設定する」で選択した ID プロバイダー (IdPs) の詳細を入力します。OAuth アプリケーションクライアント情報の提供、Amazon Cognito ユーザープールの選択、IAM IdP の選択、またはディベロッパープロバイダーのカスタム識別子の入力を求められる場合があります。
-
各 IdP のロール設定を選択します。その IdP のユーザーに、認証済みロールを設定したときに設定したデフォルトロールを割り当てることも、ルール付きのロールを選択することもできます。Amazon Cognito ユーザープール IdP では、トークンに preferred_role を含むロールを選択することもできます。
cognito:preferred_role
クレームの詳細については、「グループへの優先順位の値の割り当て」を参照してください。-
[ルールを使用してロールを選択する] を選択した場合、ユーザー認証からのソースクレーム、クレームを比較するオペレータ、このロール選択と一致する値、およびロール割り当てが一致したときに割り当てるロールを入力します。別の条件に基づいて追加のルールを作成するには、[別のものを追加] を選択します。
-
[ロールの解決] を選択します。ユーザーのクレームがルールに合わない場合は、認証情報を拒否するか、認証済みロールの認証情報を発行できます。
-
-
アクセスコントロールの属性は、IdP ごとに個別に設定できます。アクセスコントロールの属性は、Amazon Cognito がユーザーの一時セッションに適用するプリンシパルタグにユーザーのクレームをマッピングします。セッションに適用するタグに基づいてユーザーアクセスをフィルタリングするIAMポリシーを作成できます。
-
プリンシパルタグを適用しない場合は、[非アクティブ] を選択します。
-
sub
およびaud
クレームに基づいてプリンシパルタグを適用するには、[デフォルトマッピングを使用] を選択します。 -
プリンシパルタグへの属性の独自のカスタムスキーマを作成するには、[カスタムマッピングを使用] を選択します。次に、タグに表示したい各クレームから取得するタグキーを入力します。
-
-
-
[プロパティの設定] の [ID プール名] に [名前] を入力します。
-
[基本 (クラシック) 認証] で、ベーシックフローを有効にするかどうかを選択します。基本的なフローをアクティブにすると、 に対して行ったロールの選択をバイパス IdPs して、 AssumeRoleWithWebIdentity を直接呼び出すことができます。詳細については、「ID プール (フェデレーティッドアイデンティティ) の認証フロー」を参照してください。
-
アイデンティティプールにタグを適用する場合は、[タグ] で [タグの追加] を選択します。
-
[確認および作成] で、新しいアイデンティティプールに対して行った選択を確認します。[編集] を選択してウィザードに戻り、設定を変更します。終了したら、[ID プールの作成] を選択します。
SDKE の設定
Amazon Cognito ID プールを使用するには、 AWS Amplify、 AWS SDK for Java、または を設定します AWS SDK for .NET。詳細については、以下のトピックを参照してください。
-
AWS SDK for Java デベロッパーガイドの SDK for のセットアップ JavaScript
-
Amplify Dev Center の「Amplify のドキュメント
」 -
AWS SDK for .NET ディベロッパーガイド の「Amazon Cognito 認証情報プロバイダー」
ID プロバイダーを統合する
Amazon Cognito アイデンティティプール (フェデレーティッド ID) は、Amazon Cognito ユーザープール、フェデレーティッド ID プロバイダー (Amazon、Facebook、Google、および SAML ID プロバイダーなど) に加えて、認証されていない ID 経由でのユーザー認証をサポートしています。また、この機能は独自のバックエンド認証プロセスを通じてユーザーを認証し登録することができる、デベロッパーが認証したアイデンティティ (アイデンティティプール) をサポートしています。
独自のユーザーディレクトリを作成するための Amazon Cognito ユーザープールの使用に関する詳細については、「Amazon Cognito user pools」および「サインイン後に ID プールを使用して AWS サービスへアクセスする」を参照してください。
外部 ID プロバイダーについては、ID プール外部 ID プロバイダー を参照してください。
独自のバックエンド認証プロセスの統合に関する詳細については、「デベロッパーが認証したアイデンティティ (アイデンティティプール)」を参照してください。
認証情報を取得する
Amazon Cognito ID プールは、ゲストユーザー (未認証)、および認証してトークンを受け取ったユーザーに一時的な AWS 認証情報を提供します。これらの AWS 認証情報を使用して、アプリケーションは Amazon API Gateway AWS を介して AWS 内または外部にあるバックエンドに安全にアクセスできます。「認証情報の取得」を参照してください。