این روش به شما کمک میکند تا از سرویس فهرست کنترل دسترسی کلید قدیمی (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 | یک JWT که ادعا میکند کاربر مجاز به باز کردن کلید |
original_kacls_url | آدرس اینترنتی KACLS مربوط به wrap_key فعلی. |
reason | یک رشته JSON عبوری که زمینه بیشتری در مورد عملیات ارائه میدهد. JSON ارائه شده باید قبل از نمایش، پاکسازی شود. حداکثر اندازه: ۱ کیلوبایت. |
wrapped_key | شیء دودویی base64 که توسط |
بدنه پاسخ
در صورت موفقیت، این متد یک شیء دودویی غیرشفاف را برمیگرداند که توسط Google Workspace در امتداد شیء رمزگذاری شده ذخیره شده و در هر عملیات بعدی رمزگشایی کلید، به همان صورت که هست ارسال میشود. همچنین باید resource_key_hash کدگذاری شده با base64 را برگرداند.
اگر عملیات با شکست مواجه شود، باید یک پاسخ خطای ساختاریافته برگردانده شود.
شیء دودویی باید تنها کپی از DEK رمزگذاری شده را داشته باشد، دادههای خاص پیادهسازی میتوانند در آن ذخیره شوند.
DEK را در سیستم KACLS خود ذخیره نکنید، در عوض آن را رمزگذاری کرده و در شیء wrapped_key برگردانید. این کار از اختلافات طول عمر بین سند و کلیدهای آن جلوگیری میکند. به عنوان مثال، برای اطمینان از اینکه دادههای کاربر هنگام درخواست به طور کامل پاک میشوند، یا برای اطمینان از اینکه نسخههای قبلی بازیابی شده از یک نسخه پشتیبان قابل رمزگشایی هستند.
گوگل هنگام حذف اشیاء، درخواست حذف را به KACLS ارسال نمیکند.
| نمایش JSON | |
|---|---|
{ "resource_key_hash": string, "wrapped_key": string } | |
| فیلدها | |
|---|---|
resource_key_hash | شیء دودویی کدگذاری شده با base64. به هش کلید منبع مراجعه کنید. |
wrapped_key | شیء دودویی کدگذاری شده با base64. حداکثر اندازه: ۱ کیلوبایت. |
مثال
این مثال یک نمونه درخواست و پاسخ برای متد 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="
}