Estás viendo la documentación de Apigee Edge.
Ir a la
documentación de Apigee X. info
Usa las APIs del servicio de almacén seguro
El servicio de almacén seguro te permite almacenar datos sensibles, como credenciales de seguridad para servicios de backend, en formato encriptado para que estén protegidos contra el uso no autorizado. Estas áreas de almacenamiento seguro se denominan "vaults" y se pueden definir en los niveles de organización o entorno en Apigee Edge.
Por ejemplo, el almacén seguro se puede usar para almacenar una contraseña que requiere una aplicación de Node.js para llegar a un recurso protegido, como un servidor de base de datos. Puedes almacenar la contraseña en el almacén seguro a través de una API antes de la implementación, y la aplicación puede buscar el valor en el tiempo de ejecución.
De esta manera, no es necesario incluir la contraseña en el sistema de control de código fuente ni implementarla junto con el código fuente de Node.js en Apigee Edge. En cambio, Apigee almacena el valor en forma encriptada y solo se recuperará cuando la aplicación lo necesite.
Para obtener documentación sobre las APIs del almacén seguro, consulta Vaults. En las siguientes secciones, también se proporciona una descripción general del uso de la API del almacén seguro.
Almacena datos por organización
Cada organización de Apigee Edge tiene un conjunto de almacenes seguros, y cada entorno tiene un almacén adicional. De esa manera, las organizaciones que tienen diferentes requisitos de seguridad para diferentes backends pueden almacenar diferentes valores seguros. En esta sección, se describe el almacenamiento por organización.
Uso
- Recupera los nombres de todos los almacenes seguros:
GET /o/{organization}/vaults
- Recupera una lista de entradas (pero no sus valores encriptados) de un vault con nombre.
GET /o/{organization}/vaults/{name}
-
Recupera una sola entrada (pero no su valor encriptado).
GET /o/{organization}/vaults/{name}/entries/{entryname}
-
Crea un vault nuevo llamado "name" sin valores:
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
-
Coloca una entrada nueva en el vault con el nombre especificado y el valor seguro.
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
-
Reemplaza el valor de la entrada especificada por un valor nuevo:
PUT /o/{organization}/vaults/{vaultname}/entries/{entryname} curl https://api.enterprise.apigee.com/v1/o/testorg/vaults/test2/entries/value1 -d 'verymoresecret' -X PUT
-
Muestra "true" si el valor especificado coincide con lo que ya está en el almacén y "false" si no lo hace. En ambos casos, se usa un código de estado HTTP 200. Esto se puede usar para validar el contenido del almacén. Ten en cuenta que, una vez almacenado, no hay una API para recuperar el valor sin encriptar:
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
- Borra la entrada del vault especificada:
DELETE /o/{organization}/vaults/{vaultname}/entries/{entryname}
-
Borra todo el vault.
DELETE /o/{organization}/vaults/{name}
Almacena datos por entorno
También puedes almacenar datos por entorno de Apigee Edge. En este caso, los datos se limitan a un entorno (como "prod"). Con esta función, en el tiempo de ejecución, se pueden almacenar diferentes valores según dónde se ejecute la secuencia de comandos de Node.js.
Uso
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}
Recupera valores del almacén seguro en Node.js
Instala apigee-access
Para usar apigee-access en tu código de Node.js, primero debes instalarlo. Por ejemplo:
- cd al directorio raíz de tu proyecto.
- Ejecuta
npm install apigee-access --save.
Funciones
La función apigee-access getVault() se usa para recuperar un vault en particular, ya sea por organización o según el entorno actual en el que se ejecuta el código de Node.js.
getVault() toma dos parámetros:
- El nombre del almacén seguro que se recuperará.
- El alcance, que puede ser
organizationoenvironment. Si no especifica, se supone que esorganization.
El objeto que muestra getVault() tiene dos funciones:
- getKeys(callback): Muestra un array que contiene los nombres de todas las claves de el vault especificado. Se llamará a la función de devolución de llamada con dos argumentos: un error si la operación falla o "undefined" si no lo hace, y el array real como segundo argumento.
- get(key, callback): Muestra el valor seguro asociado con una clave en particular. Se llamará a la función de devolución de llamada con dos argumentos: un error si la operación falla, o "undefined" si no lo hace, y el valor real como segundo argumento.
Ejemplo
Este es un ejemplo de Node.js que muestra cómo obtener un valor de un vault. El
apigee-access módulo está instalado para que este código funcione, como se explicó
anteriormente.
var apigee = require('apigee-access'); var orgVault = apigee.getVault('vault1', 'organization'); orgVault.get('key1', function(err, secretValue) { // use the secret value here });