Google Maps Platform サービスでは、API 呼び出しを適切な認証情報を提供しているもののみに制限することで、不正使用を防止しています。これらの認証情報は API キーの形式になります。API キーとは、Google の請求先アカウントをプロジェクトや特定の API、SDK に関連付ける一意の英数字文字列です。
このガイドでは、Google Maps Platform 用の API キーを作成、制限、使用する方法について説明します。
始める前に
Roads API を使用するには、請求先アカウントと Roads API が有効になっているプロジェクトが必要です。詳しくは、Cloud コンソールでの設定をご覧ください。
API キーを作成する
API キーは、使用量を正確に集計して課金するため、プロジェクトに関連付けられたリクエストであることを認証する一意の識別子です。少なくとも 1 つの API キーをプロジェクトに関連付ける必要があります。
API キーを作成するには:
コンソール
-
[Google Maps Platform] > [認証情報] ページに移動します。
-
[認証情報] ページで、[認証情報を作成] > [API キー] をクリックします。
[API キーを作成しました] ダイアログで、新しく作成された API キーが表示されます。 -
[閉じる] をクリックします。
新しい API キーは、[認証情報] ページの [API キー] に一覧で表示されます。
(本番環境で使用する前に必ず API キーを制限するようにしてください)
Cloud SDK
gcloud alpha services api-keys create \ --project "PROJECT" \ --display-name "DISPLAY_NAME"
詳しくは、Google Cloud SDK、Cloud SDK のインストール、および次のコマンドをご覧ください。
API キーの制限
アプリケーションに必要な API しか使用しないよう、API キーの使用に制限をかけておくことを強くおすすめします。API キーに制限をかけることにより、不正なリクエストからアプリケーションを守り、セキュリティを強化できます。詳しくは、API の保護に関するベスト プラクティスをご覧ください。
API キーを制限する手順は次のとおりです。
Console
-
[Google Maps Platform] > [認証情報] ページに移動します。
- 制限を設定する API キーを選択します。選択した API キーのプロパティ ページが表示されます。
- [キーの制限] で、次の制限を設定します。
- アプリケーションの制限:
- 指定したウェブサーバーの IP アドレスのリストからリクエストを受け入れるには、[アプリケーションの制限] のリストから [IP アドレス(ウェブサーバー、cron ジョブなど)] を選択します。IPv4 アドレス、IPv6 アドレス、または CIDR 表記法を使用したサブネット(例: 192.168.0.0/22)を 1 つ指定します。ウェブサービス リクエストでは、外部 IP アドレスを API キーの制限と比較して比較するため、サーバーのパブリック IP アドレスを使用します。
- API の制限:
- [キーを制限] をクリックします。
- [API を選択] プルダウンから [Roads API] を選択します。Roads API がリストに表示されない場合は、この API を有効にする必要があります。
- 変更が完了したら、[保存] をクリックします。
Cloud SDK
既存のキーを一覧表示します。
gcloud services api-keys list --project="PROJECT"
既存のキーに対する既存の制限を削除します。
gcloud alpha services api-keys update "projects/PROJECT/keys/KEY_ID" \ --clear-restrictions
既存のキーに新しい制限を設定します。
gcloud alpha services api-keys update "projects/PROJECT/keys/KEY_ID" \ --api_target="roads.googleapis.com" --allowed-ips="IP_ADDRESS"
詳しくは、Google Cloud SDK、Cloud SDK のインストール、および次のコマンドをご覧ください。
リクエストへの API キーの追加
すべての Roads API リクエストに API キーを追加する必要があります。次の例では、YOUR_API_KEY
を API キーに置き換えます。
https://roads.googleapis.com/v1/snapToRoads?path=-35.27801,149.12958|-35.28032,149.12907|-35.28099,149.12929|-35.28144,149.12984|-35.28194,149.13003|-35.28282,149.12956|-35.28302,149.12881|-35.28473,149.12836
&interpolate=true
&key=YOUR_API_KEY
API キーを使用するリクエストには HTTPS が必要です。