الطريقة: إعادة اللفّ

تساعدك هذه الطريقة في الانتقال من خدمة قائمة التحكم بالوصول إلى المفتاح القديمة (KACLS1) إلى خدمة KACLS2 الأحدث. وهو يأخذ مفتاح تشفير بيانات (DEK) ملتفًا بواجهة برمجة تطبيقات wrap في KACLS1، ويعرض DEK مرتبط بواجهة برمجة تطبيقات 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 المُقدَّم قبل عرضه. الحدّ الأقصى للحجم: 1 كيلوبايت.

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. الحدّ الأقصى للحجم: 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="
}