सुरक्षित स्टोर का इस्तेमाल करना

आपको Apigee Edge का दस्तावेज़ दिख रहा है.
Apigee X के दस्तावेज़ पर जाएं.
जानकारी

सुरक्षित स्टोर सेवा के एपीआई का इस्तेमाल करना

सुरक्षित स्टोर सेवा की मदद से, संवेदनशील डेटा को एन्क्रिप्ट किए गए फ़ॉर्मैट में सेव किया जा सकता है. जैसे, बैक-एंड सेवाओं के लिए सुरक्षा क्रेडेंशियल. इससे, उन्हें बिना अनुमति के इस्तेमाल से बचाया जा सकता है. सुरक्षित स्टोरेज की इन जगहों को "वॉल्ट" कहा जाता है. इन्हें Apigee Edge पर संगठन या एनवायरमेंट लेवल पर स्कोप किया जा सकता है.

उदाहरण के लिए, सुरक्षित स्टोर का इस्तेमाल Node.js ऐप्लिकेशन के लिए ज़रूरी पासवर्ड को सेव करने के लिए किया जा सकता है. इससे ऐप्लिकेशन, सुरक्षित संसाधन (जैसे कि डेटाबेस सर्वर) को ऐक्सेस कर पाता है. डिप्लॉयमेंट से पहले, एपीआई के ज़रिए पासवर्ड को सुरक्षित स्टोर में सेव किया जा सकता है. साथ ही, ऐप्लिकेशन रनटाइम के दौरान वैल्यू को ढूंढ सकता है.

ऐसा करने से, पासवर्ड को सोर्स कोड कंट्रोल सिस्टम में शामिल करने या Apigee Edge पर Node.js सोर्स कोड के साथ डिप्लॉय करने की ज़रूरत नहीं होती. इसके बजाय, Apigee इस वैल्यू को एन्क्रिप्ट (सुरक्षित) किए गए फ़ॉर्म में सेव करता है. इसे सिर्फ़ तब वापस पाया जा सकता है, जब ऐप्लिकेशन को इसकी ज़रूरत हो.

सुरक्षित स्टोर करने वाले एपीआई से जुड़े दस्तावेज़ के लिए, वॉल्ट देखें. यहां दिए गए सेक्शन में, Secure Store API का इस्तेमाल करने के बारे में खास जानकारी भी दी गई है.

संगठन के हिसाब से डेटा सेव करना

हर Apigee Edge संगठन के पास सुरक्षित स्टोर का एक सेट होता है. साथ ही, हर एनवायरमेंट के पास एक अतिरिक्त स्टोर होता है. इस तरह, जिन संगठनों को अलग-अलग बैक एंड के लिए सुरक्षा से जुड़ी अलग-अलग ज़रूरतों को पूरा करना होता है वे सुरक्षित की गई अलग-अलग वैल्यू को स्टोर कर सकते हैं. इस सेक्शन में, संगठन के हिसाब से डेटा सेव करने के बारे में बताया गया है.

इस्तेमाल

  • सभी सुरक्षित स्टोर के नाम वापस पाएं:
GET /o/{organization}/vaults
  • किसी नाम वाले वॉल्ट से, एंट्री की सूची को फिर से पाएं. हालांकि, इसमें एन्क्रिप्ट (सुरक्षित) की गई वैल्यू शामिल नहीं होती हैं.
GET /o/{organization}/vaults/{name}
  • एक एंट्री वापस पाएं. हालांकि, इसकी एन्क्रिप्ट (सुरक्षित) की गई वैल्यू वापस नहीं मिलती.

GET /o/{organization}/vaults/{name}/entries/{entryname}
  • बिना किसी वैल्यू के "name" नाम का नया वॉल्ट बनाएं:

POST /o/{organization}/vaults

{ "name": "{name}" }

curl https://api.enterprise.apigee.com/v1/o/testorg/vaults
  -H "Content-Type: application/json"
  -d '{"name": "test2" }' -X POST
  • वॉल्ट में, दिए गए नाम और सुरक्षित वैल्यू के साथ नई एंट्री जोड़ता है.

POST /o/{organization}/vaults/{vaultname}/entries

{ "name": "{entryname}", "value": "{securevalue}" }


curl https://api.enterprise.apigee.com/v1/o/testorg/vaults/test2/entries
  -H "Content-Type: application/json"
  -d '{"name": "value1", "value": "verysecret" }' -X POST
  • दी गई एंट्री की वैल्यू को नई वैल्यू से बदलें:

PUT /o/{organization}/vaults/{vaultname}/entries/{entryname}

