שיטות מומלצות לאבטחה ב-API

באפליקציות ובפרויקטים שמשתמשים בממשקי ה-API וב-SDK של הפלטפורמה של מפות Google, עליכם להשתמש במפתחות API, או, אם האפשרות נתמכת, ב-Oauth, כדי למנוע שימוש לא מורשה וחיובים. אם אתם משתמשים במפתחות API, מומלץ להגביל את מפתחות ה-API כשיוצרים אותם כדי לשמור על אבטחה מקסימלית. בשיטות המומלצות הבאות מוסבר איך להגביל אותן.

נוסף על החלת הגבלות על אפליקציות ומפתחות API, עליכם לפעול לפי כל נוהלי האבטחה שחלים על מוצרים ספציפיים של הפלטפורמה של מפות Google. לדוגמה, קראו את המאמר אפליקציות מומלצות והגבלות על ממשקי API ב-Maps JavaScript API.

אם מפתחות ה-API שלכם כבר בשימוש, עיינו בהמלצות הבאות בקטע אם אתם מגבילים או יוצרים מחדש מפתח API שנמצא בשימוש.

למידע נוסף על חתימות דיגיטליות, קראו את המדריך לחתימה דיגיטלית.

שיטות מומלצות

כדי להגביר את האבטחה וכדי למנוע חיוב בגין שימוש לא מורשה, כדאי ליישם את השיטות המומלצות הבאות לאבטחת API בכל ממשקי ה-API, ערכות ה-SDK והשירותים של הפלטפורמה של מפות Google:

הגבלת מפתחות ה-API

שימוש במפתחות API נפרדים לכל אפליקציה

מחיקת מפתחות API שלא נמצאים בשימוש

בדיקת השימוש במפתחות API

כדאי להיזהר כשיוצרים מחדש מפתחות API

המלצות נוספות לאתרים שמשתמשים ב-Static Web APIs

הגנה על אפליקציות באמצעות Static Web APIs

המלצות נוספות לאפליקציות שמשתמשות בשירותי אינטרנט

הגנה על אפליקציות באמצעות שירותי אינטרנט

המלצות נוספות לאפליקציות לנייד של iOS ו-Android

הגנה על אפליקציות לנייד באמצעות שירותי אינטרנט או ממשקי API סטטיים באינטרנט

אם מגבילים או יוצרים מחדש מפתח API שנמצא בשימוש

  • לפני שמשנים את מפתח ה-API, חשוב לבדוק את השימוש במפתחות API. השלב הזה חשוב במיוחד אם אתם מוסיפים הגבלות אחרי שמשתמשים במפתח.

  • אחרי שתשנו את המפתח, עדכנו את כל האפליקציות במפתחות ה-API החדשים, לפי הצורך.

  • אם אין ניצול לרעה של מפתח ה-API שלכם, תוכלו להעביר את האפליקציות לכמה מפתחות API חדשים בקצב שלכם, ולהשאיר את מפתח ה-API המקורי ללא שינוי עד שיופיע רק סוג אחד של תנועה, ואז תוכלו להגביל את מפתחות ה-API באמצעות הגבלת אפליקציה. הוראות נוספות זמינות במאמר העברה למפתחות API מרובים.

    תוכלו לעקוב אחרי השימוש לאורך זמן ולראות מתי ממשקי API, סוגי פלטפורמות ודומיינים ספציפיים הועברו ממפתח ה-API הישן, לפני שתבחרו להגביל או למחוק את המפתח הישן. למידע נוסף, תוכלו לקרוא את המאמרים דיווח ומעקב ומדדים.

  • אם מפתח ה-API שלכם נפרץ, כדאי שתעברו מהר יותר לאבטח את מפתח ה-API ולהפסיק את הניצול לרעה. באפליקציות ל-Android ול-iOS, המפתחות לא מוחלפים עד שהלקוחות מעדכנים את האפליקציות שלהם. עדכון או החלפה של מפתחות ב-JavaScript או באפליקציות לשירותי אינטרנט הוא הרבה יותר פשוט, אבל עדיין יכול להיות שיהיה צורך בתכנון קפדני ובעבודה מהירה.

    תוכלו לקרוא מידע נוסף במאמר טיפול בשימוש לא מורשה במפתח API.

הגבלת מפתחות ה-API

