तरीका: रैप

एन्क्रिप्ट यानी सुरक्षित की गई डेटा एन्क्रिप्शन की (डीईके) और उससे जुड़ा डेटा दिखाता है.

ज़्यादा जानकारी के लिए, डेटा को एन्क्रिप्ट (सुरक्षित) और डिक्रिप्ट (सुरक्षित तरीके से वापस पाना) करना लेख पढ़ें.

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

POST https://KACLS_URL/wrap

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

पाथ पैरामीटर

कोई नहीं.

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

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

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

string

यह IdP की ओर से जारी किया गया JWT है. इससे यह पता चलता है कि उपयोगकर्ता कौन है. पुष्टि करने वाले टोकन देखें.

authorization

string

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

key

string

base64 कोड में बदला गया डीईके. ज़्यादा से ज़्यादा साइज़: 128 बाइट.

reason

string (UTF-8)

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

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

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

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

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

डीईके को कुंजी ऐक्सेस कंट्रोल लिस्ट सर्विस (केएसीएलएस) सिस्टम में सेव न करें. इसके बजाय, इसे एन्क्रिप्ट (सुरक्षित) करें और wrapped_key ऑब्जेक्ट में वापस भेजें. इससे दस्तावेज़ और उसकी कुंजियों के बीच, लाइफ़टाइम के अंतर को रोका जा सकता है. उदाहरण के लिए, यह पक्का करने के लिए कि जब कोई उपयोगकर्ता अपने डेटा को मिटाने का अनुरोध करे, तो उसका डेटा पूरी तरह से मिटा दिया जाए. इसके अलावा, यह पक्का करने के लिए कि बैकअप से वापस लाए गए पिछले वर्शन को डिक्रिप्ट किया जा सके.

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

string

base64 कोड में बदला गया बाइनरी ऑब्जेक्ट. ज़्यादा से ज़्यादा साइज़: 1 केबी.

उदाहरण

इस उदाहरण में, wrap तरीके के लिए अनुरोध और जवाब का सैंपल दिया गया है.

अनुरोध

POST https://mykacls.example.com/v1/wrap

{
   "key":"wHrlNOTI9mU6PBdqiq7EQA==",
   "authorization": "eyJhbGciOi…"
   "authentication": "eyJhbGciOi…"
   "reason": "{client:'drive' op:'update'}"
}

जवाब

{
    "wrapped_key": "3qTh6Mp+svPwYPlnZMyuj8WHTrM59wl/UI50jo61Qt/QubZ9tfsUc1sD62xdg3zgxC9quV4r+y7AkbfIDhbmxGqP64pWbZgFzOkP0JcSn+1xm/CB2E5IknKsAbwbYREGpiHM3nzZu+eLnvlfbzvTnJuJwBpLoPYQcnPvcgm+5gU1j1BjUaNKS/uDn7VbVm7hjbKA3wkniORC2TU2MiHElutnfrEVZ8wQfrCEpuWkOXs98H8QxUK4pBM2ea1xxGj7vREAZZg1x/Ci/E77gHxymnZ/ekhUIih6Pwu75jf+dvKcMnpmdLpwAVlE1G4dNginhFVyV/199llf9jmHasQQuaMFzQ9UMWGjA1Hg2KsaD9e3EL74A5fLkKc2EEmBD5v/aP+1RRZ3ISbTOXvxqYIFCdSFSCfPbUhkc9I2nHS0obEH7Q7KiuagoDqV0cTNXWfCGJ1DtIlGQ9IA6mPDAjX8Lg=="
}