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