השיטה המומלצת היא תמיד להגביל את מפתחות ה-API באמצעות הגבלה על אפליקציות והגבלה אחת או יותר על ממשקי ה-API. למידע על הגבלות מומלצות לפי API, SDK או שירות JavaScript, קראו את המאמר הגבלות על אפליקציות וממשקי API שבהמשך.

  • הגבלת אפליקציות ניתן להגביל את השימוש במפתח API לפלטפורמות ספציפיות: אפליקציות ל-Android או ל-iOS, או אתרים ספציפיים לאפליקציות בצד הלקוח, או כתובות IP או תת-רשתות CIDR לאפליקציות בצד השרת שמנפיקות קריאות ל-API ל-REST של שירות האינטרנט.

    כדי להגביל מפתח, מוסיפים הגבלה אחת או יותר על אפליקציות מהסוגים שאתם רוצים לאשר. לאחר מכן, מותרות רק בקשות שמגיעות מהמקורות האלה.

  • הגבלות על ממשקי API תוכלו להגביל את ממשקי ה-API, ערכות ה-SDK או השירותים של הפלטפורמה של מפות Google שבהם אפשר להשתמש במפתח ה-API. הגבלות על ממשקי API מאפשרות שליחת בקשות רק לממשקי ה-API ולערכות ה-SDK שציינתם. אפשר לציין כמה הגבלות API שרוצים לכל מפתח API נתון. ברשימת ממשקי ה-API הזמינים יש את כל ממשקי ה-API שהופעלו בפרויקט.

הגדרה של הגבלת אפליקציה למפתח API

  1. פותחים את הדף פרטי הכניסה לפלטפורמה של מפות Google במסוף Google Cloud.

  2. בוחרים את מפתח ה-API שרוצים להגביל.

  3. בדף Edit API key, בקטע Key restrictions, בוחרים באפשרות Set an application restrictions.

    עריכת הדף של מפתח ה-API

  4. בוחרים אחד מסוגי ההגבלות ומספקים את המידע המבוקש בהתאם לרשימת ההגבלות.

    סוג ההגבלה תיאור
    אתרים יש לציין אתר מפנה אחד או יותר.
    • סכימות ה-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, תוכלו לקרוא את המאמר עבודה עם ספקי API כדי לאחזר את טביעת האצבע של אישור החתימה. אם אתם מנהלים מפתח חתימה משלכם, כדאי לעיין במאמר חתימה עצמית של האפליקציה או בהוראות של סביבת ה-build.
    אפליקציות ל-iOS צריך להוסיף את מזהה החבילה של כל אפליקציה ל-iOS שרוצים להעניק לה הרשאה.

    במאמר הגבלות מומלצות על אפליקציות תוכלו לקרוא המלצות על הגבלת אפליקציות.

  5. לוחצים על שמירה.

הגדרת הגבלות על ממשקי API למפתח API

  1. פותחים את הדף פרטי הכניסה לפלטפורמה של מפות Google במסוף Google Cloud.

  2. בוחרים את מפתח ה-API שרוצים להגביל.

  3. בדף עריכת מפתח ה-API, בקטע הגבלות על ממשקי API:

    • בוחרים באפשרות Restrict key.

    • פותחים את Select APIs ובוחרים את ממשקי ה-API או ה-SDK שרוצים שתהיה לאפליקציה גישה אליהם באמצעות מפתח ה-API.

      אם API או SDK לא מופיעים ברשימה, צריך להפעיל אותם. לפרטים נוספים קראו את המאמר הפעלה של לפחות ממשק API או SDK.

    הגבלת ממשק API בדף Edit API key

  4. לוחצים על שמירה.

    ההגבלה הופכת לחלק מהגדרת מפתח ה-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 זמין במאמר יצירת תרשימים באמצעות Metrics explorer.

  1. נכנסים ל-Metrics explorer במסוף Google Cloud.

  2. מתחברים ובוחרים את הפרויקט של מפתחות ה-API שרוצים לבדוק.

  3. נכנסים לדף של סייר המדדים בהתאם לסוג ה-API:

    • למפתחות API שמשתמשים ב-API כלשהו, למעט Maps embed API: נכנסים לדף Metrics explorer.

    • למפתחות API שמשתמשים ב-Maps הטמעה API: נכנסים לדף Metrics Explorer.

  4. בודקים כל מפתח API:

    1. בוחרים באפשרות הוספת מסנן.

    2. בוחרים את התווית credential_id.

    3. בוחרים את value שתואם למפתח שרוצים לבדוק.

    4. שימו לב לאילו ממשקי API מפתח ה-API הזה משמש, ובדקו אם השימוש צפוי.

    5. בסיום, בוחרים באפשרות Remove filter (הסרת המסנן) בסוף השורה של המסנן הפעיל כדי למחוק את המסנן הנוסף.

  5. חוזרים על הפעולה עם שאר המפתחות.

  6. להגביל את מפתחות ה-API רק לממשקי ה-API שנמצאים בשימוש.

  7. אם מזהים שימוש לא מורשה, כדאי לעיין במאמר טיפול בשימוש לא מורשה במפתח API.

