שימוש בחנות המאובטחת

מוצג המסמך של Apigee Edge.
עוברים אל מסמכי תיעוד של Apigee X.
מידע

שימוש בממשקי ה-API של שירות החנות המאובטחת

שירות החנות המאובטחת מאפשר לכם לאחסן מידע אישי רגיש, כמו פרטי כניסה מאובטחים שירותים לקצה העורפי, בפורמט מוצפן כך שהם מוגנים מפני שימוש בלתי מורשה. האלה אזורי אחסון מאובטחים נקראים 'כספת', ואפשר לתחום אותם ברמת הארגון או ברמות הסביבה ב-Apigee Edge.

לדוגמה, יכול להיות שהחנות המאובטחת תשמש לאחסון סיסמה שנדרשת על ידי Node.js כדי להגיע למשאב מוגן, כמו שרת מסד נתונים. אפשר לאחסן את באחסון המאובטח באמצעות ממשק API לפני הפריסה, והאפליקציה יכולה לחפש בערך בזמן הריצה.

כך שאין צורך לכלול את הסיסמה בבקרת קוד המקור או לפרוס אותו לצד קוד המקור של Node.js ב-Apigee Edge. במקום זאת, הערך הוא יאוחסן על ידי Apigee בצורה מוצפנת והוא יאוחזר רק כשצריך לאפליקציה את זה.

למידע נוסף על ממשקי ה-API של החנות המאובטחת, ראו Vault. בקטעים הבאים מוצגת גם סקירה כללית של השימוש ה-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
  • החזרת 'true' אם הערך שצוין תואם לערך שכבר קיים בחנות, והערך 'false' אם היא לא. בשני המקרים, נעשה שימוש בקוד מצב HTTP של 200. הפרטים האלה יכולים לשמש לאימות לתוכן של החנות. לתשומת ליבך, לאחר האחסון, אין ממשק API לשחזור נתונים שאינם מוצפנים ערך:

    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

כדי להשתמש ב-apigee-access בקוד של Node.js, צריך להתקין אותו קודם. לדוגמה:

  1. cd לתיקיית השורש של הפרויקט.
  2. ביצוע: npm install apigee-access --save

פונקציות

הפונקציה getVault() מסוג apigee-access משמשת לאחזור כספת מסוימת, או על סמך הסביבה הנוכחית שבה פועל הקוד של 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
});