Cómo usar el almacenamiento seguro

Estás viendo la documentación de Apigee Edge.
Ve a 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 para y servicios de backend, en formato encriptado, para protegerlos del uso no autorizado. Estos se denominan “bóvedas” y pueden limitarse a la organización o niveles de entorno en Apigee Edge.

Por ejemplo, el almacén seguro se puede usar para almacenar una contraseña requerida por una instancia de Node.js aplicación para alcanzar un recurso protegido, como un servidor de base de datos. Puedes almacenar el en un 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.

Por lo tanto, al hacer esto, no es necesario incluir la contraseña en el control de código fuente. o implementarlo junto con el código fuente de Node.js en Apigee Edge. En cambio, el valor es que Apigee almacena de forma encriptada y solo se recuperará cuando la aplicación necesite que la modifica.

Para obtener más información sobre las APIs de Secure Store, consulta Vault. En las siguientes secciones, también se proporciona una descripción general del uso 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 tienda adicional. Así, las organizaciones que tienen distintos requisitos de seguridad los 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) desde una bóveda con nombre
GET /o/{organization}/vaults/{name}
  • Recupera 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 seguros 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 con 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 el valor "true" si el valor especificado coincide con lo que ya está en la tienda y es “false” si pero no lo hace. En ambos casos, se usa el código de estado HTTP 200. Esto se puede usar para validar los contenidos de la tienda. Ten en cuenta que una vez almacenado, no hay API para recuperar el archivo valor:

    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 Vault 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 por entorno de Apigee Edge. En este caso, el alcance de los datos se define entorno (como “prod”). Con esta función, en el tiempo de ejecución, se pueden almacenar dependiendo de 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}

Recuperar valores del almacén seguro en Node.js

Instalación apigee-access

Para usar apigee-access en el código de Node.js, debes instalarlo antes de empezar. Por ejemplo:

  1. cd al directorio raíz de tu proyecto.
  2. Ejecuta npm install apigee-access --save

Funciones

La función getVault() de apigee-access se usa para recuperar un almacén en particular, ya sea por 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 o environment. Si no es así se especifica, entonces se supone que es organization.

El objeto que devuelve getVault() tiene dos funciones:

  • getKeys(callback): Muestra un array que contiene los nombres de todas las claves. en la bóveda especificada. Se llamará a la función de devolución de llamada con dos argumentos: un error si la falla la operación o "indefinido" en caso contrario, y el array real como segundo argumento.
  • get(clave, devolución de llamada): Muestra el valor seguro asociado con un . Se llamará a la función de devolución de llamada con dos argumentos: un error si la operación falla. o "indefinido" en caso contrario, 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 Se instaló el módulo apigee-access para que funcione este código, como se explica anteriormente.

var apigee = require('apigee-access');
   var orgVault = apigee.getVault('vault1', 'organization');
   orgVault.get('key1', function(err, secretValue) {
   // use the secret value here
});