翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Amazon Cognito を使用して認証する
フロントエンド SDK リクエストで AWS Identity and Access Management (IAM) ユーザーを直接使用する代わりに、Amazon Cognito 認証を使用できます。
Amazon Cognito は、ウェブおよびモバイルアプリの認証、認可、およびユーザー管理機能を提供します。アプリケーションがスコープダウンされた一時的な AWS 認証情報を取得する方法として、Amazon Cognito の認証されていない ID プールを Amazon Location で使用できます。
詳細については、「Amazon Cognito 開発者ガイド」の「ユーザープールの使用を開始する」を参照してください。
以下の場合は、この認証形式を使用します。
-
認証されていないユーザー — 匿名ユーザーがいるウェブサイトがある場合は、Amazon Cognito アイデンティティプールを使用できます。
詳細については、「Amazon Cognito を使用して認証する」セクションを参照してください。
-
独自の認証 — 独自の認証プロセスを使用する場合や、複数の認証方法を組み合わせたい場合は、Amazon Cognito フェデレーテッド ID を使用できます。
詳細については、「Amazon Cognito 開発者ガイド」の「Getting Started with Federated Identities」を参照してください。
Amazon Cognito と Amazon Location Service を使用する
認証されていない ID ロールに関連付けられた AWS Identity and Access Management (IAM) ポリシーは、次のアクションで使用できます。
Amazon Cognito アイデンティティプールを作成する
Amazon Cognito ID プールを作成して、Amazon Cognito コンソール、、または Amazon CognitoAmazon Cognito APIs を使用して AWS CLI、認証されていないゲストがアプリケーションにアクセスできるようにします。
重要
作成するプールは、使用している Amazon Location Service リソースと同じ AWS アカウント および AWS リージョンにある必要があります。
ウェブで Amazon Cognito ID プールを使用する
次の の例では、作成した認証されていない ID プールを、 の呼び出しに使用される認証情報と交換しますCalculateIsolines
。この作業を簡素化するために、この例では Amazon Location 認証ヘルパーの使用方法プロシージャを使用します。これは、認証情報の取得と更新の両方に代わるものです。
この例では、 AWS SDK for JavaScript v3 を使用しています。
import { GeoRoutesClient, CalculateIsolinesCommand , } from "@aws-sdk/client-geo-routes"; // ES Modules import import { withIdentityPoolId } from "@aws/amazon-location-utilities-auth-helper"; const identityPoolId = "<identity pool ID>"; // for example, us-east-1:1sample4-5678-90ef-aaaa-1234abcd56ef const authHelper = await withIdentityPoolId(identityPoolId); const client = new GeoRoutesClient({ ...authHelper.getClientConfig(), region: "<region>", // The region containing the identity pool }); const input = { DepartNow: true, TravelMode: "Car", Origin: [-123.12327, 49.27531], Thresholds: { Time: [5, 10, 30], }, }; const command = new CalculateIsolinesCommand(input); const response = await client.send(command); console.log(JSON.stringify(response, null, 2))