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

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

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

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

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

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

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

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

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

इस्तेमाल का तरीका

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

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

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
    
  • बताई गई Vault एंट्री मिटाएं:
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. cd को अपने प्रोजेक्ट की रूट डायरेक्ट्री में जोड़ने का अनुरोध कर सकते हैं.
  2. लागू करें: npm install apigee-access --save

फ़ंक्शन

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

getVault() के दो पैरामीटर होते हैं:

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

getVault() से लौटाए गए ऑब्जेक्ट के दो फ़ंक्शन होते हैं:

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