איך לבחור את הסוג הנכון של הגבלת אפליקציות באמצעות סייר המדדים

אחרי שמוודאים שמפתח ה-API משמש רק לשירותים של הפלטפורמה של מפות Google שבהם הוא משתמש, ומבצעים את הפעולות הנדרשות, חשוב לוודא גם שחלות עליו הגבלות האפליקציות הנכונות.

אם במפתח ה-API יש הגבלות מומלצות למפתחות API, צריך להחיל אותן. מידע נוסף זמין במאמר החלת הגבלות מומלצות על מפתחות API.

אם מפתח ה-API לא כולל המלצות להגבלות, קובעים את סוג הגבלת האפליקציה שרוצים להחיל על סמך platform_type המדווחת באמצעות סייר המדדים:

  1. נכנסים ל-Metrics explorer במסוף Google Cloud.

  2. מתחברים ובוחרים את הפרויקט של ממשקי ה-API שרוצים לבדוק.

  3. נכנסים לדף Metrics Explorer: Metrics explorer.

  4. בודקים כל מפתח API:

    1. בוחרים באפשרות הוספת מסנן.

    2. בוחרים את התווית credential_id.

    3. בוחרים את value שתואם למפתח שרוצים לבדוק.

    4. בסיום, בוחרים באפשרות Remove filter (הסרת המסנן) בסוף השורה של המסנן הפעיל כדי למחוק את המסנן הנוסף.

  5. חוזרים על הפעולה עם שאר המפתחות.

  6. אחרי שתיצרו את סוג הפלטפורמה למפתחות ה-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. להוראות נוספות ל-API של מפות Google, ראו אתרים עם API להטמעה של מפות Google.
    מפתח ה-API שלי משתמש בכמה סוגי פלטפורמה
    לא ניתן לאבטח את התנועה כראוי באמצעות מפתח API אחד בלבד. תצטרכו לעבור לכמה מפתחות API. מידע נוסף זמין במאמר העברה למפתחות API מרובים.

שימוש במפתחות API נפרדים לכל אפליקציה

השיטה הזו מגבילה את ההיקף של כל מפתח. אם מפתח API אחד נחשף, תוכלו למחוק או ליצור מחדש את המפתח המושפע בלי שתצטרכו לעדכן את מפתחות ה-API האחרים. בכל פרויקט ניתן ליצור עד 300 מפתחות API. תוכלו לקרוא מידע נוסף במאמר מגבלות על מפתחות API.

מפתח API אחד לכל אפליקציה הוא אידיאלי מטעמי אבטחה, אבל אתם יכולים להשתמש במפתחות מוגבלים במספר אפליקציות, כל עוד הן משתמשות באותו סוג של הגבלת אפליקציות.

החלת הגבלות מומלצות על מפתחות API

לחלק מהבעלים והעורכים של פרויקטים, מוצעות הגבלות ספציפיות של מפתחות API למפתחות API לא מוגבלים, על סמך השימוש והפעילות שלהם בפלטפורמה של מפות Google.

אם האפשרות זמינה, ההמלצות יופיעו כאפשרויות שמולאו מראש בדף פרטי הכניסה לפלטפורמה של מפות Google.

