Cloud Endpoints תומך בכמה שיטות אימות שמתאימות לאפליקציות ולתרחישי שימוש שונים. Extensible Service Proxy (ESP) משתמש בשיטת האימות שציינתם בהגדרות השירות כדי לאמת בקשות נכנסות לפני שהוא מעביר אותן אל קצה העורפי של ה-API. במאמר הזה מופיע סקירה כללית ותרחישים לדוגמה לכל שיטת אימות נתמכת.
מפתחות API
מפתח API הוא מחרוזת מוצפנת שמזההGoogle Cloud פרויקט למטרות מכסה, חיוב ומעקב. מפתח יוצר מפתח API בפרויקט ב Google Cloud מסוף ומשבץ את המפתח הזה בכל קריאה ל-API שלכם כפרמטר של שאילתה.
אם מציינים דרישה למפתח API בהגדרות השירות, ESP משתמש במפתח ה-API כדי לחפש את Google Cloud הפרויקט שאליו משויך מפתח ה-API. ESP דוחה בקשות אלא אם מפתח ה-API נוצר בפרויקט Google Cloud או בפרויקטים אחריםGoogle Cloud שבהם הופעל ה-API. מידע נוסף זמין במאמר הגבלת הגישה לממשקי API באמצעות מפתחות API.
בניגוד לפרטי כניסה שמשתמשים באסימונים לטווח קצר או בבקשות חתומות, מפתחות API הם חלק מהבקשה ולכן נחשבים לפגיעים למתקפות מסוג 'אדם באמצע', ולכן הם פחות מאובטחים. אפשר להשתמש במפתחות API בנוסף לאחת משיטות האימות שמתוארות בהמשך. מטעמי אבטחה, אל תשתמשו במפתחות API לבד כשקריאות ל-API מכילות נתוני משתמשים.
תרחיש שימוש
אם רוצים להשתמש בתכונות של Endpoints כמו מכסות, צריך להעביר מפתח API בכל בקשה כדי ש-Endpoints יוכל לזהות את Google Cloud הפרויקט שאליו משויכת אפליקציית הלקוח.
מידע נוסף על מפתחות API זמין במאמר למה ואיך משתמשים במפתחות API.
אימות ב-Firebase
אימות ב-Firebase מספק שירותי קצה עורפי, ערכות SDK וספריות לאימות משתמשים באפליקציה לנייד או באפליקציית אינטרנט. הוא מאמת משתמשים באמצעות מגוון פרטי כניסה כמו Google, Facebook, Twitter או GitHub.
ספריית הלקוח של Firebase חותמת על אסימון אינטרנט מסוג JSON (JWT) באמצעות מפתח פרטי אחרי שהמשתמש נכנס בהצלחה. ESP מאמת שה-JWT נחתם על ידי Firebase ושההצהרה iss (המנפיק) ב-JWT, שמזהה את אפליקציית Firebase, תואמת להגדרה iss בהגדרת השירות.x-google-issuer
תרחיש שימוש
מומלץ להשתמש ב-Firebase כשקריאות ה-API כוללות נתוני משתמשים, וכשה-API מיועד לשימוש בתהליכים שבהם המשתמשים רואים ממשק משתמש, למשל באפליקציות לנייד ובאפליקציות לאינטרנט. מידע נוסף זמין במאמר שימוש ב-Firebase לאימות משתמשים.
Auth0
Auth0 מאמתת ומאשרת אפליקציות וממשקי API, ללא קשר לספק הזהויות, לפלטפורמה, לסטאק ולמכשיר.
Auth0 תומכת במספר גדול של ספקים ובמפרט של Security Assertion Markup Language (שפת סימון של הצהרות אבטחה). הוא מספק שירותים לקצה העורפי, ערכות SDK וספריות של ממשקי משתמש לאימות משתמשים באפליקציות לנייד ובאפליקציות לאינטרנט. Auth0 משתלב עם כמה ספקי זהויות של צד שלישי, ומספק גם ניהול מותאם אישית של חשבונות משתמשים.
ספריית הלקוח שסופקה על ידי Auth0 יוצרת אסימון JWT וחותמת עליו אחרי שהמשתמש נכנס לחשבון. ESP מאמת שה-JWT נחתם על ידי Auth0, ושההצהרה iss ב-JWT, שמזהה את אפליקציית Auth0, תואמת להגדרה iss בתצורת השירות.x-google-issuer
תרחיש שימוש
Auth0 מתאים לאפליקציות לנייד ולאפליקציות לאינטרנט לצרכנים ולעסקים. מידע נוסף זמין בכרטיסייה Auth0 במאמר שימוש ב-Auth0 לאימות משתמשים.
אימות באמצעות טוקן מזהה של Google
אימות באמצעות טוקן מזהה של Google מאפשר למשתמשים לאמת את הזהות שלהם על ידי כניסה לחשבון Google. אחרי האימות, למשתמש יש גישה לכל שירותי Google. אתם יכולים להשתמש באסימוני מזהה של Google כדי לשלוח קריאות ל-Google APIs ולממשקי API שמנוהלים על ידי Endpoints. ESP מאמת את אסימון מזהה Google באמצעות המפתח הציבורי ומוודא שההצהרה iss ב-JWT היא https://accounts.google.com.
תרחיש שימוש
מומלץ להשתמש באימות באמצעות אסימון מזהה של Google אם לכל המשתמשים יש חשבונות Google. לדוגמה, יכול להיות שתבחרו להשתמש באימות באמצעות טוקן מזהה של Google אם ה-API שלכם מלווה אפליקציית Google, כמו אפליקציית Google Drive. אימות באמצעות טוקן מזהה של Google מאפשר למשתמשים לעבור אימות על ידי כניסה לחשבון Google. אחרי האימות, למשתמש יש גישה לכל שירותי Google. מידע נוסף זמין במאמר שימוש באסימונים מזהים של Google לאימות משתמשים.
חשבונות שירות
כדי לזהות שירות ששולח בקשות ל-API שלכם, אתם משתמשים בחשבון שירות. שירות הקריאה משתמש במפתח הפרטי של חשבון השירות כדי לחתום על אסימון אינטרנט מאובטח מסוג JSON (JWT) ושולח את ה-JWT החתום בבקשה ל-API שלכם.
תרחיש שימוש
אסימוני JWT וחשבונות שירות מתאימים מאוד למיקרו-שירותים. מידע נוסף זמין במאמר בנושא אימות בין שירותים.
אימות מותאם אישית
אתם יכולים להשתמש בפלטפורמות אימות אחרות כדי לאמת משתמשים, כל עוד הן תואמות ל-JSON Web Token RFC 7519.
מידע נוסף זמין במאמר בנושא שימוש בשיטה מותאמת אישית לאימות משתמשים.