באפליקציות ובפרויקטים שמשתמשים בממשקי ה-API ובערכות ה-SDK של הפלטפורמה של מפות Google, עליכם להשתמש במפתחות API, או, אם האפשרות נתמכת, ב-Oauth, כדי למנוע שימוש לא מורשה וחיובים. אם אתם משתמשים במפתחות API, כדי להגביר את האבטחה עליכם להגביל את מפתחות ה-API כשיוצרים אותם. השיטות המומלצות הבאות מראות איך להגביל אותן.
בנוסף להחלת הגבלות על אפליקציות ומפתחות API, עליכם לפעול לפי כל שיטות האבטחה שרלוונטיות למוצרים ספציפיים של הפלטפורמה של מפות Google. לדוגמה, בקטע Maps JavaScript API מפורט בהמשך בקטע הגבלות על אפליקציות ו-API.
אם מפתחות ה-API שלכם כבר נמצאים בשימוש, תוכלו לעיין בהמלצות שלמטה, בקטע אם אתם מגבילים או יוצרים מחדש מפתח API שנמצא בשימוש.
למידע נוסף על חתימות דיגיטליות, קראו את המדריך לחתימה דיגיטלית.
שיטות מומלצות
כדי להגביר את האבטחה ולהימנע מחיוב בגין שימוש לא מורשה, כדאי ליישם את השיטות המומלצות הבאות לאבטחת API בכל ממשקי ה-API, ערכות ה-SDK והשירותים של הפלטפורמה של מפות Google:
מומלץ לכל השימוש במפתחות API
שימוש במפתחות API נפרדים לכל אפליקציה
צריך להפעיל שיקול דעת כשמבצעים יצירה מחדש של מפתחות API
המלצות נוספות לאתרים שמשתמשים בממשקי Static Web API
הגנה על אפליקציות באמצעות ממשקי Static Web API
המלצות נוספות לאפליקציות שמשתמשות בשירותי אינטרנט
הגנה על אפליקציות באמצעות שירותי אינטרנט
המלצות נוספות לאפליקציות לנייד ל-iOS ול-Android
הגנה על אפליקציות לנייד באמצעות שירות אינטרנט או ממשקי API סטטיים
אם אתם מגבילים או יוצרים מחדש מפתח API שנמצא בשימוש
לפני שמשנים את מפתח ה-API, בודקים את השימוש במפתחות API השלב הזה חשוב במיוחד אם אתם מוסיפים הגבלות אחרי שהמפתח נמצא בשימוש.
אחרי שתשנו את המפתח, עדכנו את כל האפליקציות במפתחות ה-API החדשים לפי הצורך.
אם אין ניצול לרעה של מפתח ה-API שלכם, תוכלו להעביר את האפליקציות לכמה מפתחות API חדשים בקצב שלכם, כך להשאיר את מפתח ה-API המקורי ללא שינוי עד שמופיע רק סוג אחד של תעבורת נתונים, ואז להגביל את מפתחות ה-API עם הגבלת האפליקציה. הוראות נוספות זמינות במאמר העברה למפתחות API מרובים.
תוכלו לעקוב אחרי השימוש לאורך זמן, ולבדוק מתי ממשקי API, סוגי פלטפורמות ודומיינים ספציפיים הועברו ממפתח ה-API הישן לפני שתבחרו להגביל או למחוק את המפתח הישן. למידע נוסף, ראו דיווח ומעקב ומדדים.
אם מפתח ה-API שלכם נפרץ, כדאי לאבטח את מפתח ה-API מהר יותר ולהפסיק את הניצול לרעה. באפליקציות ל-Android ול-iOS, המפתחות לא מוחלפים עד שהלקוחות מעדכנים את האפליקציות. עדכון או החלפה של מפתחות ב-JavaScript או באפליקציות לשירותי אינטרנט הוא הרבה יותר פשוט, אבל עדיין יכול להיות שיהיה צורך בתכנון קפדני ובעבודה מהירה.
תוכלו לקרוא מידע נוסף במאמר טיפול בשימוש לא מורשה במפתח API.
הגבלה של מפתחות ה-API
השיטה המומלצת היא להגביל תמיד את מפתחות ה-API באמצעות הגבלה על אפליקציות והגבלה אחת או יותר של API. במאמר הגבלות על אפליקציות ו-API שבהמשך תוכלו לקרוא על הגבלות מומלצות לפי API, SDK או שירות JavaScript.
הגבלת אפליקציות אתם יכולים להגביל את השימוש במפתח API לפלטפורמות ספציפיות: אפליקציות ל-Android או ל-iOS, או אתרים ספציפיים לאפליקציות בצד הלקוח, או כתובות IP ספציפיות או תת-רשתות CIDR לאפליקציות בצד השרת שמנפיקות קריאות ל-API ל-REST של שירותי אינטרנט.
כדי להגביל מפתח, אתם יכולים להוסיף הגבלה אחת או יותר של אפליקציות מהסוגים שאתם רוצים לאשר. לאחר מכן מותר להעלות רק בקשות שמגיעות מהמקורות האלה.
הגבלות על ממשקי API תוכלו להגביל את ממשקי ה-API, ערכות ה-SDK והשירותים של הפלטפורמה של מפות Google שבהם ניתן יהיה להשתמש במפתח ה-API שלכם. הגבלות על ממשקי API מאפשרות לשלוח בקשות רק לממשקי ה-API ולערכות ה-SDK שציינתם. תוכלו לציין כמה מגבלות API לכל מפתח API נתון. רשימת ממשקי ה-API הזמינים כוללת את כל ממשקי ה-API שהופעלו בפרויקט.
הגדרה של הגבלת אפליקציה למפתח API
פותחים את הדף Google Maps Platform Credentials במסוף Google Cloud.
בוחרים את מפתח ה-API שרוצים להגביל.
ב-Edit API key, בקטע Key restrictions, בוחרים באפשרות Set an application restrictions.
בוחרים אחד מסוגי ההגבלות ומספקים את המידע המבוקש לפי רשימת ההגבלות.
סוג הגבלה התיאור אתרים יש לציין אתר מפנה אחד או יותר. - סכימות ה-URI של הגורם המפנה שנתמכות באופן אוניברסלי הן
https
ו-http
. - צריך לספק תמיד את ה-URI של הגורם המפנה המלא, כולל
סכמת הפרוטוקול, שם המארח והיציאה האופציונלית
(למשל
https://google.com
). - אפשר להשתמש בתווים כלליים לחיפוש כדי לתת הרשאה לכל תת-הדומיינים. לדוגמה,
https://*.google.com
מקבל את כל האתרים שמסתיימים ב-.google.com
. הערה: אם מציינים את www.domain.com, הוא פועל כתו כללי לחיפוש www.domain.com/* ומאשר כל נתיב משנה בשם המארח הזה. - כדאי להיזהר כשמאשרים גורמים מפנים לנתיב מלא, לדוגמה
https://google.com/some/path
, כי כברירת מחדל, רוב הדפדפנים הנוכחיים מסירים את הנתיב מבקשות ממקורות שונים.
כתובות IP צריך לציין כתובת אחת או יותר מסוג IPv4 או IPv6, או תת-רשת אחת באמצעות סימון CIDR. כתובות ה-IP צריכות להיות זהות לכתובת המקור שבודקים השרתים של הפלטפורמה של מפות Google. אם אתם משתמשים בתרגום כתובת רשת (NAT), הכתובת הזו תואמת בדרך כלל לכתובת ה-IP הציבורית של המחשב שלכם. אפליקציות ל-Android מוסיפים את שם החבילה ב-Android (מהקובץ AndroidManifest.xml
) ואת טביעת האצבע לאישור חתימה SHA-1 של כל אפליקציה ל-Android שרוצים לתת לה הרשאה. אם אתם משתמשים ב-Play App Signing, תוכלו להיעזר במאמר עבודה עם ספקי API כדי לאחזר את טביעת האצבע של אישור החתימה. אם אתם מנהלים את מפתח החתימה שלכם, כדאי לעיין במאמר חתימה עצמית של האפליקציה או לעיין בהוראות של סביבת ה-build.אפליקציות ל-iOS צריך להוסיף את מזהה החבילה של כל אפליקציית iOS שרוצים לתת לה הרשאה. לקבלת המלצות להגבלת אפליקציות, קראו את המאמר הגבלות של אפליקציות מומלצות.
- סכימות ה-URI של הגורם המפנה שנתמכות באופן אוניברסלי הן
לוחצים על שמירה.
הגדרת הגבלות API למפתח API
פותחים את הדף Google Maps Platform Credentials במסוף Google Cloud.
בוחרים את מפתח ה-API שרוצים להגביל.
בדף עריכת מפתח ה-API, בקטע הגבלות על ממשקי API:
בוחרים באפשרות הגבלת מפתח.
פותחים את Select APIs ובוחרים את ממשקי ה-API או ה-SDK שרוצים לאפשר לאפליקציה לגשת אליהם באמצעות מפתח ה-API.
אם API או SDK לא מופיעים ברשימה, צריך להפעיל אותם. לפרטים נוספים, קראו את המאמר הפעלת ממשקי API או SDK.
לוחצים על שמירה.
ההגבלה הופכת לחלק מהגדרת מפתח ה-API אחרי השלב הזה. חשוב לציין את הפרטים המתאימים וללחוץ על Save כדי לשמור את ההגבלות על מפתחות ה-API. למידע נוסף, קראו את המדריך קבלת מפתח API בתיעוד של ה-API או ה-SDK הספציפיים שבהם אתם מעוניינים.
במאמר הגבלות על ממשקי API תוכלו לקרוא מידע בנושא הגבלות מומלצות על השימוש ב-API.
בדיקת השימוש במפתחות API
אם אתם מגבילים מפתחות API אחרי שהם נוצרו, או אם אתם רוצים לראות באילו ממשקי API המפתח משתמש כדי להגביל אותם, כדאי לבדוק את השימוש שלכם במפתחות API. בשלבים האלה מוסבר באילו שירותים ושיטות API נעשה שימוש במפתח API. אם רואים שימוש מעבר לשירותי הפלטפורמה של מפות Google, כדאי לבדוק אם צריך להוסיף עוד הגבלות כדי להימנע משימוש לא רצוי. בעזרת סייר המדדים במסוף Cloud של הפלטפורמה של מפות Google תוכלו לקבוע אילו ממשקי API והגבלות אפליקציות יחולו על מפתח ה-API:
זיהוי ממשקי ה-API שמשתמשים במפתח ה-API שלכם
דוחות המדדים הבאים מאפשרים לקבוע אילו ממשקי API משתמשים במפתחות ה-API. אפשר להשתמש בדוחות האלה כדי:
- איך משתמשים במפתחות ה-API
- איתור שימוש לא צפוי
- לעזור לבדוק אם בטוח למחוק מפתח שלא נמצא בשימוש. במאמר מחיקת מפתחות API שלא נמצאים בשימוש מוסבר איך למחוק מפתח API.
כשמחילים הגבלות על ממשקי API, צריך להשתמש בדוחות האלה כדי ליצור רשימה של ממשקי API לאישור או כדי לאמת המלצות שנוצרו באופן אוטומטי להגבלת מפתחות API. מידע נוסף על הגבלות מומלצות זמין במאמר החלת הגבלות מומלצות. למידע נוסף על השימוש בסייר המדדים, ראו יצירת תרשימים באמצעות סייר המדדים.
פותחים את Metrics Explorer במסוף Google Cloud.
מתחברים ובוחרים את הפרויקט של מפתחות ה-API שרוצים לבדוק.
עוברים לדף של סייר המדדים בהתאם לסוג ה-API:
למפתחות API שמשתמשים בכל API, מלבד Maps Embed API: יש להיכנס לדף סייר המדדים.
למפתחות API שמשתמשים ב- Maps Embed API: נכנסים אל Metrics Explorer.
בודקים כל מפתח API:
בוחרים באפשרות הוספת מסנן.
בוחרים בתווית
credential_id
.בוחרים את הערך שתואם למפתח שרוצים לבדוק.
שימו לב לאילו ממשקי API מפתח ה-API הזה משמש, וודאו שהשימוש צפוי.
בסיום, לוחצים על Remove filter (הסרת מסנן)
בסוף השורה של המסנן הפעיל כדי למחוק את המסנן הנוסף.
חוזרים על הפעולה עם שאר המפתחות.
להגביל את מפתחות ה-API לממשקי ה-API שנמצאים בשימוש בלבד.
אם מזהים שימוש לא מורשה, קראו את המאמר טיפול בשימוש לא מורשה במפתח API.
איך לבחור את הסוג הנכון של הגבלת האפליקציות באמצעות סייר המדדים
אחרי שתוודאו וביצעתם את הפעולות הנדרשות כדי לוודא שמפתח ה-API שלכם משמש רק לשירותי הפלטפורמה של מפות Google שבו הוא משתמש, עליכם לוודא גם שחלות על מפתח ה-API הגבלות האפליקציה המתאימות.
אם מפתח ה-API שלכם כולל הגבלות מומלצות על מפתחות API, צריך להחיל אותן. מידע נוסף זמין במאמר החלת הגבלות מומלצות על מפתחות API.
אם מפתח ה-API לא כולל המלצות להגבלות, קובעים את סוג הגבלת האפליקציה שרוצים להחיל על סמך ה-platform_type
המדווח באמצעות סייר המדדים:
פותחים את Metrics Explorer במסוף Google Cloud.
מתחברים ובוחרים את הפרויקט של ממשקי ה-API שרוצים לבדוק.
נכנסים לדף של סייר המדדים: Metrics Explorer.
בודקים כל מפתח API:
בוחרים באפשרות הוספת מסנן.
בוחרים בתווית
credential_id
.בוחרים את הערך שתואם למפתח שרוצים לבדוק.
בסיום, לוחצים על Remove filter (הסרת מסנן)
בסוף השורה של המסנן הפעיל כדי למחוק את המסנן הנוסף.
חוזרים על הפעולה עם שאר המפתחות.
אחרי שהגדרתם את סוג הפלטפורמה למפתחות ה-API, עליכם להחיל את הגבלת האפליקציות ל-
platform_type
הזה:PLATFORM_TYPE_JS
- להפעיל הגבלות אתרים על המפתח.
PLATFORM_TYPE_ANDROID
- יש להחיל על המפתח הגבלות על אפליקציות ל-Android.
PLATFORM_TYPE_IOS
- החלת הגבלות על אפליקציות iOS על המפתח.
PLATFORM_TYPE_WEBSERVICE
- יכול להיות שתצטרכו להסתמך על ההגבלות של כתובת ה-IP במפתח כדי להגביל אותו בצורה תקינה. לאפשרויות נוספות של Maps Static API ו-Street View Static API, ראו הגנה על אפליקציות באמצעות Static Web APIs. להוראות נוספות לגבי Maps Embed API, ראו אתרים עם Maps Embed API.
- מפתח ה-API שלי משתמש בכמה סוגי פלטפורמות
- לא ניתן לאבטח כראוי את תנועת הגולשים באמצעות מפתח API אחד בלבד. תצטרכו לעבור לכמה מפתחות API. למידע נוסף, ראו העברה למפתחות API מרובים.
שימוש במפתחות API נפרדים לכל אפליקציה
השיטה הזו מגבילה את ההיקף של כל מפתח. אם מפתח API אחד נפרץ, תוכלו למחוק או ליצור מחדש את המפתח המושפע בלי לעדכן את מפתחות ה-API האחרים. בכל פרויקט ניתן ליצור עד 300 מפתחות API. תוכלו לקרוא מידע נוסף במאמר מגבלות על מפתחות API.
מטעמי אבטחה, מפתח API אחד לכל אפליקציה יכול להיות שימושי, אבל אתם יכולים להשתמש במפתחות מוגבלים במספר אפליקציות, כל עוד הן משתמשות באותו סוג של הגבלת אפליקציות.
החלת הגבלות מומלצות על מפתחות API
אצל חלק מהבעלים והעורכים של פרויקטים, מוצעות הגבלות ספציפיות על מפתחות API למפתחות API בלתי מוגבלים, בהתאם לשימוש ולפעילות שלהם בפלטפורמה של מפות Google.
ההמלצות יופיעו כאפשרויות שמולאו מראש בדף Google Maps Platform Credentials.
סיבות לכך שלא מוצגות לכם המלצות או שהמלצה מסוימת לא מלאה
אתם (גם) משתמשים במפתח ה-API בשירותים אחרים של הפלטפורמה של מפות Google. אם אתם רואים שימוש בשירותים אחרים, אל תיישמו את ההמלצה מבלי קודם לבצע את הפעולות הבאות:
ודאו שהשימוש ב-API שמופיע בסייר המדדים במסוף Google Cloud הוא לגיטימי.
להוסיף באופן ידני שירותים חסרים לרשימת ממשקי ה-API שברצונך לאשר.
להוסיף באופן ידני את כל ההגבלות החסרות על אפליקציות לשירותים שנוספו לרשימת ה-API. אם יש צורך בסוג אחר של הגבלות על אפליקציות שהוספתם, קראו את המאמר העברה למפתחות API מרובים.
לא נעשה שימוש במפתח ה-API שלך בערכות SDK או ממשקי API בצד הלקוח.
אתם משתמשים במפתח ה-API באפליקציה או באתר עם נפח תנועה נמוך, שלא נעשה בהם שימוש ב-60 הימים האחרונים.
יצרתם מפתח חדש ממש לאחרונה, או שפרסתם לאחרונה מפתח קיים באפליקציה חדשה. במקרה כזה, כדאי להמתין עוד כמה ימים כדי שההמלצות יתעדכנו.
אתם משתמשים במפתח ה-API במספר אפליקציות שמחייבות סוגים מתנגשים של הגבלות על אפליקציות, או שאתם משתמשים באותו מפתח API ביותר מדי אפליקציות ואתרים שונים. בכל מקרה, השיטה המומלצת היא לעבור למספר מפתחות. פרטים נוספים זמינים במאמר העברה למפתחות API מרובים.
סיבות אפשריות להצגת המלצות שלא מופיעות בתרשימים
האפליקציה או האתר שלכם שלחו רק עומסי תנועה קצרים מאוד. במקרה כזה, תוכלו לעבור מתצוגת CHART כדי להציג TABLE או BOTH, כי השימוש עדיין מופיע במקרא. למידע נוסף, ראו החלפת המקרא המלא של התרשים.
התנועה שלך מגיעה מ- Maps Embed API. לקבלת הוראות, קראו את המאמר זיהוי ממשקי ה-API שמשתמשים במפתח ה-API שלכם.
התנועה מהאפליקציה או מהאתר נמצאת מחוץ לטווח התאריכים הזמין בסייר המדדים במסוף Google Cloud.
כדי להחיל הגבלות מומלצות
פותחים את הדף Google Maps Platform Credentials במסוף Google Cloud.
אם האפשרות הזו זמינה, בוחרים באפשרות החלת ההגבלות המומלצות.
הערה: אם לא מוצגות הגבלות מומלצות, קראו את המאמר הגדרת הגבלות על ממשקי API למפתח API.
בוחרים באפשרות Check API usage כדי לבדוק באילו שירותים מפתח ה-API נמצא בשימוש. אם לא מופיעים שירותים אחרים של הפלטפורמה של מפות Google, תוכלו להשהות כדי לבדוק ידנית את שלבי ההמלצות שצוינו למעלה. שלבי פתרון הבעיות מופיעים בתחילת הקטע החלת הגבלות מומלצות על מפתחות API.
ודאו שההגבלות שמולאו מראש תואמות לאפליקציות ולאתרים שבהם אתם מצפים להשתמש במפתח ה-API.
שיטה מומלצת: כדאי לתעד ולהסיר הגבלות של אפליקציות או API שלא משויכות לשירותים שלכם. אם משהו מתקלקל עקב תלות בלתי צפויה, אתם יכולים להוסיף שוב את האפליקציות וממשקי ה-API הנדרשים.
אם זיהיתם שאפליקציה, אתר או API חסרים בהמלצות, כדאי להוסיף אותם ידנית או להמתין כמה ימים כדי שההמלצה תתעדכן.
אם אתם זקוקים לעזרה נוספת בנוגע להמלצה, פנו לתמיכה.
בחר הפעל.
מה לעשות אם הבקשה נדחית אחרי שמיישמים המלצה
אם אפליקציה או אתר נדחות אחרי החלת הגבלה, חפשו את ההגבלה על האפליקציות שצריך להוסיף בהודעת השגיאה של תגובת ה-API.
עבור ערכות SDK בצד הלקוח, עיין בהמשך:
- אפליקציות JavaScript API של מפות Google: מומלץ לעיין במסוף ניפוי הבאגים של הדפדפן
- אפליקציות ל-Android: משתמשים ב-Android Debug Bridge (adb) או ב-Logcat
- באפליקציות ל-iOS: אפשר לקרוא את המאמר הצגת הודעות ביומן.
במאמר זיהוי ממשקי ה-API שמשתמשים במפתח ה-API שלכם מוסבר איך לבדוק את ההגבלות הנדרשות על ממשקי API.
אם לא ניתן לקבוע אילו הגבלות להחיל:
- מומלץ לתעד את ההגבלות הקיימות, למקרה שיהיה בו צורך בעתיד.
- להסיר אותם באופן זמני בזמן שבודקים את הבעיה. במאמר בדיקת השימוש במפתחות API מוסבר איך לבדוק את השימוש לאורך זמן.
- במקרה הצורך, אפשר לפנות לתמיכה.
מחיקת מפתחות API שאינם בשימוש
לפני שמוחקים מפתח API, חשוב לוודא שהוא לא נמצא בשימוש בסביבת הייצור. אם לא בוצעה תנועה מוצלחת, סביר להניח שאפשר למחוק את המפתח. למידע נוסף, ראו בדיקת השימוש במפתחות API.
כך מוחקים מפתח API:
פותחים את הדף Google Maps Platform Credentials במסוף Google Cloud.
בוחרים את מפתח ה-API שרוצים למחוק.
לוחצים על הלחצן מחיקה סמוך לחלק העליון של הדף.
בדף מחיקת פרטי הכניסה, בוחרים באפשרות מחיקה.
ההפצה של מפתח API נמשכת כמה דקות. בסיום ההפצה, כל תעבורת הנתונים שמשתמשת במפתח ה-API שנמחק תידחה.
צריך להיזהר כשמבצעים יצירה מחדש של מפתחות API
יצירה מחדש של מפתח API יוצרת מפתח חדש עם כל המגבלות של המפתח הישן. התהליך הזה גם מתחיל טיימר של 24 שעות, שאחריו מפתח ה-API הישן נמחק.
בחלון הזמן הזה, גם המפתח הישן וגם המפתח החדש מקבלים אפשרות להעביר את האפליקציות כך שישתמשו במפתח החדש. עם זאת, לאחר פרק הזמן הזה, אפליקציות שעדיין משתמשות במפתח ה-API הישן יפסיקו לפעול.
לפני יצירה מחדש של מפתח API:
קודם כול נסו להגביל את מפתחות ה-API, כמו שמתואר במאמר הגבלת מפתחות ה-API.
אם לא ניתן להגביל את מפתח ה-API בגלל סוגים מתנגשים של הגבלות על אפליקציות, כדאי לעבור לכמה מפתחות חדשים (מוגבלים), כפי שמתואר במאמר העברה למפתחות API מרובים. ההעברה מאפשרת לכם לשלוט בהעברה ולפרוס את לוח הזמנים למפתחות ה-API החדשים.
אם ההצעות שפירטנו למעלה לא אפשריות, וצריך ליצור מחדש את מפתח ה-API כדי למנוע שימוש לא מורשה, כדאי לפעול לפי השלבים הבאים:
פותחים את הדף Google Maps Platform Credentials במסוף Google Cloud.
פותחים את מפתח ה-API שרוצים ליצור מחדש.
בחלק העליון של הדף, לוחצים על Regenerate key (יצירה מחדש של מפתח).
בוחרים באפשרות החלפת מקש.
הערה: במקרה הצורך, אפשר להחזיר כל מפתח שנוצר מחדש לגרסה הקודמת שלו. אין מגבלת זמן להחזרה למצב הקודם.
כדי להחזיר מפתח שנוצר מחדש
פותחים את הדף Google Maps Platform Credentials במסוף Google Cloud.
פותחים את מפתח ה-API שרוצים להחזיר למצב הקודם.
בוחרים באפשרות חזרה למקש הקודם.
בתיבת הדו-שיח חזרה לגרסה המקורית, בוחרים באפשרות חזרה לגרסה המקורית.
כשחוזרים אחורה, הגרסה "החדשה" הקודמת של המפתח הופכת לגרסה הקודמת, ומוגדר לה טיימר חדש להשבתה למשך 24 שעות. אפשר לחזור בין שני ערכי המפתח האלה עד שתיצרו שוב את המפתח.
אם יוצרים מחדש את המפתח, הוא יחליף את הערך הישן של המפתח הלא פעיל.
העברה למספר מפתחות API
כדי לעבור משימוש במפתח API אחד למספר אפליקציות במפתח API ייחודי אחד לכל אפליקציה:
לזהות אפליקציות שדרושות להן מפתחות חדשים:
- הכי קל לעדכן אפליקציות אינטרנט, כי כל הקוד הוא בשליטתכם. כדאי לתכנן לעדכן את כל המפתחות של האפליקציות מבוססות-האינטרנט.
- באפליקציות לנייד קשה יותר, כי הלקוחות שלכם צריכים לעדכן את האפליקציות שלהם לפני שאפשר יהיה להשתמש במפתחות החדשים.
יצירה והגבלה של המפתחות החדשים: מוסיפים הגבלה על אפליקציות והגבלת API אחת לפחות. מידע נוסף זמין במאמר שיטות מומלצות.
הוספת המפתחות החדשים לאפליקציות: באפליקציות לנייד, התהליך עשוי להימשך חודשים עד שכל המשתמשים יתעדכנו לאפליקציה העדכנית עם מפתח ה-API החדש.
הגנה על אפליקציות באמצעות ממשקי API סטטיים לאינטרנט
ממשקי API סטטיים לאינטרנט, כמו Maps Static API ו-Street View Static API, דומים לקריאות ל-API של שירותי אינטרנט.
אפשר לבצע את שתי הפעולות באמצעות API פשוט ל-REST של HTTPS, ולרוב יוצרים בשרת את כתובת ה-URL של בקשת ה-API. עם זאת, במקום להחזיר תגובת JSON, ממשקי ה-API של Static Web יוצרים תמונה שאפשר להטמיע בקוד HTML שנוצר. חשוב יותר מכך, שירות הפלטפורמה של מפות Google הוא בדרך כלל הלקוח של משתמש הקצה, ולא השרת.
שימוש בחתימה דיגיטלית
השיטה המומלצת היא להשתמש תמיד בחתימות דיגיטליות בנוסף למפתח API. כדאי גם לבדוק כמה בקשות לא חתומות אתם רוצים לאשר ביום ולשנות את המכסות של הבקשות הלא חתומות בהתאם.
למידע נוסף על חתימות דיגיטליות, קראו את המדריך לחתימה דיגיטלית.
הגנה על סוד החתימה שלך
כדי להגן על ממשקי Static Web API, אין להטמיע את סודות החתימה של ה-API ישירות בקוד או בעץ המקור, או לחשוף אותם באפליקציות בצד הלקוח. כדאי ליישם את השיטות המומלצות הבאות להגנה על סודות החתימה:
חותמים על הבקשות בצד השרת, לא בצד הלקוח. אם מבצעים את החתימה בצד הלקוח ב-JavaScript, חושפים את החתימה לכל מי שמבקר באתר. לכן, בתמונות שנוצרות באופן דינמי, תמיד צריך ליצור את כתובות ה-URL החתומות של MapsStatic API ושל Street View Static API בצד השרת, בזמן הצגת דף האינטרנט. לתוכן סטטי באינטרנט, תוכלו להשתמש בווידג'ט Sign a URL now בדף Credentials בפלטפורמה של מפות Google ב-Cloud.
אחסון סודות חתימה מחוץ לקוד המקור ולעץ המקור של האפליקציה. אם אתם מוסיפים את סודות החתימה או כל מידע פרטי אחר במשתני הסביבה או כוללים קבצים שמאוחסנים בנפרד ואז משתפים את הקוד, סודות החתימה לא ייכללו בקבצים המשותפים. אם אתם שומרים סודות חתימה או מידע פרטי אחר בקבצים, כדאי לשמור אותם מחוץ לעץ המקור של האפליקציה כדי שסודות החתימה לא יופיעו במערכת הבקרה של קוד המקור. זה חשוב במיוחד אם אתם משתמשים במערכת ציבורית לניהול קוד מקור, כמו GitHub.
הגנה על מפתח ה-API באפליקציות באמצעות שירותי אינטרנט
אחסון מפתחות API מחוץ לקוד המקור או לעץ המקור של האפליקציה. אם תכניסו את מפתחות ה-API או כל מידע אחר למשתני סביבה, או שתכללו קבצים שמאוחסנים בנפרד ואז משתפים את הקוד, מפתחות ה-API לא ייכללו בקבצים המשותפים. הדבר חשוב במיוחד אם אתם משתמשים במערכת ציבורית לניהול קוד מקור, כמו GitHub.
הגנה על מפתח ה-API וסוד החתימה באפליקציות לנייד באמצעות שירותי אינטרנט או ממשקי API של Static Web
כדי להגן על אפליקציות לנייד, צריך להשתמש במאגר מפתחות מאובטח או בשרת proxy מאובטח:
אחסון מפתח ה-API או סוד החתימה במאגר מפתחות מאובטח. בשלב הזה קשה יותר להעתיק מפתחות API ומידע פרטי אחר ישירות מהאפליקציה.
שימוש בשרת Proxy מאובטח. שרת ה-proxy מספק מקור יציב לאינטראקציה עם ממשק ה-API המתאים של הפלטפורמה של מפות Google. למידע נוסף על השימוש בשרת proxy, קראו את המאמר Living Vicariously: שימוש בשרתי Proxy עם ספריות הלקוח של Google Data API.
בניית הבקשות שלך לפלטפורמה של מפות Google בשרת ה-proxy. אין לאפשר ללקוחות להעביר קריאות שרירותיות ל-API דרך שרת ה-proxy.
לאחר עיבוד התגובות של הפלטפורמה של מפות Google בשרת ה-proxy. מסננים נתונים שהלקוח לא צריך.
טיפול בשימוש לא מורשה במפתח API
אם אתם מזהים שימוש לא מורשה במפתח ה-API שלכם, תוכלו לבצע את הפעולות הבאות כדי לטפל בבעיה:
הגבלת המפתחות: אם השתמשתם באותו מפתח בכמה אפליקציות, עליכם לעבור למספר מפתחות API ולהשתמש במפתחות API נפרדים לכל אפליקציה. למידע נוסף:
צריך ליצור מחדש מפתחות רק אם אין אפשרות להגביל אותם. קראו את הקטע היזהרו כשמבצעים יצירה מחדש של מפתחות API לפני שממשיכים.
אם אתם עדיין נתקלים בבעיות או זקוקים לעזרה, תוכלו לפנות לתמיכה.
הגבלות מומלצות על אפליקציות ו-API
בקטעים הבאים מוצעות הגבלות מתאימות על אפליקציות ו-API, לכל ממשק API, ערכת SDK או שירות של הפלטפורמה של מפות Google.
הגבלות מומלצות לשימוש ב-API
ההנחיות הבאות בנוגע להגבלות API חלות על כל הפלטפורמה של מפות Google:
תוכלו להגביל את מפתח ה-API רק לממשקי ה-API שעבורם אתם משתמשים, למעט חריגים הבאים:
אם האפליקציה שלך משתמשת ב-Place SDK עבור Android או ב-Places SDK ל-iOS, אשר את Places API.
אם באפליקציה נעשה שימוש ב-API של JavaScript של מפות Google, תמיד יש לאשר אותה במפתח שלכם.
אם אתם משתמשים גם בשירותי Maps JavaScript API הבאים, תצטרכו גם לאשר את ממשקי ה-API הבאים:
שירות הגבלת API שירות מסלולים, Maps JavaScript API Directions API שירות מטריצת מרחקים, Maps JavaScript API Distance Matrix API שירות גובה, Maps JavaScript API Elevation API שירות המרת כתובות לקואורדינטות (geocoding), Maps JavaScript API Geocoding API ספריית מקומות, Maps JavaScript API Places API
דוגמאות:
אתם משתמשים ב-SDK של מפות Google עבור Android וב-Places SDK עבור Android, לכן אתם כוללים את Maps SDK עבור Android ואת Places API כהגבלות על ממשקי API.
האתר שלכם משתמש ב-API של JavaScript API בשירות Elevation Service וב-Maps Static API, ולכן אתם מוסיפים הגבלות על ממשקי API לכל ממשקי ה-API הבאים:
- Maps JavaScript API
- Elevation API
- Maps Static API
הגבלת אפליקציה מומלצת
אתרים עם Maps JavaScript API או Static Web API
באתרים שמשתמשים בשירותי JavaScript של מפות Google או בממשקי Static Web API, אפשר להשתמש בהגבלת האפליקציות Websites
.
לשימוש באתרים שמשתמשים בשירותי JavaScript ובממשקי ה-API הבאים:
1 באפליקציות לנייד, מומלץ להשתמש ב-SDK של מפות Google ל-Android וב-SDK של מפות Google ל-iOS.
2 ראו גם הגנה על אפליקציות לנייד באמצעות שירותי אינטרנט או ממשקי API סטטיים באינטרנט.
אתרים עם Maps Embed API
השימוש ב- Maps Embed API הוא בחינם, אבל עדיין עליכם להגביל כל מפתח API שנמצא בשימוש כדי למנוע ניצול לרעה בשירותים אחרים.
שיטה מומלצת: כדאי ליצור מפתח API נפרד לשימוש ב- Maps Embed API, ולהגביל את המפתח הזה רק ל- Maps Embed API. ההגבלה הזו מאובטחת במידה מספקת על המפתח, ומונעת שימוש בלתי מורשה בו בשירותים אחרים של Google.
אם אתם לא מצליחים להפריד את השימוש ב- Maps Embed API למפתח API נפרד, צריך לאבטח את המפתח באמצעות הגבלת האפליקציה Websites
.
אפליקציות ושרתים שמשתמשים בשירותי אינטרנט
לאפליקציות ולשרתים שמשתמשים בשירותי אינטרנט, יש להשתמש בהגבלת האפליקציות IP addresses
.
לשימוש עבור אפליקציות ושרתים באמצעות ממשקי ה-API הבאים:
3 לאפליקציות לנייד, מומלץ להשתמש ב-Places SDK for Android וב-Places SDK עבור iOS המקוריים.
אפליקציות ל-Android
לאפליקציות ב-Android, יש להשתמש בהגבלת האפליקציות Android apps
.
לשימוש עבור אפליקציות ושרתים שמשתמשים בערכות SDK אלה:
בנוסף, כדאי למנוע בטעות בדיקה של מפתחות ה-API לבקרת הגרסאות, באמצעות הפלאגין Secrets Gradle כדי להחדיר סודות מקובץ מקומי במקום לאחסן אותם במניפסט של Android.
אפליקציות ל-iOS
לאפליקציות ב-iOS, יש להשתמש בהגבלת האפליקציות iOS apps
.
לשימוש עבור אפליקציות ושרתים שמשתמשים בערכות SDK אלה: