Estás consultando la documentación de Apigee Edge.
Consulta la
documentación de Apigee X. Información
Usa las APIs del servicio de almacenamiento seguro
El servicio de almacenamiento seguro te permite almacenar datos sensibles, como credenciales de seguridad de servicios de backend, en formato encriptado para que estén protegidos contra usos no autorizados. Estas áreas de almacenamiento seguro se llaman “bóvedas” y pueden aplicarse a los niveles de la organización o del 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 y así 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 podrá buscar el valor en el entorno de ejecución.
Cuando haces esto, no es necesario incluir la contraseña en el sistema de control del código fuente ni implementarla junto con el código fuente de Node.js en Apigee Edge. En cambio, Apigee almacena el valor en formato encriptado y solo se recuperará cuando la aplicación lo necesite.
Para obtener documentación sobre las APIs de Secure Store, consulta Vaults. En las siguientes secciones, también se proporciona una descripción general del uso de la API de Secure Store.
Almacenamiento de 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 distintos 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
- Recuperar una lista de entradas (pero no sus valores encriptados) de una bóveda con nombre
GET /o/{organization}/vaults/{name}
-
Recuperar una sola entrada (pero no su valor encriptado)
GET /o/{organization}/vaults/{name}/entries/{entryname}
-
Crea una nueva bóveda llamada “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 nueva entrada en la bóveda con el nombre y el valor de seguridad especificados.
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 uno 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 la tienda y "false" si no coincide. En ambos casos, se usa el código de estado HTTP 200. Se puede usar para validar el contenido de la tienda. Ten en cuenta que una vez almacenado, no hay ninguna 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 de la bóveda especificada:
DELETE /o/{organization}/vaults/{vaultname}/entries/{entryname}
-
Borrar toda la bóveda
DELETE /o/{organization}/vaults/{name}
Almacenamiento de datos por entorno
También puedes almacenar datos en el entorno de Apigee Edge. En este caso, el alcance de los datos se define en un entorno (como “prod”). Con esta función, en el entorno 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 almacenamiento 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
remotas
La función apigee-access getVault() se usa para recuperar una bóveda 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
organization
oenvironment
. Si no se 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 la bóveda especificada. Se llamará a la función de devolución de llamada con dos argumentos: un error si la operación falla o "indefinido" si no funciona, y el array real como segundo argumento.
- get(key, callback): Muestra el valor seguro asociado con una clave determinada. Se llamará a la función de devolución de llamada con dos argumentos: un error si la operación falla o "indefinido" si no sucede, y el valor real como segundo argumento.
Ejemplo
Este es un ejemplo de Node.js que muestra cómo obtener un valor de una bóveda. El módulo apigee-access
se instala 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 });