סיבות אפשריות לכך שלא מוצגת המלצה או המלצה חלקית

  • אתם (גם) משתמשים במפתח ה-API בשירותים אחרים של הפלטפורמה של מפות Google. אם תראו את השימוש בשירותים אחרים, אל תיישמו את ההמלצה בלי קודם לבצע את הפעולות הבאות:

    1. ודאו שהשימוש ב-API שמופיע בסייר המדדים במסוף Google Cloud הוא לגיטימי.

    2. הוספה ידנית של שירותים חסרים לרשימת ממשקי ה-API שיש לתת להם הרשאה.

    3. להוסיף באופן ידני הגבלות על אפליקציות חסרות עבור השירותים שנוספו לרשימת ממשקי ה-API. אם הקובץ הנוסף שיצרתם מחייב סוג אחר של הגבלות על אפליקציות, תוכלו לקרוא את המאמר העברה למפתחות API מרובים.

  • מפתח ה-API לא משמש בערכות SDK או בממשקי API בצד הלקוח.

  • אתם משתמשים במפתח ה-API באפליקציה או באתר בנפח נמוך שלא ראו שימוש ב-60 הימים האחרונים.

  • יצרתם מפתח חדש ממש לאחרונה, או שפרסתם מפתח קיים באפליקציה חדשה ממש לאחרונה. במקרה כזה, חכו עוד כמה ימים כדי שההמלצות יתעדכנו.

  • אתם משתמשים במפתח ה-API במספר אפליקציות ומחייבות סוגים מתנגשים של הגבלות על אפליקציות, או שאתם משתמשים באותו מפתח API ביותר מדי אפליקציות או אתרים שונים. בכל מקרה, השיטה המומלצת היא להעביר למספר מפתחות. מידע נוסף זמין במאמר העברה למפתחות API מרובים.

סיבות אפשריות לכך שיוצגו המלצות שלא מוצגות בתרשימים

  • האפליקציה או האתר שלכם שלחו רק פרצי תנועה קצרים מאוד. במקרה הזה אפשר לעבור מתצוגת CHART כדי להציג TABLE או BOTH, כי השימוש עדיין מופיע במקרא. מידע נוסף זמין במאמר החלפת המקרא המלא של התרשים.

  • התנועה שלך מגיעה מה-API של מפות Google להטמעה. לקבלת הוראות, קראו את המאמר זיהוי ממשקי ה-API שמשתמשים במפתח ה-API שלכם.

  • התנועה מהאפליקציה או מהאתר נמצאת מחוץ לטווח התאריכים הזמין בסייר המדדים במסוף Google Cloud.

  1. פותחים את הדף פרטי הכניסה לפלטפורמה של מפות Google במסוף Google Cloud.

  2. אם האפשרות החלת ההגבלות המומלצות זמינה, בוחרים בה.

    החלת הגבלות מומלצות

    הערה: אם אתם לא רואים הגבלות מומלצות, קראו את המאמר הגדרת הגבלות על ממשקי API למפתח API על מנת להגדיר את המגבלות המתאימות.

  3. בוחרים באפשרות Check API כדי לבדוק באילו שירותים משתמשים במפתח ה-API. אם מופיעים שירותים אחרים מלבד הפלטפורמה של מפות Google, צריך להשהות כדי לבדוק ידנית את שלבי ההמלצה שמפורטים למעלה. שלבי פתרון הבעיות מופיעים בתחילת הקטע החלת הגבלות מומלצות על מפתחות API.

  4. ודאו שההגבלות שמולאו מראש תואמות לאפליקציות ולאתרים שבהם אתם מצפים להשתמש במפתח ה-API.

    שיטה מומלצת: כדאי לתעד ולהסיר הגבלות על אפליקציות או על ממשקי API שלא משויכים לשירותים שלכם. אם משהו משתבש בגלל תלות לא צפויה, אפשר להוסיף מחדש את האפליקציות וממשקי ה-API הנדרשים.

    • אם הבחנתם בבירור שאפליקציה, אתר או API חסרים בהמלצה, תוכלו להוסיף אותם ידנית או להמתין כמה ימים כדי לאפשר להמלצה להתעדכן.

    • אם אתם צריכים עזרה נוספת בנוגע להמלצה, תוכלו לפנות לתמיכה.

  5. בחר הפעל.

מה לעשות אם הבקשה נדחית אחרי יישום המלצה

אם גיליתם שאפליקציה או אתר נדחות אחרי החלת הגבלה, צריך לחפש את הגבלת האפליקציה שצריך להוסיף בהודעת השגיאה של התשובה ל-API.

לגבי ערכות SDK בצד הלקוח, ראו:

במאמר זיהוי ממשקי ה-API שמשתמשים במפתח ה-API מוסבר איך לבדוק את ההגבלות הנדרשות על השימוש ב-API.

