כדי להגן על מוצרי Google Maps Platform מפני שימוש לא מורשה, Google מגבילה את הקריאות ל-API רק לאלה שמספקות פרטי כניסה מתאימים לאימות. פרטי הכניסה האלה הם מפתח API – מחרוזת אלפאנומרית ייחודית שמשייכת את החשבון לחיוב ב-Cloud לפרויקט ול-API או ל-SDK הספציפיים.
במדריך הזה מוסבר איך ליצור, להגביל ולהשתמש במפתח ה-API של Google Maps Platform.
לפני שמתחילים
לפני שמתחילים להשתמש ב-Distance Matrix API (הדור הקודם), צריך פרויקט עם חשבון לחיוב ו-Distance Matrix API (הדור הקודם) מופעל. מידע נוסף זמין במאמר הגדרה במסוף Cloud.
יצירת מפתחות API
מפתח ה-API הוא מזהה ייחודי שמאמת בקשות שמשויכות לפרויקט שלכם למטרות שימוש וחיוב. צריך להיות לפחות מפתח API אחד שמשויך לפרויקט. כדי ליצור מפתח חדש או להוסיף API או SDK למפתח קיים, פועלים לפי ההוראות הבאות.
המסוף
-
נכנסים לדף Google Maps Platform > Keys & Credentials.
- אם מתבקשים, בוחרים את הפרויקט.
-
מבצעים אחת מהפעולות האלה:
-
יצירת מפתח חדש:
- לוחצים על Create credentials > מפתח API.
- בחלונית יצירת מפתח API, פותחים את הרשימה בחירת הגבלות API.
- מבטלים את הבחירה בכל ממשקי ה-API שהמפתח הזה לא צריך, ומוודאים שהאפשרות Distance Matrix API נשארת מסומנת.
- לוחצים על יצירה. בחלונית מוצג מפתח ה-API החדש.
-
שימוש במפתח קיים:
- לוחצים על שם המפתח.
- ברשימה Select API restrictions, בוחרים באפשרות Distance Matrix API.
- לוחצים על שמירה.
בחירת API כאן לא מפעילה אותו. מוודאים ש-Distance Matrix API מופעל בדף API Library שלו.
-
- כדי לראות את מחרוזת המפתח מאוחר יותר, עוברים לדף Keys & Credentials ולוחצים על Show key ליד המפתח.
אם המסוף נראה שונה מהשלבים האלה, עיינו במאמרים יצירת מפתח API והוספת הגבלות על API במסמכי התיעוד של Google Cloud.
gcloud
בפקודות הבאות, מחליפים את PROJECT_ID במזהה הפרויקט.
-
יצירת מפתח חדש: מריצים את הפקודה הבאה ומחליפים את DISPLAY_NAME בשם של המפתח.
gcloud services api-keys create \ --project="PROJECT_ID" \ --display-name="DISPLAY_NAME" \ --api-target=service=distance-matrix-backend.googleapis.com
מידע נוסף על Google Cloud SDK, התקנת Cloud SDK והפקודות הבאות:
-
שימוש במפתח קיים: מריצים את הפקודה הבאה ומחליפים את KEY_ID במזהה המפתח. הדגל
--appendשומר על ממשקי ה-API שהמפתח כבר מאפשר. בלעדיו, הפקודה מחליפה אותם.gcloud services api-keys update KEY_ID \ --project="PROJECT_ID" \ --append \ --api-target=service=distance-matrix-backend.googleapis.com
מידע נוסף על Google Cloud SDK, התקנת Cloud SDK והפקודות הבאות:
מזהה המפתח הוא לא מחרוזת המפתח או השם המוצג. כדי למצוא אותו, מריצים את הפקודה
gcloud services api-keys list --project="PROJECT_ID". המזהה הוא החלק האחרון בשדהname:projects/PROJECT_NUMBER/locations/global/keys/KEY_ID.
כדי לראות את מחרוזת המפתח, מריצים את הפקודה gcloud services api-keys get-key-string KEY_ID
--project="PROJECT_ID".
הגבלת מפתחות API
Google ממליצה מאוד להגביל את מפתחות ה-API, כך שהשימוש בהם יוגבל רק לממשקי ה-API שנדרשים לאפליקציה. הגבלת מפתחות API מוסיפה שכבת אבטחה לאפליקציה ומגינה עליה מפני בקשות לא רצויות. אתם אחראים מבחינה כספית לחיובים שנגרמו כתוצאה מניצול לרעה של מפתחות API לא מוגבלים. מידע נוסף זמין במאמר שיטות מומלצות לאבטחת API.
כדי להגביל מפתח API:
המסוף
-
נכנסים לדף Google Maps Platform > Keys & Credentials.
- בוחרים את מפתח ה-API שרוצים להגביל. דף המאפיינים של מפתח ה-API מופיע.
- בקטע Key restrictions, מגדירים את ההגבלות הבאות:
- הגבלות על אפליקציות:
- כדי לקבל בקשות מרשימת כתובות ה-IP של שרתי האינטרנט שאתם מספקים, בוחרים באפשרות IP addresses בקטע Application restrictions. מציינים כתובת IPv4 או IPv6 אחת או יותר, או רשת משנה באמצעות סימון CIDR. כתובות ה-IP חייבות להתאים לכתובת המקור ששרתי Google Maps Platform מזהים. אם אתם משתמשים בתרגום כתובות רשת (NAT), בדרך כלל הכתובת הזו תתאים לכתובת ה-IP הציבורית של המכונה.
- הגבלות על ממשקי API:
- בקטע Select API restrictions, מוודאים שהאפשרות Distance Matrix API מסומנת. אם הוא לא מופיע ברשימה, צריך להפעיל אותו.
- כדי לשמור את השינויים, לוחצים על שמירה.
gcloud
מריצים את הפקודה הבאה: מחליפים את KEY_ID במזהה המפתח ואת PROJECT_ID במזהה הפרויקט. כדי למצוא את מזהה המפתח, מריצים את הפקודה gcloud services api-keys list --project="PROJECT_ID". המזהה הוא החלק האחרון בשדה name.
gcloud services api-keys update KEY_ID \ --project="PROJECT_ID" \ --append \ --api-target=service=distance-matrix-backend.googleapis.com \ --allowed-ips="IP_ADDRESS"
מידע נוסף על Google Cloud SDK, התקנת Cloud SDK והפקודות הבאות:
הוספת מפתח ה-API לבקשה
חובה לכלול מפתח API בכל בקשה ל-Distance Matrix API (דור קודם). בדוגמה הבאה, מחליפים את YOUR_API_KEY במפתח ה-API שלכם:
https://maps.googleapis.com/maps/api/distancematrix/json?origins=Seattle&destinations=San+Francisco&key=YOUR_API_KEY
אתם צריכים להשתמש ב-HTTPS לבקשות שמשתמשות במפתח API.