שיטה: rewrap

השיטה הזו עוזרת לכם לבצע מיגרציה מהשירות הישן של רשימת המפתחות של בקרת הגישה (KACLS1) ל-KACLS החדש יותר (KACLS2). הוא מקבל מפתח להצפנת נתונים (DEK) שעטוף ב-API‏ wrap של KACLS1, ומחזיר מפתח DEK שעטוף ב-API‏ wrap של KACLS2.

בקשת HTTP

POST https://KACLS_URL/rewrap

מחליפים את KACLS_URL בכתובת ה-URL של שירות רשימת המפתחות של בקרת הגישה (KACLS).

פרמטרים של נתיב

ללא.

גוף הבקשה

גוף הבקשה מכיל נתונים במבנה הבא:

ייצוג ב-JSON
{
  "authorization": string,
  "original_kacls_url": string,
  "reason": string,
  "wrapped_key": string
}
שדות
authorization

string

‫JWT שמאשר שלמשתמש יש הרשאה לבטל את העיטוף של מפתח עבור resource_name. מידע על טוקנים של הרשאה

original_kacls_url

string

כתובת ה-URL של שרת ה-KACLS של wrapped_key הנוכחי.

reason

string (UTF-8)

מחרוזת JSON להעברה שמספקת הקשר נוסף לגבי הפעולה. צריך לבצע סניטציה ל-JSON שסופק לפני שמציגים אותו. גודל מקסימלי: 1KB.

wrapped_key

string

האובייקט הבינארי בפורמט Base64 שמוחזר על ידי wrap.

גוף התשובה

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

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

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

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

כשמחקקים אובייקטים, Google לא שולחת בקשות מחיקה ל-KACLS.

ייצוג ב-JSON
{
  "resource_key_hash": string,
  "wrapped_key": string
}
שדות
resource_key_hash

string

אובייקט בינארי בקידוד Base64. ראו גיבוב של מפתח המשאב.

wrapped_key

string

האובייקט הבינארי בקידוד Base64. גודל מקסימלי: 1KB.

דוגמה

בדוגמה הזו מופיעות בקשה ותשובה לדוגמה של שיטת rewrap.

בקשה

POST https://mykacls.example.com/v1/rewrap

{
   "wrapped_key": "7qTh6Mp+svVwYPlnZMyuj8WHTrM59wl/UI50jo61Qt/QubZ9tfsUc1sD62xdg3zgxC9quV4r+y7AkbfIDhbmxGqP64pWbZgFzOkP0JcSn+1xm/CB2E5IknKsAbwbYREGpiHM3nzZu+eLnvlfbzvTnJuJwBpLoPYQcnPvcgm+5gU1j1BjUaNKS/uDn7VbVm7hjbKA3wkniORC2TU2MiHElutnfrEVZ8wQfrCEpuWkOXs98H8QxUK4pBM2ea1xxGj7vREAZZg1x/Ci/E77gHxymnZ/ekhUIih6Pwu75jf+dvKcMnpmdLpwAVlE1G4dNginhFVyV/199llf9jmHasQQuaMFzQ9UMWGjA1Hg2KsaD9e3EL74A5fLkKc2EEmBD5v/aP+1RRZ3ISbTOXvxqYIFCdSFSCfPbUhkc9I2nHS0obEH7Q7KiuagoDqV0cTNXWfCGJ1DtIlGQ9IA6mPDAjX8Lg==",
   "authorization": "eyJhbGciOi...",
   "original_kacls_url": "https://original.example.com/kacls/v1",
   "reason": "{client:'drive' op:'read'}"
}

תשובה

{
    "wrapped_key": "3qTh6Mp+svPwYPlnZMyuj8WHTrM59wl/UI50jo61Qt/QubZ9tfsUc1sD62xdg3zgxC9quV4r+y7AkbfIDhbmxGqP64pWbZgFzOkP0JcSn+1xm/CB2E5IknKsAbwbYREGpiHM3nzZu+eLnvlfbzvTnJuJwBpLoPYQcnPvcgm+5gU1j1BjUaNKS/uDn7VbVm7hjbKA3wkniORC2TU2MiHElutnfrEVZ8wQfrCEpuWkOXs98H8QxUK4pBM2ea1xxGj7vREAZZg1x/Ci/E77gHxymnZ/ekhUIih6Pwu75jf+dvKcMnpmdLpwAVlE1G4dNginhFVyV/199llf9jmHasQQuaMFzQ9UMWGjA1Hg2KsaD9e3EL74A5fLkKc2EEmBD5v/aP+1RRZ3ISbTOXvxqYIFCdSFSCfPbUhkc9I2nHS0obEH7Q7KiuagoDqV0cTNXWfCGJ1DtIlGQ9IA6mPDAjX8Lg==",
    "resource_key_hash": "SXOyPekBAUI95zuZSuJzsBlK4nO5SuJK4nNCPem5SuI="
}