למידע על אימות & הרשאה

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

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

הערה: הסקירה הכללית הזו מתמקדת באימות ובהרשאה עבור ממשקי API של Google Workspace. ייתכן שחלק מהמידע במסמך זה לא קשור לממשקי API אחרים של Google.

סקירה כללית על התהליך

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

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

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

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

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

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

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

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

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

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

הסברים חשובים

בהמשך מופיעה רשימת מונחים הקשורים לאימות ולהרשאה:

אימות

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

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

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

פרטי כניסה

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

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

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

שרת הרשאות

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

קוד הרשאה

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

אסימון גישה

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

שרת משאבים

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

מסגרת OAuth 2.0

תקן שהאפליקציה יכולה להשתמש בו כדי לספק לה 'גישה מואצלת מאובטחת' או גישה לנתונים ולתפעול בשם המשתמש של האפליקציה. מנגנוני האימות וההרשאה שבהם אתם משתמשים באפליקציה מייצגים את ההטמעה של מסגרת OAuth 2.0.

חשבון משתמש

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

סוג הנתונים

בהקשר של האימות וההרשאה, סוג הנתונים מתייחס לישות שבבעלותה הנתונים שמנסים לגשת אליהם. יש שלושה סוגי נתונים:

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

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

סוג אפליקציה

סוג האפליקציה שברצונך ליצור. כשתיצרו פרטי כניסה באמצעות מסוף Google Cloud, תתבקשו לבחור את סוג הבקשה. סוגי האפליקציות הם: אפליקציית אינטרנט (JavaScript), Android, אפליקציית Chrome, iOS, טלוויזיות ומכשירי קלט מוגבלים, אפליקציה למחשב (שנקראת גם "אפליקציה מותקנת") ו-Universal Windows Platform (UWP).

חשבון שירות

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

הענקת סמכות ברמת הדומיין

תכונת ניהול שיכולה להעניק לאפליקציה הרשאת גישה לנתוני המשתמשים בשם משתמשים בארגון Google Workspace. אפשר להשתמש בהקצאה ברמת הדומיין כדי לבצע משימות שקשורות למנהלי מערכת בנתוני המשתמשים. כדי להעניק סמכות באופן הזה, האדמינים ב-Google Workspace משתמשים בחשבונות שירות עם OAuth 2.0. בגלל העוצמה של התכונה הזו, רק סופר-אדמינים יכולים להעניק גישה לכל הדומיין. לפרטים נוספים, ראו הענקת גישה ברמת הדומיין לחשבון שירות.

השלב הבא

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