روش: بازپیچی

این روش به شما کمک می‌کند تا از سرویس فهرست کنترل دسترسی کلید قدیمی (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 است. به authorization tokens مراجعه کنید.

original_kacls_url

string

آدرس اینترنتی KACLS مربوط به wrap_key فعلی.

reason

string (UTF-8)

یک رشته JSON عبوری که زمینه بیشتری در مورد عملیات ارائه می‌دهد. JSON ارائه شده باید قبل از نمایش، پاکسازی شود. حداکثر اندازه: ۱ کیلوبایت.

wrapped_key

string

شیء دودویی base64 که توسط wrap برگردانده شده است.

بدنه پاسخ

در صورت موفقیت، این متد یک شیء دودویی غیرشفاف را برمی‌گرداند که توسط Google Workspace در امتداد شیء رمزگذاری شده ذخیره شده و در هر عملیات بعدی رمزگشایی کلید، به همان صورت که هست ارسال می‌شود. همچنین باید resource_key_hash کدگذاری شده با base64 را برگرداند.

اگر عملیات با شکست مواجه شود، باید یک پاسخ خطای ساختاریافته برگردانده شود.

شیء دودویی باید تنها کپی از DEK رمزگذاری شده را داشته باشد، داده‌های خاص پیاده‌سازی می‌توانند در آن ذخیره شوند.

DEK را در سیستم KACLS خود ذخیره نکنید، در عوض آن را رمزگذاری کرده و در شیء wrapped_key برگردانید. این کار از اختلافات طول عمر بین سند و کلیدهای آن جلوگیری می‌کند. به عنوان مثال، برای اطمینان از اینکه داده‌های کاربر هنگام درخواست به طور کامل پاک می‌شوند، یا برای اطمینان از اینکه نسخه‌های قبلی بازیابی شده از یک نسخه پشتیبان قابل رمزگشایی هستند.

گوگل هنگام حذف اشیاء، درخواست حذف را به KACLS ارسال نمی‌کند.

نمایش JSON
{
  "resource_key_hash": string,
  "wrapped_key": string
}
فیلدها
resource_key_hash

string

شیء دودویی کدگذاری شده با base64. به هش کلید منبع مراجعه کنید.

wrapped_key

string

شیء دودویی کدگذاری شده با 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="
}