אסימוני אימות

אסימון למוכ"ז (JWT: RFC 7516) שהונפק על ידי שותף הזהויות (IdP) כדי לאמת את זהות המשתמש.

ייצוג ב-JSON
{
  "aud": string,
  "email": string,
  "exp": string,
  "iat": string,
  "iss": string,
  "google_email": string,
  ...
}
שדות
aud

string

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

email

string (UTF-8)

כתובת האימייל של המשתמש.

exp

string

מועד התפוגה.

iat

string

זמן ההנפקה.

iss

string

הישות שהנפיקה את הטוקן. צריך לאמת את המזהה מול קבוצת המנפיקים המהימנים של אימות.

google_email

string

הצהרה אופציונלית, לשימוש במקרים שבהם ההצהרה email ב-JWT הזה שונה ממזהה האימייל של המשתמש ב-Google Workspace. התביעה הזו כוללת את זהות האימייל של המשתמש ב-Google Workspace.

...

השירות Key Access Control List Service (KACLS) מאפשר להשתמש בחינם בכל טענה אחרת (מיקום, טענה מותאמת אישית וכו') כדי להעריך את ההיקף.

טוקן אימות של KACLS עבור delegate

אסימון האימות מכיל אסימון אינטרנט מסוג JSON‏ (JWT) (JWT: RFC 7516) שהוא אסימון אימות מסוג bearer.

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

טוקן האימות שהוקצה דומה לטוקן האימות הרגיל, אבל יש בו טענה נוספת:

טענה : הצהרה [לפי ההקשר]
delegated_to

string

מזהה של הישות שאליה מועברת סמכות האימות.

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

האסימון מונפק על ידי שירות רשימת המפתחות של בקרת הגישה (KACLS) באמצעות קריאת הפונקציה Delegate. יכול להיות שאלה אסימוני JWT בחתימה עצמית ש-KACLS יכול לאמת, או ש-KACLS יכול להשתמש בכל ספק זהויות אחר כדי לעשות זאת, באמצעות קריאה מהימנה.

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

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

ייצוג ב-JSON
{
  "email": string,
  "iss": string,
  "aud": string,
  "exp": string,
  "iat": string,
  "google_email": string,
  "delegated_to": string,
  "resource_name": string
  ...
}
שדות
email

string (UTF-8)

כתובת האימייל של המשתמש בפורמט UTF-8.

iss

string

צריך לאמת את מנפיק האסימון מול קבוצת מנפיקי האימות המהימנים.

aud

string

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

exp

string

צריך לסמן את תיבת הסימון 'שעת התפוגה'.

iat

string

צריך לסמן את התיבה 'שעת ההנפקה'.

delegated_to

string

מזהה של הישות שאליה מועברת סמכות האימות.

resource_name

string

מזהה של האובייקט שהוצפן באמצעות מפתח ה-DEK, שההרשאה תקפה לגביו.

...

ל-KACLS יש חופש להשתמש בכל טענה אחרת (מיקום, טענה מותאמת אישית וכו') כדי להעריך את ההיקף.

טוקן אימות של KACLS עבור PrivilegedUnwrap

אסימון למוכ"ז (JWT: RFC 7516) שהונפק על ידי שותף הזהויות (IdP) כדי לאמת את זהות המשתמש.

ההגדרה הזו רלוונטית רק ל-PrivilegedUnwrap. במהלך PrivilegedUnwrap, אם נעשה שימוש ב-JWT של KACLS במקום באסימון אימות של ספק זהויות, KACLS המקבל חייב קודם לאחזר את JWKS של המנפיק, ואז לאמת את חתימת האסימון, לפני בדיקת הטענות.

ייצוג ב-JSON
{
  "aud": string,
  "exp": string,
  "iat": string,
  "iss": string,
  "kacls_url": string,
  "resource_name": string
  ...
}
שדות
aud

string

הקהל, כפי שזוהה על ידי ספק הזהויות. לפעולות של הצפנה מצד הלקוח (CSE) ב-Drive‏ PrivilegedUnwrap, צריך להזין kacls-migration.

exp

string

מועד התפוגה.

iat

string

זמן ההנפקה.

iss

string

הישות שהנפיקה את הטוקן. צריך לאמת את המזהה מול קבוצת המנפיקים המהימנים של אימות. חייב להיות זהה ל-KACLS_URL של ה-KACLS ששולח את הבקשה. אפשר למצוא את המפתח הציבורי של המנפיק בכתובת /certs.

kacls_url

string

כתובת ה-URL של KACLS הנוכחי, שבו הנתונים מפוענחים.

resource_name

string

מזהה של האובייקט שמוצפן באמצעות מפתח ה-DEK. הגודל המקסימלי: 128 בייטים.

...

השירות Key Access Control List Service (KACLS) מאפשר להשתמש בחינם בכל טענה אחרת (מיקום, טענה מותאמת אישית וכו') כדי להעריך את ההיקף.