Menggunakan toko aman

Anda sedang melihat dokumentasi Apigee Edge.
Buka Dokumentasi Apigee X.
info

Menggunakan API layanan toko yang aman

Layanan penyimpanan aman memungkinkan Anda menyimpan data sensitif, seperti kredensial keamanan untuk layanan {i>back-end<i}, dalam format terenkripsi sehingga terlindungi dari penggunaan yang tidak sah. Ini area penyimpanan yang aman disebut "vault", dan dapat mencakup organisasi atau tingkat lingkungan di Apigee Edge.

Misalnya, safe store dapat digunakan untuk menyimpan sandi yang diperlukan oleh Node.js aplikasi untuk menjangkau sumber daya yang dilindungi, seperti server {i>database<i}. Anda dapat menyimpan di penyimpanan aman melalui API sebelum deployment, dan aplikasi dapat mencari pada nilai pada runtime.

Dengan melakukan ini, tidak perlu memasukkan {i> password<i} di kode sumber {i>control<i} sistem file, atau untuk men-deploy-nya bersama kode sumber Node.js ke Apigee Edge. Sebaliknya, nilainya adalah disimpan oleh Apigee dalam bentuk terenkripsi dan hanya akan diambil saat aplikasi anotasi.

Untuk dokumentasi tentang Secure Store API, lihat Vault. Bagian berikut juga memberikan gambaran umum tentang penggunaan Secure Store API.

Menyimpan data menurut organisasi

Setiap organisasi Apigee Edge memiliki serangkaian penyimpanan yang aman, dan setiap lingkungan memiliki Chrome Web Store tambahan. Dengan begitu, organisasi yang memiliki persyaratan keamanan berbeda untuk backend dapat menyimpan nilai aman yang berbeda. Bagian ini menjelaskan cara menyimpan menurut organisasi.

Penggunaan

  • Ambil nama semua penyimpanan aman:
GET /o/{organization}/vaults
  • Mengambil daftar entri (tetapi bukan nilai terenkripsinya) dari vault bernama.
GET /o/{organization}/vaults/{name}
  • Mengambil satu entri (tetapi bukan nilai terenkripsinya).

GET /o/{organization}/vaults/{name}/entries/{entryname}
  • Buat vault baru bernama "name" tanpa nilai:

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
  • Tempatkan entri baru di vault dengan nama yang ditentukan dan nilai aman.

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
  • Ganti nilai entri yang ditentukan dengan nilai baru:

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

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

  -d 'verymoresecret' -X PUT
  • Menampilkan "true" jika nilai yang ditentukan cocok dengan yang sudah ada di store, dan "false" jika padahal sebenarnya tidak. Dalam kedua kasus tersebut, kode status HTTP 200 akan digunakan. Ini dapat digunakan untuk memvalidasi isi toko. Perhatikan bahwa setelah disimpan, tidak ada API untuk mengambil data yang nilai:

    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
    
  • Hapus entri vault yang ditentukan:
DELETE /o/{organization}/vaults/{vaultname}/entries/{entryname}
  • Hapus seluruh vault.

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

Menyimpan data berdasarkan lingkungan

Anda juga dapat menyimpan data berdasarkan lingkungan Apigee Edge. Dalam hal ini, data dicakup dalam sebuah tertentu (misalnya, "prod"). Dengan fitur ini, nilai yang berbeda dapat disimpan saat runtime tergantung di mana skrip Node.js berjalan.

Penggunaan

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}

Mengambil nilai dari penyimpanan aman di Node.js

Menginstal apigee-access

Untuk menggunakan apigee-access di kode Node.js, Anda harus menginstalnya terlebih dahulu. Contoh:

  1. ke direktori {i>root<i} proyek Anda.
  2. Jalankan: npm install apigee-access --save

Fungsi

Fungsi apigee-access getVault() digunakan untuk mengambil vault tertentu, baik setiap organisasi atau berdasarkan lingkungan saat ini tempat kode Node.js dijalankan.

getVault() mengambil dua parameter:

  • Nama penyimpanan aman yang akan diambil.
  • Cakupan, yang dapat berupa organization atau environment. Jika tidak ditentukan, maka organization akan diasumsikan.

Objek yang ditampilkan oleh getVault() memiliki dua fungsi:

  • getKeys(callback): Menampilkan array yang berisi nama semua kunci dalam vault yang ditentukan. Fungsi callback akan dipanggil dengan dua argumen: Error jika operasi gagal, atau "undefined" jika tidak, dan himpunan (array) aktual adalah argumen kedua.
  • get(key, callback): Menampilkan nilai aman yang terkait dengan tombol. Fungsi callback akan dipanggil dengan dua argumen: Error jika operasi gagal, atau "belum ditentukan" jika tidak, dan nilai aktualnya adalah argumen kedua.

Contoh

Berikut adalah contoh Node.js yang menunjukkan cara mendapatkan nilai dari vault. Tujuan Modul apigee-access diinstal agar kode ini berfungsi, seperti yang dijelaskan seperti yang telah dibahas sebelumnya.

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