Anda melihat dokumentasi Apigee Edge.
Buka
dokumentasi Apigee X. info
Menggunakan API layanan penyimpanan aman
Layanan penyimpanan aman memungkinkan Anda menyimpan data sensitif, seperti kredensial keamanan untuk layanan backend, dalam format terenkripsi sehingga terlindungi dari penggunaan yang tidak sah. Area penyimpanan aman ini disebut "vault", dan dapat dicakup ke tingkat organisasi atau lingkungan di Apigee Edge.
Misalnya, penyimpanan aman dapat digunakan untuk menyimpan sandi yang diperlukan oleh aplikasi Node.js agar dapat mengakses resource yang dilindungi, seperti server database. Anda dapat menyimpan sandi di penyimpanan aman melalui API sebelum deployment, dan aplikasi dapat mencari nilai saat runtime.
Dengan demikian, Anda tidak perlu menyertakan sandi dalam sistem kontrol kode sumber, atau men-deploy-nya bersama kode sumber Node.js ke Apigee Edge. Sebagai gantinya, nilai tersebut disimpan oleh Apigee dalam bentuk terenkripsi dan hanya akan diambil saat aplikasi membutuhkannya.
Untuk dokumentasi tentang API penyimpanan aman, lihat Vault. Bagian berikut juga memberikan ringkasan tentang penggunaan API penyimpanan aman.
Menyimpan data menurut organisasi
Setiap organisasi Apigee Edge memiliki serangkaian penyimpanan aman, dan setiap lingkungan memiliki penyimpanan tambahan. Dengan begitu, organisasi yang memiliki persyaratan keamanan yang berbeda untuk backend yang berbeda dapat menyimpan nilai aman yang berbeda. Bagian ini menjelaskan penyimpanan menurut organisasi.
Penggunaan
- Ambil nama semua penyimpanan aman:
GET /o/{organization}/vaults
- Ambil daftar entri (tetapi bukan nilai terenkripsinya) dari vault bernama.
GET /o/{organization}/vaults/{name}
-
Ambil 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 dan nilai aman yang ditentukan.
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
-
Tampilkan "true" jika nilai yang ditentukan cocok dengan nilai yang sudah ada di penyimpanan, dan "false" jika tidak. Dalam kedua kasus tersebut, kode status HTTP 200 digunakan. Hal ini dapat digunakan untuk memvalidasi konten penyimpanan. Perhatikan bahwa setelah disimpan, tidak ada API untuk mengambil nilai yang tidak dienkripsi:
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 menurut lingkungan
Anda juga dapat menyimpan data menurut lingkungan Apigee Edge. Dalam hal ini, data dicakup ke an lingkungan (seperti "prod"). Dengan fitur ini, nilai yang berbeda dapat disimpan saat runtime bergantung pada tempat 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 dalam kode Node.js, Anda harus menginstalnya
terlebih dahulu. Contoh:
- cd ke direktori utama project Anda.
- Jalankan:
npm install apigee-access --save
Fungsi
Fungsi apigee-access getVault() digunakan untuk mengambil vault tertentu, baik per organisasi maupun berdasarkan lingkungan saat ini tempat kode Node.js berjalan.
getVault() menggunakan dua parameter:
- Nama penyimpanan aman yang akan diambil.
- Cakupan, yang dapat berupa
organizationatauenvironment. Jika tidak ditentukan,organizationakan diasumsikan.
Objek yang ditampilkan oleh getVault() memiliki dua fungsi:
- getKeys(callback): Menampilkan array yang berisi nama semua kunci di vault yang ditentukan. Fungsi callback akan dipanggil dengan dua argumen: Error jika the operasi gagal, atau "undefined" jika tidak, dan array sebenarnya sebagai argumen kedua.
- get(key, callback): Menampilkan nilai aman yang terkait dengan kunci tertentu. Fungsi callback akan dipanggil dengan dua argumen: Error jika operasi gagal, atau "undefined" jika tidak, dan nilai sebenarnya sebagai argumen kedua.
Contoh
Berikut adalah contoh Node.js yang menunjukkan cara mendapatkan nilai dari vault. Modul
apigee-access diinstal agar kode ini berfungsi, seperti yang dijelaskan
sebelumnya.
var apigee = require('apigee-access'); var orgVault = apigee.getVault('vault1', 'organization'); orgVault.get('key1', function(err, secretValue) { // use the secret value here });