तरीका: फिर से रैप करें

इस तरीके से, कुंजी मैनेज करने वाली पुरानी सेवा (केएसीएलएस1) से नई केएसीएलएस (केएसीएलएस2) पर माइग्रेट किया जा सकता है. यह KACLS1 के wrap एपीआई के साथ रैप की गई डेटा एन्क्रिप्शन की (डीईके) लेता है और KACLS2 के wrap एपीआई के साथ रैप की गई डीईके दिखाता है.

एचटीटीपी अनुरोध

POST https://KACLS_URL/rewrap

KACLS_URL की जगह, कुंजी ऐक्सेस कंट्रोल लिस्ट (केएसीएल) सेवा का यूआरएल डालें.

पाथ पैरामीटर

कोई नहीं.

अनुरोध का मुख्य भाग

अनुरोध के मुख्य हिस्से में, इस स्ट्रक्चर का डेटा शामिल होता है:

JSON के काेड में दिखाना
{
  "authorization": string,
  "original_kacls_url": string,
  "reason": string,
  "wrapped_key": string
}
फ़ील्ड
authorization

string

यह एक JWT है. इससे यह पुष्टि होती है कि उपयोगकर्ता को resource_name के लिए कुंजी को अनरैप करने की अनुमति है. अनुमति देने वाले टोकन देखें.

original_kacls_url

string

रैप किए गए मौजूदा wrapped_key के KACLS का यूआरएल.

reason

string (UTF-8)

यह एक पासथ्रू JSON स्ट्रिंग है. इससे ऑपरेशन के बारे में अतिरिक्त जानकारी मिलती है. दिखाने से पहले, दिए गए JSON को सैनिटाइज़ किया जाना चाहिए. ज़्यादा से ज़्यादा साइज़: 1 केबी.

wrapped_key

string

wrap से मिला base64 बाइनरी ऑब्जेक्ट.

जवाब का मुख्य भाग

अगर यह तरीका काम करता है, तो यह एक ओपेक बाइनरी ऑब्जेक्ट दिखाता है. इसे Google Workspace, एन्क्रिप्ट (सुरक्षित) किए गए ऑब्जेक्ट के साथ सेव करेगा. साथ ही, इसे कुंजी अनरैप करने की किसी भी कार्रवाई में, उसी तरह भेजा जाएगा. इसे base64 कोड में बदले गए resource_key_hash को भी वापस भेजना चाहिए.

अगर कार्रवाई पूरी नहीं होती है, तो स्ट्रक्चर्ड गड़बड़ी वाला जवाब दिखाना चाहिए.

बाइनरी ऑब्जेक्ट में, एन्क्रिप्ट की गई डीईके की सिर्फ़ एक कॉपी होनी चाहिए. इसमें, लागू करने से जुड़ा डेटा सेव किया जा सकता है.

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://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="
}