מפתח גישה (API Key)
הגדרה
מפתח גישה (API Key) הוא קוד סודי אישי שמזהה אתכם מול שירות AI ומאפשר לכם להשתמש בו ישירות מתוכנה.
מפתח גישה (API Key) הוא קוד סודי אישי שמזהה משתמש או אפליקציה מול שירות AI, ומאפשר להם להשתמש בשירות ישירות מתוכנה — לא דרך ממשק אתר רגיל, אלא כמו "סיסמה למכונה", לא לבן אדם.
כשמפתח בונה אפליקציה שמשתמשת ב-AI, הוא נרשם לשירות, מקבל מפתח גישה ייחודי, ומטמיע אותו בקוד של האפליקציה שלו — כל בקשה שהאפליקציה שולחת לשירות ה-AI "חתומה" עם המפתח הזה, כדי לזהות מי שולח את הבקשה ולחייב את החשבון הנכון. מבחינה טכנית המפתח יכול לעבור בכמה דרכים: בכותרת-הרשאה (Authorization header, לעיתים כטוקן מסוג JWT — JSON Web Token), כפרמטר בכתובת-ה-URL, בכותרת-בקשה מותאמת-אישית, או בעוגיית-דפדפן (cookie) — כל אחת עם רמת-חשיפה שונה, ולכן גם רמת-סיכון שונה אם היא נחשפת בטעות.
מפתחות גישה, כברירת מחדל, אינם כוללים תאריך-תפוגה ונשארים נגישים אצל הלקוח — מה שהופך גניבתם לקלה יחסית, ומחייב שילוב עם HTTPS ואמצעי-הגנה נוספים כדי להיחשב מאובטחים באמת. מקרה מתועד: ב-2017 סרקה חברת-האבטחה Fallible כ-16,000 אפליקציות אנדרואיד, ומצאה שלמעלה מ-300 מהן הכילו מפתחות-API מוטבעים-בגלוי משירותים כמו Dropbox, Twitter ו-Slack — עדות לכך שאפילו אפליקציות פופולריות מטפלות במפתחות ברשלנות, שנים לפני שהיקף השימוש ב-API-ים של AI התרחב לממדים הנוכחיים.
בגלל הסיכונים האלה, ספקי-ענן גדולים כמו Google ו-Amazon ממליצים כיום להנפיק מפתחות-גישה ברמת-פרויקט או שירות ולא ברמת-משתמש-בודד, ולתחום כל מפתח להרשאות המצומצמות ביותר הדרושות בפועל (עיקרון "least privilege") — כך שגם אם מפתח דולף, הנזק הפוטנציאלי מוגבל. מגמה נוספת ההולכת ומתרחבת היא מעבר מ"מפתחות סטטיים" קבועים לטוקנים קצרי-טווח שמתחדשים אוטומטית, כדי לצמצם את חלון-הפגיעות אם מפתח בכל זאת דולף.
מפתחות גישה צריכים להישמר בסודיות מוחלטת — מפתח שדלף, למשל נחשף בטעות בקוד ציבורי בגיטהאב, יכול לאפשר לאחרים להשתמש בשירות על חשבון הבעלים החוקי שלו, ולגרום לחיוב כספי לא-רצוי, לעיתים משמעותי מאוד אם מדובר בשירות AI יקר לפי-שימוש.
📬 הגיליון השבועי של Wiki-AI
פעם בשבוע, ביום ראשון: שלושת הדברים החשובים שקרו בעולם הבינה המלאכותית, בעברית פשוטה, וערכים חדשים באנציקלופדיה. לגיליונות