Utilizzare l'archivio protetto

Stai visualizzando la documentazione di Apigee Edge.
Vai alla sezione Documentazione di Apigee X.
Informazioni

Utilizzo delle API del servizio di archiviazione sicura

Il servizio di archiviazione sicura consente di archiviare dati sensibili, come le credenziali di sicurezza per servizi di backend in formato criptato, in modo da essere protetti dall'uso non autorizzato. Questi aree di archiviazione sicure sono chiamate "vault" e possono essere applicate all'organizzazione su Apigee Edge.

Ad esempio, l'archivio sicuro può essere utilizzato per archiviare una password richiesta da un file Node.js per raggiungere una risorsa protetta, come un server di database. Puoi archiviare in un archivio sicuro tramite un'API prima del deployment e l'applicazione può il valore in fase di runtime.

In questo modo, non è quindi necessario includere la password nel controllo del codice sorgente o di eseguirne il deployment insieme al codice sorgente Node.js su Apigee Edge. Il valore è invece archiviati da Apigee in formato criptato e verranno recuperati solo quando l'applicazione li annotino.

Per la documentazione sulle API di archiviazione sicura, consulta Vault. Anche le sezioni seguenti forniscono una panoramica sull'utilizzo l'API Secure Store.

Archiviazione dei dati per organizzazione

Ogni organizzazione Apigee Edge dispone di un insieme di archivi sicuri store aggiuntivo. In questo modo, le organizzazioni che hanno requisiti di sicurezza diversi possono archiviare diversi valori sicuri. 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 insieme di credenziali 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 "name" 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 nell'insieme di credenziali con il nome e il valore di sicurezza 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 quanto già presente nel negozio e "false" se non accade. In entrambi i casi, viene utilizzato un codice di stato HTTP 200. Può essere usato per convalidare i contenuti dello store. Tieni presente che, una volta archiviato, non esiste un'API per recuperare i dati non criptati valore:

    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 dell'insieme di credenziali specificata:
DELETE /o/{organization}/vaults/{vaultname}/entries/{entryname}
  • Elimina l'intero vault.

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

Archiviazione dei dati in base all'ambiente

Puoi anche archiviare i dati tramite l'ambiente Apigee Edge. In questo caso, l'ambito dei dati è (ad esempio "prod"). Questa funzione consente di memorizzare valori diversi in fase di runtime 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 dall'archivio sicuro in Node.js

Installazione... apigee-access

Per utilizzare apigee-access nel codice Node.js, devi installarlo per prima cosa. Ad esempio:

  1. cd alla directory root del progetto.
  2. Esegui: npm install apigee-access --save

Funzioni

La funzione apigee-access getVault() viene utilizzata per recuperare un particolare vault, dell'organizzazione o in base all'ambiente attuale in cui viene eseguito il codice Node.js.

getVault() richiede due parametri:

  • Il nome dell'archivio sicuro da recuperare.
  • L'ambito, che può essere organization o environment. In caso contrario viene specificato, si presume il valore organization.

L'oggetto restituito da getVault() ha due funzioni:

  • getKeys(callback): restituisce un array contenente i nomi di tutte le chiavi in del vault specificato. La funzione di callback viene chiamata con due argomenti: un errore se la funzione operazione non riuscita o "undefined" in caso contrario, e la matrice effettiva come secondo argomento.
  • get(key, callback): restituisce il valore sicuro associato a un determinato chiave. La funzione di callback viene 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. La Il modulo apigee-access è installato per consentire il funzionamento di questo codice, 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
});