翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
API キーを使用して認証されていないゲストにアプリケーションへのアクセスを許可する
アプリケーションで Amazon Location Service APIsを呼び出す場合、通常、この呼び出しはAPI、呼び出しを行う権限を持つ認証されたユーザーとして行われます。ただし、アプリケーションのすべてのユーザーを認証したくないケースも場合もあるでしょう。例えば、会社の所在地を表示する Web アプリケーションを、ログインしているかどうかに関係なく、Web サイトを使用するすべてのユーザーが利用できるようにしたい場合があります。この場合の代替方法の 1 つは、APIキーを使用してAPI呼び出しを行うことです。
API キーは、 内の特定の Amazon Location Service リソース、 AWS アカウントおよびそれらのリソースに対して実行できる特定のアクションに関連付けられたキー値です。アプリケーションの API キーを使用して、それらのリソースAPIsの Amazon Location に認証されていない呼び出しを行うことができます。例えば、APIキーをマップリソース myMapおよび GetMap*
アクションに関連付けると、そのAPIキーを使用するアプリケーションはそのリソースで作成されたマップを表示でき、アカウントはアカウントからの他の使用状況として課金されます。同じAPIキーは、マップリソースを変更または更新するアクセス許可を付与しません。リソースの使用のみが許可されます。
注記
API キーはマップ 、プレイス 、ルートリソースでのみ使用でき、これらのリソースを変更または作成することはできません。アプリケーションが認証されていないユーザーの他のリソースやアクションにアクセスする必要がある場合は、Amazon Cognito を使用して、APIキーと共に、またはキーの代わりにアクセスを提供できます。詳細については、「Amazon Cognito を使用して、認証されていないゲストにアプリケーションへのアクセスを許可する」を参照してください。
API キーには、 内の 1 つ以上のリソースへのアクセスを許可するプレーンテキスト値が含まれます AWS アカウント。誰かがAPIキーをコピーすると、それらの同じリソースにアクセスできます。これを回避するには、APIキーの作成時にキーを使用できるドメインを指定できます。これらのドメインはリファラーと呼ばれます。必要に応じて、APIキーの有効期限を設定して短期APIキーを作成することもできます。
トピック
API Amazon Cognito と比較したキー
API キーと Amazon Cognito は、同様のシナリオで同様の方法で使用されますが、どちらか一方を使用するのはなぜですか? 以下のリストでは、その 2 つの違いをいくつか紹介します。
-
API キーは、マップ、プレイス、ルートリソース、および特定のアクションでのみ使用できます。Amazon Cognito は、ほとんどの Amazon Location Service へのアクセスを認証するために使用できますAPIs。
-
API キーを使用したマップリクエストのパフォーマンスは、通常、Amazon Cognito の同様のシナリオよりも高速です。認証が簡単なため、短期間に同じマップタイルを再度取得したときに、サービスとキャッシュされたリクエストへのラウンドトリップが少なくなります。
-
Amazon Cognito では、Amazon Cognito フェデレーション ID を使用して、独自の認証プロセスを使用したり、複数の認証方法を組み合わせたりできます。詳細については、「Amazon Cognito 開発者ガイド」の「Getting Started with Federated Identities」を参照してください。
API キーの作成
API キーを作成し、 内の 1 つ以上のリソースに関連付けることができます AWS アカウント。
Amazon Location Service コンソール、、 AWS CLIまたは Amazon Location を使用してAPIキーを作成できますAPIs。
API キーを使用して Amazon Location を呼び出す API
API キーを作成したら、キー値を使用して、アプリケーションで Amazon Location を呼び出しAPIsます。
API キーAPIsをサポートする には、APIキー値を取得する追加のパラメータがあります。例えば、 GetPlace
を呼び出す場合API、次のようにキーパラメータを入力できます。
GET /places/v0/indexes/
IndexName
/places/PlaceId
?key=KeyValue
この値を入力すると、通常どおり AWS Sig v4 でAPI通話を認証する必要はありません。
JavaScript デベロッパーの場合は、Amazon Location JavaScript 認証ヘルパー を使用して、APIキーを使用したAPIオペレーションの認証に役立てることができます。
モバイルデベロッパーの場合、次の Amazon Location モバイル認証を使用できますSDKs。
AWS CLI ユーザーの場合、 --key
パラメータを使用する場合、Sig v4 で署名しないように、 --no-sign-request
パラメータも使用する必要があります。
注記
Amazon Location Service への呼び出しに key
と AWS Sig v4 の両方の署名を含めると、 APIキーのみが使用されます。
API キーを使用してマップをレンダリングする
API キー値を使用して、 を使用してアプリケーションでマップをレンダリングできます MapLibre。これは、直接APIs呼び出す他の Amazon Location のAPIキーを使用するのとは少し異なります。 MapLibre は、これらのキーを呼び出すからです。
次のサンプルコードは、 APIキーを使用して MapLibre GL JS マップコントロールを使用してシンプルなウェブページにマップをレンダリングする方法を示しています。このコードが正しく機能するには、v1.public.your-api-key-value
,
us-east-1
および ExampleMap
に一致する値を持つ文字列 AWS アカウント。
<!-- index.html --> <html> <head> <link href="https://unpkg.com/maplibre-gl@1.14.0/dist/maplibre-gl.css" rel="stylesheet" /> <style> body { margin: 0; } #map { height: 100vh; } </style> </head> <body> <!-- Map container --> <div id="map" /> <!-- JavaScript dependencies --> <script src="https://unpkg.com/maplibre-gl@1.14.0/dist/maplibre-gl.js"></script> <script> const apiKey = "
v1.public.your-api-key-value
"; // API key const region = "us-east-1
"; // Region const mapName = "ExampleMap
"; // Map name // URL for style descriptor const styleUrl = `https://maps.geo.${region}.amazonaws.com/maps/v0/maps/${mapName}/style-descriptor?key=${apiKey}`; // Initialize the map const map = new maplibregl.Map({ container: "map", style: styleUrl, center: [-123.1187, 49.2819], zoom: 11, }); map.addControl(new maplibregl.NavigationControl(), "top-left"); </script> </body> </html>
API キーの有効期間を管理する
無期限に機能するAPIキーを作成できます。ただし、一時APIキーの作成、定期的なAPIキーのローテーション、既存のAPIキーの取り消しを行う場合は、APIキーの有効期限 を使用できます。
新しいAPIキーを作成するとき、または既存のキーを更新するときは、そのAPIキーの有効期限を設定できます。
-
API キーの有効期限に達すると、キーは自動的に非アクティブ化されます。非アクティブなキーはマップリクエストには使用できなくなります。
-
API キーは、無効化してから 90 日後に削除できます。
-
まだ削除していない非アクティブなキーがある場合は、有効期限を将来の時間に更新することで復元できます。
-
永久キーを作成するには、有効期限を削除することができます。
-
過去 7 日以内に使用されたAPIキーを非アクティブ化しようとすると、変更を行うかどうかを確認するメッセージが表示されます。Amazon Location Service APIまたは を使用している場合は AWS CLI、
ForceUpdate
パラメータを true に設定しない限り、エラーが表示されます。