Stai visualizzando la documentazione di Apigee Edge.
Consulta la
documentazione di Apigee X. info
Utilizzo delle API del servizio di archiviazione sicura
Il servizio di archiviazione sicura ti consente di archiviare dati sensibili, come le credenziali di sicurezza per i servizi di backend, in formato criptato in modo che siano protetti da un utilizzo non autorizzato. Queste aree di archiviazione sicura sono chiamate "vault" e possono essere limitate ai livelli di organizzazione o ambiente su Apigee Edge.
Ad esempio, l'archivio sicuro può essere utilizzato per archiviare una password richiesta da un'applicazione Node.js per raggiungere una risorsa protetta, come un server di database. Puoi archiviare la password nell'archivio sicuro tramite un'API prima del deployment e l'applicazione può cercare il valore in fase di runtime.
In questo modo, non è necessario includere la password nel sistema di controllo del codice sorgente o eseguirne il deployment insieme al codice sorgente Node.js in Apigee Edge. Il valore viene invece archiviato da Apigee in formato criptato e verrà recuperato solo quando l'applicazione ne avrà bisogno.
Per la documentazione sulle API dell'archivio sicuro, consulta Vault. Le sezioni seguenti forniscono anche una panoramica sull'utilizzo dell'API dell'archivio sicuro.
Archiviazione dei dati per organizzazione
Ogni organizzazione Apigee Edge ha un insieme di archivi sicuri e ogni ambiente ha un archivio aggiuntivo. In questo modo, le organizzazioni che hanno requisiti di sicurezza diversi per backend diversi possono archiviare valori sicuri diversi. Questa sezione descrive l'archiviazione per organizzazione.
Utilizzo
- Recupera i nomi di tutti gli archivi sicuri:
GET /o/{organization}/vaults
- Recupera un elenco di voci (ma non i relativi valori criptati) da un vault denominato.
GET /o/{organization}/vaults/{name}
-
Recupera una singola voce (ma non il relativo valore criptato).
GET /o/{organization}/vaults/{name}/entries/{entryname}
-
Crea un nuovo vault denominato "nome" senza valori:
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
-
Inserisci una nuova voce nel vault con il nome e il valore sicuro specificati.
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
-
Sostituisci il valore della voce specificata con un nuovo valore:
PUT /o/{organization}/vaults/{vaultname}/entries/{entryname} curl https://api.enterprise.apigee.com/v1/o/testorg/vaults/test2/entries/value1 -d 'verymoresecret' -X PUT
-
Restituisce "true" se il valore specificato corrisponde a quello già presente nell'archivio e "false" se non corrisponde. In entrambi i casi, viene utilizzato un codice di stato HTTP 200. Può essere utilizzato per convalidare i contenuti del datastore. Tieni presente che, una volta archiviato, non esiste un'API per recuperare il valore non criptato:
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
- Elimina la voce del vault specificata:
DELETE /o/{organization}/vaults/{vaultname}/entries/{entryname}
-
Elimina l'intero vault.
DELETE /o/{organization}/vaults/{name}
Archiviazione dei dati per ambiente
Puoi anche archiviare i dati per ambiente Apigee Edge. In questo caso, i dati sono limitati a un ambiente (ad esempio "prod"). Con questa funzionalità, in fase di runtime è possibile archiviare valori diversi a seconda di dove viene eseguito lo script Node.js.
Utilizzo
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}
Recupero dei valori dal datastore sicuro in Node.js
Installazione di apigee-access
Per utilizzare apigee-access nel codice Node.js, devi prima installarlo. Ad esempio:
- Esegui il comando cd nella directory principale del progetto.
- Esegui:
npm install apigee-access --save
Funzioni
La funzione apigee-access getVault() viene utilizzata per recuperare un determinato vault, per organizzazione o in base all'ambiente corrente in cui viene eseguito il codice Node.js.
getVault() accetta due parametri:
- Il nome dell'archivio sicuro da recuperare.
- L'ambito, che può essere
organizationoenvironment. Se non specificato, viene presuppostoorganization.
L'oggetto restituito da getVault() ha due funzioni:
- getKeys(callback): restituisce un array contenente i nomi di tutte le chiavi nel vault specificato. La funzione di callback verrà chiamata con due argomenti: un errore se l' operazione non riesce o "undefined" in caso contrario e l'array effettivo come secondo argomento.
- get(key, callback): restituisce il valore sicuro associato a una determinata chiave. La funzione di callback verrà chiamata con due argomenti: un errore se l'operazione non riesce, o "undefined" in caso contrario e il valore effettivo come secondo argomento.
Esempio
Ecco un esempio di Node.js che mostra come ottenere un valore da un vault. Per il funzionamento di questo codice, è necessario installare il modulo
apigee-access, come spiegato
in precedenza.
var apigee = require('apigee-access'); var orgVault = apigee.getVault('vault1', 'organization'); orgVault.get('key1', function(err, secretValue) { // use the secret value here });