אם לא הצלחת לקבוע אילו הגבלות להחיל:

  1. כדאי לתעד את ההגבלות הנוכחיות לשימוש עתידי.
  2. הסר אותם באופן זמני תוך כדי לחקור את הבעיה. תוכלו לבדוק את השימוש שלכם לאורך זמן בעזרת השלבים שבמאמר בדיקת השימוש במפתחות API.
  3. אם צריך, אפשר לפנות לתמיכה.

מחיקת מפתחות API שלא נמצאים בשימוש

לפני שמוחקים מפתח API, חשוב לוודא שהוא לא נמצא בשימוש בסביבת הייצור. אם לא בוצעה תנועה מוצלחת, סביר להניח שאפשר למחוק את המפתח. מידע נוסף זמין במאמר בדיקת השימוש במפתחות API.

כדי למחוק מפתח API:

  1. פותחים את הדף פרטי הכניסה לפלטפורמה של מפות Google במסוף Google Cloud.

  2. בוחרים את מפתח ה-API שרוצים למחוק.

  3. בחר בלחצן מחק בחלק העליון של הדף.

  4. בדף מחיקת פרטי הכניסה, בחר באפשרות מחק.

    המחיקה של מפתח API נמשכת כמה דקות. בסיום ההפצה, כל תעבורת הנתונים שמשתמשת במפתח ה-API שנמחק תידחה.

צריך להיזהר כשיוצרים מחדש את מפתחות ה-API

יצירה מחדש של מפתח API יוצרת מפתח חדש שכולל את כל ההגבלות של המפתח הישן. התהליך הזה מתחיל גם טיימר של 24 שעות, שאחריו מפתח ה-API הישן נמחק.

בחלון הזמן הזה, גם המפתח הישן וגם המפתח החדש מקבלים הזדמנות להעביר את האפליקציות כך שישתמשו במפתח החדש. עם זאת, אחרי פרק הזמן הזה, אפליקציות שעדיין משתמשות במפתח ה-API הישן יפסיקו לפעול.

לפני שיוצרים מחדש מפתח API:

  • קודם כל נסו להגביל את מפתחות ה-API, כמו שמתואר במאמר הגבלת מפתחות ה-API.

  • אם אי אפשר להגביל את מפתח ה-API בגלל סוגים מתנגשים של הגבלות על אפליקציות, צריך לעבור לכמה מפתחות חדשים (מוגבלים), כפי שמתואר במאמר העברה למפתחות API מרובים. ההעברה מאפשרת לשלוט בהעברה ולפרוס את ציר הזמן למפתחות ה-API החדשים.

אם ההצעות הקודמות לא אפשריות, וצריך ליצור מחדש את מפתח ה-API כדי למנוע שימוש לא מורשה, ואז:

  1. פותחים את הדף פרטי הכניסה לפלטפורמה של מפות Google במסוף Google Cloud.

  2. פותחים את מפתח ה-API שרוצים ליצור מחדש.

  3. בחלק העליון של הדף, בוחרים באפשרות Regenerate key.

  4. בוחרים באפשרות החלפת המפתח.

הערה: במקרה הצורך, אפשר להחזיר כל מפתח שנוצר מחדש לגרסה הקודמת שלו. אין מגבלות זמן להחזרה למצב הקודם.

כדי להחזיר מפתח שנוצר מחדש

  1. פותחים את הדף פרטי הכניסה לפלטפורמה של מפות Google במסוף Google Cloud.

  2. פותחים את מפתח ה-API שרוצים להחזיר למצב קודם.

  3. בוחרים באפשרות חזרה למפתח הקודם.

  4. בתיבת הדו-שיח חזרה לגרסה המקורית, בוחרים באפשרות חזרה לגרסה המקורית.

כשחוזרים אחורה, הגרסה ה "חדשה" הקודמת של המפתח הופכת לגרסה הקודמת ומוגדר לה טיימר חדש להשבתה למשך 24 שעות. אפשר לחזור בין שני ערכי המפתח האלה עד שתיצרו שוב את המפתח.

אם תיצרו מחדש את המפתח, הוא יחליף את הערך הישן של המפתח הלא פעיל.

העברה למספר מפתחות API

