שימוש במפתחות API

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

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

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

נסו בעצמכם

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

מתחילים לעבוד בלי לשלם

ניהול מפתחות API

מומלץ לנהל מפתחות API באמצעות מסוף Cloud: נכנסים לדף APIs & services → Credentials. מפתחות ה-API מוצגים בקטע API keys. בדף הזה ניתן ליצור מפתחות API, להגדיר הגבלות על מפתחות API, לסובב מחרוזות של מפתחות API ולבצע פעולות נוספות.

כדי לנהל מפתחות API, עליכם להיות בתפקיד אדמין של מפתחות API (roles/serviceusage.apiKeysAdmin) בפרויקט.

יצירת מפתח API

כך יוצרים מפתח API:

  1. נכנסים לחלונית APIs & Services→Credentials במסוף Cloud.

  2. לוחצים על Create credentials ובתפריט שנפתח בוחרים באפשרות API key.

    תיבת הדו-שיח API key created מציגה את המפתח החדש שיצרתם.

    מפתח API הוא מחרוזת ארוכה שמכילה אותיות רישיות וקטנות, מספרים ומקפים, למשל a4db08b7-5729-4ba9-8c08-f2df493465a1.

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

שימוש במפתח API

מעבירים את מפתח ה-API למצב קריאה ל-API ל-REST כפרמטר של שאילתה, לפי הפורמט הבא. מחליפים את הערך API_KEY במפתח ה-API שלכם.

key=API_KEY

לדוגמה, כדי להעביר מפתח API לבקשת Cloud Natural Language API עבור documents.analyzeEntities:

POST https://language.googleapis.com/v1/documents:analyzeEntities?key=API_KEY

אבטחת מפתח API

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

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

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

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

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

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

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

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

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

כך מוסיפים הגבלות על מפתחות API:

  1. נכנסים לחלונית APIs & Services→Credentials במסוף Cloud.

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

הוספת הגבלות על אפליקציות

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

מומלץ לבחור את סוג ההגבלה בהתאם לצורכי האפליקציה.

  • שימוש בערך None: למטרות בדיקה בלבד.

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

  • שימוש בערך IP addresses: כדי להגביל את הגישה של מפתחות API לכתובות IP מסוימות.

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

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

הוספת הגבלות על HTTP

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

  • בקטע Application restrictions, בוחרים באפשרות HTTP referrers (web sites).

  • מזינים לפחות הגבלה אחת בקטע Website restrictions.

  • אם הדומיין תומך גם ב-HTTP וגם ב-HTTPS, צריך להוסיף את שתי ההגבלות בנפרד.

  • אפשר להשתמש בתווים כלליים לחיפוש (*) בשביל תת-הדומיין או הנתיב.

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

תרחיש הגבלות
הרשאה של כתובת URL ספציפית.

מוסיפים הגבלה יחידה עם נתיב מדויק. לדוגמה:

  • https://www.example.com/path
הרשאה של כל כתובת URL בתת-דומיין יחיד או בדומיין ללא קידומת.

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

  1. מגדירים הגבלה לדומיין, בלי הקו הנטוי העוקב. לדוגמה:
    • https://www.example.com
    • https://sub.example.com
    • https://example.com
  2. מגדירים הגבלה שנייה לדומיין, שכוללת תו כללי לחיפוש עבור הנתיב. לדוגמה:
    • https://www.example.com/*
    • https://sub.example.com/*
    • https://example.com/*

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

הרשאה של כתובות URL של תת-דומיינים בדומיין יחיד.

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

  • https://*.example.com
  • https://*.example.com/*

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

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

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

כדי להגדיר הגבלות על ממשקי API:

  1. בקטע API restrictions, לוחצים על האפשרות Restrict key.

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

  3. לוחצים על Save.

מגבלות לפרויקטים

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

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

המאמרים הבאים