curl https://api.enterprise.apigee.com/v1/o/testorg/vaults/test2/entries/value1

  -d 'verymoresecret' -X PUT
  • अगर दी गई वैल्यू, स्टोर में मौजूद वैल्यू से मेल खाती है, तो "सही" वैल्यू दिखाएं. अगर ऐसा नहीं होता है, तो "गलत" वैल्यू दिखाएं. दोनों ही मामलों में, 200 एचटीटीपी स्टेटस कोड का इस्तेमाल किया जाता है. इसका इस्तेमाल, स्टोर के कॉन्टेंट की पुष्टि करने के लिए किया जा सकता है. ध्यान दें कि एक बार सेव होने के बाद, बिना एन्क्रिप्ट (सुरक्षित) की गई वैल्यू को वापस पाने के लिए कोई एपीआई नहीं है:

    POST /o/{organization}/vaults/{vaultname}/entries/{entryname}?action=verify
    
    curl https://api.enterprise.apigee.com/v1/o/testorg/vaults/test2/entries/value1?action=verify
      -d 'verymoresecret'  -X POST
  • वॉल्ट की चुनी गई एंट्री मिटाएं:
DELETE /o/{organization}/vaults/{vaultname}/entries/{entryname}
  • पूरे वॉल्ट को मिटाएं.

    DELETE /o/{organization}/vaults/{name}

एनवायरमेंट के हिसाब से डेटा सेव करना

Apigee Edge एनवायरमेंट के हिसाब से भी डेटा सेव किया जा सकता है. इस मामले में, डेटा को किसी एनवायरमेंट (जैसे कि "prod") के हिसाब से स्कोप किया जाता है. इस सुविधा की मदद से, रनटाइम के दौरान अलग-अलग वैल्यू सेव की जा सकती हैं. यह इस बात पर निर्भर करता है कि Node.js स्क्रिप्ट कहां चल रही है.

इस्तेमाल

GET /o/{organization}/e/{env}/vaults

GET /o/{organization}/e/{env}/vaults/{name}

GET /o/{organization}/e/{env}/vaults/{name}/entries/{entryname}

POST /o/{organization}/e/{env}/vaults

POST /o/{organization}/e/{env}/vaults/{vaultname}/entries

PUT /o/{organization}/e/{env}/vaults/{vaultname}/entries/{entryname}

POST /o/{organization}/e/{env}/vaults/{vaultname}/entries/{entryname}?action=verify

DELETE /o/{organization}/e/{env}/vaults/{vaultname}/entries/{entryname}

DELETE /o/{organization}/e/{env}/vaults/{name}

Node.js में सुरक्षित स्टोर से वैल्यू वापस पाना

apigee-access इंस्टॉल किया जा रहा है

अपने Node.js कोड में apigee-access का इस्तेमाल करने के लिए, आपको इसे पहले इंस्टॉल करना होगा. उदाहरण के लिए:

  1. अपने प्रोजेक्ट की रूट डायरेक्ट्री पर जाएं.
  2. लागू करें: npm install apigee-access --save

फ़ंक्शन

apigee-access getVault() फ़ंक्शन का इस्तेमाल, किसी वॉल्ट को वापस पाने के लिए किया जाता है. यह फ़ंक्शन, हर संगठन के हिसाब से या उस मौजूदा एनवायरमेंट के हिसाब से काम करता है जहां Node.js कोड चल रहा है.

getVault() फ़ंक्शन में दो पैरामीटर इस्तेमाल किए जाते हैं:

  • उस सुरक्षित स्टोर का नाम जिसे वापस पाना है.
  • स्कोप, जो organization या environment हो सकता है. अगर इसकी वैल्यू नहीं दी जाती है, तो organization को डिफ़ॉल्ट वैल्यू माना जाता है.

getVault() से मिले ऑब्जेक्ट में दो फ़ंक्शन होते हैं:

  • getKeys(callback): यह फ़ंक्शन, तय किए गए वॉल्ट में मौजूद सभी कुंजियों के नाम वाला एक अरे दिखाता है. कॉलबैक फ़ंक्शन को दो तर्कों के साथ कॉल किया जाएगा: अगर कार्रवाई पूरी नहीं होती है, तो गड़बड़ी या अगर कार्रवाई पूरी हो जाती है, तो "undefined". साथ ही, दूसरा तर्क असल कलेक्शन होगा.
  • get(key, callback): किसी खास कुंजी से जुड़ी सुरक्षित वैल्यू दिखाता है. कॉलबैक फ़ंक्शन को दो तर्कों के साथ कॉल किया जाएगा: अगर ऑपरेशन पूरा नहीं होता है, तो गड़बड़ी या अगर ऐसा नहीं होता है, तो "undefined" और दूसरी वैल्यू के तौर पर असल वैल्यू.

उदाहरण

यहां Node.js का एक सैंपल दिया गया है. इसमें बताया गया है कि वॉल्ट से वैल्यू कैसे मिलती है. इस कोड के काम करने के लिए, apigee-access मॉड्यूल इंस्टॉल किया गया है. इसके बारे में पहले बताया जा चुका है.

var apigee = require('apigee-access');
   var orgVault = apigee.getVault('vault1', 'organization');
   orgVault.get('key1', function(err, secretValue) {
   // use the secret value here
});