כדי לעבור משימוש במפתח API אחד למספר אפליקציות למפתח API ייחודי אחד לכל אפליקציה:

  1. לזהות לאילו אפליקציות צריך מפתחות חדשים:

    • הכי קל לעדכן אפליקציות אינטרנט, כי כל הקוד הוא בשליטתך. כדאי לתכנן לעדכן את כל המפתחות של האפליקציות מבוססות-האינטרנט.
    • אפליקציות לנייד הן הרבה יותר מסובכות, כי הלקוחות שלכם צריכים לעדכן את האפליקציות שלהם כדי שתהיה אפשרות להשתמש במפתחות החדשים.
  2. יצירה והגבלה של המפתחות החדשים: מוסיפים גם הגבלת אפליקציות וגם הגבלת API אחת לפחות. מידע נוסף זמין במאמר שיטות מומלצות.

  3. הוספת המפתחות החדשים לאפליקציות: באפליקציות לנייד, התהליך הזה עשוי להימשך חודשים עד שכל המשתמשים יתעדכנו לאפליקציה האחרונה עם מפתח ה-API החדש.

הגנה על אפליקציות באמצעות Static Web APIs

ממשקי API סטטיים באינטרנט, כמו Maps Static API ו-Street View Static API, דומים לקריאות ל-API של שירות האינטרנט.

אפשר להפעיל את שתי הפעולות באמצעות API פשוט ל-REST של HTTPS, ובדרך כלל יוצרים את כתובת ה-URL של בקשת ה-API בשרת. עם זאת, במקום להחזיר תגובת JSON, ממשקי ה-API של Static Web יוצרים תמונה שאפשר להטמיע בקוד HTML שנוצר. חשוב יותר, כי בדרך כלל הלקוח של משתמש הקצה, ולא השרת, הוא זה שקורא לשירות הפלטפורמה של מפות Google.

שימוש בחתימה דיגיטלית

השיטה המומלצת היא להשתמש תמיד בחתימות דיגיטליות בנוסף למפתח API. כדאי גם לבדוק כמה בקשות לא חתומות אתם רוצים לאשר ביום ולשנות את המכסות של הבקשות הלא חתומות בהתאם.

למידע נוסף על חתימות דיגיטליות, קראו את המדריך לחתימה דיגיטלית.

הגנה על סוד החתימה שלך

כדי להגן על Static Web APIs, אל תטמיעו את סודות החתימה של ה-API ישירות בקוד או בעץ המקור, או תחשוף אותם באפליקציות בצד הלקוח. כדי להגן על סודות החתימה שלכם, חשוב לפעול לפי השיטות המומלצות הבאות:

  • חותמים על הבקשות בצד השרת, לא בצד הלקוח. אם אתם מבצעים את החתימה בצד הלקוח ב-JavaScript, אתם חושפים אותו לכל מי שמבקר באתר שלכם. לכן, בתמונות שנוצרות באופן דינמי צריך תמיד ליצור את כתובות ה-URL החתומות של מפות Google לתוכן סטטי באינטרנט, תוכלו להשתמש בווידג'ט Sign a URL now (חתימה על כתובת URL) בדף Credentials בפלטפורמה של מפות Google ב-Cloud Console.

  • אחסון סודות חתימה מחוץ לקוד המקור ולעץ המקור של האפליקציה. אם אתם מוסיפים את סודות החתימה או כל מידע פרטי אחר במשתני סביבה, או כוללים קבצים שמאוחסנים בנפרד ואז משתפים את הקוד, סודות החתימה לא ייכללו בקבצים המשותפים. אם אתם מאחסנים סודות חתימה או מידע פרטי אחר בקבצים, צריך לשמור אותם מחוץ לעץ המקור של האפליקציה כדי לשמור את סודות החתימה מחוץ למערכת הבקרה של קוד המקור שלכם. זה חשוב במיוחד אם משתמשים במערכת ציבורית לניהול קוד מקור, כמו GitHub.

הגנה על מפתח ה-API באפליקציות באמצעות שירותי אינטרנט

אחסון מפתחות API מחוץ לקוד המקור או לעץ המקור של האפליקציה. אם תכתבו את מפתחות ה-API או כל מידע אחר במשתני סביבה, או שתכללו קבצים שמאוחסנים בנפרד, ואז משתפים את הקוד, מפתחות ה-API לא ייכללו בקבצים המשותפים. זה חשוב במיוחד אם משתמשים במערכת ציבורית לניהול קוד מקור, כמו GitHub.

הגנה על מפתח ה-API וסוד החתימה באפליקציות לנייד באמצעות שירותי אינטרנט או Static Web APIs

