הקריאה הזו מחזירה אסימון אינטרנט חדש מסוג JSON (JWT) לאימות, שמאפשר לישות לגשת למשאב שצוין בשם המשתמש שאומת ב-JWT המקורי לאימות. היא משמשת להענקת גישה מוגבלת לעטיפה או לפרימה לישות אחרת, כשהישות הזו צריכה לפעול בשם המשתמש.
בקשת HTTP
POST https://<base_url>/delegate
מחליפים את <base_url>
בכתובת ה-URL של שירות רשימת המפתחות של בקרת הגישה (KACLS).
פרמטרים של נתיב
ללא.
גוף הבקשה
גוף הבקשה מכיל ייצוג JSON של הבקשה:
ייצוג ב-JSON | |
---|---|
{ "authentication": string, "authorization": string, "reason": string } |
שדות | |
---|---|
authentication |
JWT שהונפק על ידי צד שלישי, שבו מצוין מי המשתמש. פרטים נוספים זמינים בקטע בנושא אימות. |
authorization |
JWT עם הצהרות |
reason |
מחרוזת JSON של העברת נתונים שמספקת הקשר נוסף לגבי הפעולה. צריך לבצע סניטציה ל-JSON שסופק לפני שמציגים אותו. גודל מקסימלי: 1KB. |
שלבי העיבוד הנדרשים
ה-KACLS חייב לבצע לפחות את השלבים הבאים:
- צריך לאמת את טוקני ההרשאה והאימות. מידע נוסף זמין במאמרים בנושא אסימוני הרשאה ואסימוני אימות.
- בודקים שאסימוני ההרשאה והאימות הם של אותו משתמש. מידע נוסף זמין במאמר בנושא הצפנה ופענוח של נתונים.
- בודקים שהצהרת
kacls_url
באסימון ההרשאה תואמת לכתובת ה-URL הנוכחית של KACLS. כך אפשר לזהות שרתי פוטנציאליים של תקיפת 'אדם באמצע' שהוגדרו על ידי משתמשים פנימיים או אדמינים של דומיין סורר. - אם התביעה
kacls_owner_domain
קיימת באסימון ההרשאה, צריך לוודא שהערך תואם לדומיין Google Workspace של הבעלים של KACLS. כך אפשר למנוע ממשתמשים לא מורשים לרשום את רשימת בקרת הגישה שלכם ב-Google. - רישום הפעולה ביומן, כולל המשתמש שיזם אותה,
delegated_to
,resource_name
והסיבה שהועברה בבקשה. - יוצרים, חותמים ומחזירים טוקן JWT שמכיל הצהרות
delegated_to
ו-resource_name
מטוקן ההרשאה.
ה-KACLS יכול לבצע בדיקות אבטחה נוספות בחינם, כולל בדיקות שמבוססות על טענות JWT.
גוף התשובה
אם הפעולה בוצעה ללא שגיאות, השיטה הזו מחזירה JWT לאימות שמכיל טענות delegated_to
ו-resource_name
. אפשר להשתמש באסימון הזה מאוחר יותר לאימות בשיחות לשיטות Wrap ו-Unwrap. במקרה של שגיאה, צריך להחזיר תשובה עם שגיאה מובנית.
ייצוג ב-JSON | |
---|---|
{ "delegated_authentication": string } |
שדות | |
---|---|
delegated_authentication |
אסימון JWT של אימות עם הרשאת גישה, שתקף לגישה אל |
דוגמה
בקשה
POST https://mykacls.example.com/v1/delegate
{
"authentication": "eyJhbGciOi...",
"authorization": "eyJhbGciOi...delegated_to\":\"other_entity_id\",\"resource_name\":\"meeting_id\"...}",
"reason": "{client:'meet' op:'delegate_access'}"
}
תשובה
{
"delegated_authentication": "eyJhbGciOi...delegated_to_from_authz_token...resource_name_from_authz_token...}"
}