इस तरीके से, कुंजी मैनेज करने वाली पुरानी सेवा (केएसीएलएस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 |
यह एक JWT है. इससे यह पुष्टि होती है कि उपयोगकर्ता को |
original_kacls_url |
रैप किए गए मौजूदा wrapped_key के KACLS का यूआरएल. |
reason |
यह एक पासथ्रू JSON स्ट्रिंग है. इससे ऑपरेशन के बारे में अतिरिक्त जानकारी मिलती है. दिखाने से पहले, दिए गए JSON को सैनिटाइज़ किया जाना चाहिए. ज़्यादा से ज़्यादा साइज़: 1 केबी. |
wrapped_key |
|
जवाब का मुख्य भाग
अगर यह तरीका काम करता है, तो यह एक ओपेक बाइनरी ऑब्जेक्ट दिखाता है. इसे Google Workspace, एन्क्रिप्ट (सुरक्षित) किए गए ऑब्जेक्ट के साथ सेव करेगा. साथ ही, इसे कुंजी अनरैप करने की किसी भी कार्रवाई में, उसी तरह भेजा जाएगा. इसे base64 कोड में बदले गए resource_key_hash को भी वापस भेजना चाहिए.
अगर कार्रवाई पूरी नहीं होती है, तो स्ट्रक्चर्ड गड़बड़ी वाला जवाब दिखाना चाहिए.
बाइनरी ऑब्जेक्ट में, एन्क्रिप्ट की गई डीईके की सिर्फ़ एक कॉपी होनी चाहिए. इसमें, लागू करने से जुड़ा डेटा सेव किया जा सकता है.
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://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="
}