כדי להגן על אפליקציות לנייד, צריך להשתמש במאגר מפתחות מאובטח או בשרת proxy מאובטח:

  • אחסון מפתח ה-API או סוד החתימה במאגר מפתחות מאובטח. השלב הזה מקשה על גירוד מפתחות API ומידע פרטי אחר ישירות מהאפליקציה.

  • שימוש בשרת Proxy מאובטח. שרת ה-proxy מספק מקור יציב לאינטראקציה עם ה-API המתאים של הפלטפורמה של מפות Google. מידע נוסף על השימוש בשרת proxy זמין במאמר Living Vicariously: שימוש בשרתי proxy עם ספריות הלקוח של Google Data API.

    • בניית בקשות הפלטפורמה של מפות Google בשרת ה-proxy. אין לאפשר ללקוחות להעביר קריאות שרירותיות ל-API דרך שרת ה-proxy.

    • עיבוד התגובות של הפלטפורמה של מפות Google בשרת ה-proxy שלך. מסננים נתונים שהלקוח לא צריך.

טיפול בשימוש לא מורשה במפתח API

אם אתם מזהים שימוש לא מורשה במפתח ה-API, עליכם לבצע את הפעולות הבאות כדי לטפל בבעיה:

  1. הגבלת המפתחות: אם השתמשתם באותו מפתח במספר אפליקציות, עליכם לעבור למספר מפתחות API ולהשתמש במפתחות API נפרדים לכל אפליקציה. פרטים נוספים זמינים במאמרים הבאים:

  2. צריך ליצור מחדש מפתחות רק אם אין לכם אפשרות להגביל אותם. קראו את הקטע היזהרו כשיוצרים מחדש מפתחות API לפני שממשיכים.

  3. אם אתם עדיין נתקלים בבעיות או זקוקים לעזרה, פנו לתמיכה.

הגבלות מומלצות על אפליקציות וממשקי API

בקטעים הבאים מוצעות הגבלות מתאימות על אפליקציות וממשקי API לכל ממשק API, SDK או שירות של הפלטפורמה של מפות Google.

הגבלות מומלצות על ה-API

ההנחיות הבאות בנוגע להגבלות על ממשקי API חלות על כל הפלטפורמה של מפות Google:

  • צריך להגביל את מפתח ה-API רק לממשקי ה-API שאתם משתמשים בהם, למעט במקרים הבאים:

    • אם האפליקציה שלך משתמשת ב-Places SDK עבור Android או ב-Places SDK ל-iOS, עליך לאשר את Places API.

    • אם באפליקציה נעשה שימוש ב-Maps JavaScript API, תמיד יש לאשר אותה במפתח שלכם.

    • אם אתם משתמשים גם בשירותים הבאים של 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, ולכן אתם כוללים את ה-SDK של מפות Google ל-Android ואת ה-Places API בתור הגבלות על ממשקי API.

  • האתר שלכם מתבסס על Maps JavaScript API ועל Maps Static API, לכן אתם מוסיפים הגבלות על ממשקי API לכל ממשקי ה-API הבאים:

    • Maps JavaScript API
    • Elevation API
    • Maps Static API

הגבלת אפליקציה מומלצת

אתרים עם Maps JavaScript API או Static Web API

באתרים שמשתמשים בשירותי JavaScript של מפות Google או בממשקי API של Static Web, השתמשו בהגבלת האפליקציות Websites.

לשימוש באתרים שמשתמשים בשירותים ובממשקי ה-API הבאים של JavaScript:

1 לאפליקציות לנייד, כדאי להשתמש ב-SDK של מפות Google ל-Android וב-SDK של מפות Google ל-iOS.

2 קראו גם את המאמר הגנה על אפליקציות לנייד באמצעות שירותי אינטרנט או ממשקי API סטטיים באינטרנט.

אתרים עם ממשק API של מפות Google להטמעה

השימוש ב-API להטמעה של מפות Google הוא בחינם, אבל עדיין צריך להגביל כל מפתח API שנעשה בו שימוש כדי למנוע ניצול לרעה בשירותים אחרים.

שיטה מומלצת: צרו מפתח API נפרד לשימוש ב-Maps הטמעה API, והגבילו את המפתח הזה רק ל-API להטמעה של מפות Google. ההגבלה הזו שומרת על האבטחה של המפתח, ומונעת שימוש לא מורשה בשירותים אחרים של Google.

אם אתם לא מצליחים להפריד את השימוש ב-API להטמעה של מפות Google למפתח 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 הבאות: