קבלת Token מושגת על ידי תהליך תקשורת בין שירות או אפליקציה לבין שרת הרשאות. פרוטוקול OAuth 2.0 מאפשר מספר תרחישי זרימה המשמשים לקבלת הרשאות. תהליכי הזרימה משתנים במידה שבה שרת ההרשאות ״סומך״ על שרת האפליקציה (מבחינת אבטחת מידע).
OAuth Term | Definition |
Authorization Server | השרת האמון על ההרשאות והקצאת ה- Tokens |
Client Application | האפליקציה אשר מבקשת בשם המשתמש גישה לנתונים |
Resource Owner | המשתמש אשר מבקש הרשאת גישה לנתונים באמצעות האפליקציה |
Resource Server | השרת אשר חושף נתונים באמצעות API ומסוגל לאמת Access Token שמגיעים משרת ההרשאות |
תרחישי הזרימה בהם תומך הפרוטוקול מגוונים מאוד והעיקריים שבהם:
1. Implicit Flow - מותאם לאפליקציות ״דף בודד״ SPA לא מהימנות (כמו Angular או Vue.js)
2. Code Flow - עבור אפליקציות מהימנות (כמו Spring Boot או .NET)
3. Code Flow with PKCE - עבור אפליקציות Untrusted Native או Mobile Apps.
4. Client Credentials - עבור Server to Server בין שרתים מהימנים ללא משתמש קצה.
5. Resource Owner Password - לא מומלץ - שימש בעבר עבור שירותי אינטרנט מהימנים עם דף כניסה מותאם אישית שמעבירים את סיסמת משתמש הקצה אל שרת ההרשאות.
בבלוג זה נתמקד בתהליך שמשמש ארגונים המעוניינים לבנות מערכת הזדהות והרשאות עבור אפליקציה מהימנה כגון אתר אינטרנט עם משתמש קצה.
תרחיש זה מאפשר לשרת ההרשאות להתמודד עם ארכיטקטורה הכוללת רכיב דפדפן (שאינו מהימן) ורכיב מתווך מהימן כגון יישום Spring Boot או NET.
התרחיש מנצל את תכונות ההפניה המובנות בפרוטוקול HTTP שפועלות על ידי הדפדפן. התהליך מתחיל ביוזמת משתמש הקצה בפניה אל שרת האפליקציה לקבלת נתונים. הבקשה נענית בהפניה של הדפדפן אל שרת ההרשאה לאימות של משתמש הקצה. רכיב האימות מתבצע בדרך כלל באמצעות ספק שירות חיצוני, Identity Provider, כמו OKTA.
שרת ההרשאות סומך עליו לטפל באישורי ההזדהות של המשתמש בצורה מאובטחת. למערכת OKTA היכולת לא רק לשמור על סיסמת המשתמש בצורה מאובטחת אלא לאמת את התהליך באמצעות הזדהות מוכוונת הקשר Context כגון הרשת שממנה בוצעה ההזדהות, המכשיר שממנו בוצעה, הזמן והתנהגות המשתמש. בנוסף המערכת מכילה פקטור הזדהות נוסף להקשחת התהליך Multi-Factor authentication.
בהנחה שהאימות עבר בצורה מוצלחת, שרת ההרשאה ינותב חזרה לאפליקציה שלך (באמצעות הדפדפן) עם קוד הרשאה בכתובת האתר.
אפליקציית התווך יכולה כעת בצורה מאובטחת ״ומאחורי הקלעים״, להשתמש בקוד שהתקבל בשילוב עם פרטי התצורה של שרת ההרשאות Client Secret ו- Client ID על מנת לבקש Access Token. על מפתח האפליקציה לוודא שהטוקן הזה לא ייחשף אל משתמשי הקצה ויישמר סודי. הוא מהווה תחליף לגיטימי לפרטי ההזדהות של המשתמש.
לאחר קבלת Access Token משרת ההרשאות, ינותב הקליינט למסור אותו אל שרת הנתונים. שרת הנתונים נדרש לאמת את הטוקן לפני השימוש בו.
הטוקנים הם בפורמט JSON Web Token או בקיצור JWT וחתומים על ידי מפתחות אסימטרים JSON Web Keys או בקיצור JWK אותם ניתן לקבל משרת ההרשאות ולשמור בשרת הנתונים. על מנת לפענח אותם ולאמת את מקורם ניתן להשוות את המפתח ששימש להצפנת הטוקן עם המפתח שנשמר בשרת ההרשאות מקומית או לחזור בקריאת API, אל שרת ההרשאות על מנת לאמת את הטוקן (פחות מומלץ בתרחישים הדורשים ביצועים גבוהים).
מקורות:
קטגוריות: מאמרים
תגיות:
BYOD או "Bring Your Own Device", הינה דרך מקובלת בארגונים ברחבי העולם ולא בכדי: היא חוסכת הוצאות משמעותיות לארגון, היא מאפשרת לעובדים לקחת את העבודה אתם לכל מקום ולהגיב גם לשאלות קטנות בזמן אמת, לעבוד עם מערכות הארגון גם מהסלולרי או מהטאבלט – וכל זאת בתוך שניות ספורות. אבל אז התגלו בעיות פרטיות. Mobileiron מספקת […]
קרא עודכיצד מבטיחים את יומו הראשון של העובד שלנו לחוויה מעולה ואיכותית יותר, בד בבד כיצד הופכים את תהליך הקליטה לאוטומטי יעיל עדכני ומאובטח יותר, בתקופה בה שינויים מתרחשים בקצב מטאורי? הוובינר מיועד למנהלי ה IT מנהלי אפליקציות עסקיות בתחום משאבי האנוש HR וכל מי שחוויית קליטת העובד והקטנת החיכוך בין המשתמש למערכות המידע היא נר […]
קרא עוד5 סיבות שבגללן לקוחות מעדיפים את Mobileiron על פני Microsoft Intune. בעידן בו ארגונים מתמודדים עם יותר ויותר אתגרי ניהול מידע, עובדים וטכנולוגיות, בתקופה בה שינויים מתרחשים חדשות לבקרים, צריך שמישהו יעשה כאן סדר. MobileIron UEM, בדיוק בזמן: זו כבר לא סביבת ענן אלא סביבת עבודה ההולכת ומתפתחת כשהיא מציעה לארגונים עבודה רציפה על המידע […]
קרא עודעל פי סקר שנערך בקרב 580 ארגונים ובחן את השפעת מתן הבחירה לעובדים בטכנולוגיות על שביעות רצונם ממקום העבודה, 72% מהעובדים בארגונים מעדיפים Mac. עם 135,000 תחנות עבודה של Mac מבית אפל בתוך שלוש שנים, יותר ויותר מערכות הפעלה מיוצרות עם פתרונות מובנים לניהול מרכזי של המכשיר. בכך, משלימה ההתפתחות הטכנולוגית צעד נוסף בדרך לסינרגיה […]
קרא עודמנהל מערכת OKTA? בואו ללמוד כיצד להשתמש ביכולות ה api של המערכת על מנת להוציא מידע מגוון או להעשיר את המידע הקיים ממערכות חיצוניות. הסדרה בת 6 סרטונים איתם תוכלו להעמיק את הידע ואת היכולות שלכם במערכת. הסדרה מחולקת לשני חלקים, כל חלק מכיל 3 סרטונים okta platform review – PART 1 Part 1.1 סקירה […]
קרא עודסיסמאות זה לחלשים? חישבו שוב: רק בארצות הברית עסקים מפסידים 7.3 מיליון דולר בשנה בשל פרצות אבטחה. ומה קורה ברחבי העולם? לא פחות מהפסד שנתי ממוצע של 4.47 מיליארד דולר בגלל כשלים בבקרה. ואם זה לא מספיק, נמצא כי 81% מהפריצות למערכות IT בארגון גם הם תוצאה של סיסמאות חלשות. סכומי-עתק יורדים לטמיון בשל כשלי […]
קרא עוד