Esta é a documentação do Apigee Edge.
Acesse
Documentação da Apigee X. informações
Como usar as APIs de serviço de armazenamento seguro
O serviço de armazenamento seguro permite armazenar dados sensíveis, como credenciais de segurança para serviços de back-end, em formato criptografado, para que sejam protegidos contra uso não autorizado. Esses essas áreas de armazenamento seguro são chamadas de "cofres" e podem ter o escopo da organização ou níveis de ambiente no Apigee Edge.
Por exemplo, o armazenamento seguro pode ser usado para armazenar uma senha exigida por um Node.js aplicativo para alcançar um recurso protegido, como um servidor de banco de dados. É possível armazenar no armazenamento seguro por meio de uma API antes da implantação, e o aplicativo pode procurar o valor no ambiente de execução.
Ao fazer isso, não há necessidade de incluir a senha no controle de código-fonte ou implantá-lo junto com o código-fonte Node.js no Apigee Edge. Em vez disso, o valor é armazenados pela Apigee em formato criptografado e só serão recuperados quando o aplicativo precisar reimplantá-lo.
Para ver a documentação sobre as APIs de armazenamento seguro, consulte Vaults. As seções a seguir também apresentam uma visão geral do uso a API de armazenamento seguro.
Armazenamento de dados por organização
Cada organização do Apigee Edge tem um conjunto de armazenamentos seguros, e cada ambiente tem uma armazenamento adicional. Dessa forma, as organizações que têm requisitos de segurança diferentes back-ends podem armazenar valores de segurança diferentes. Nesta seção, descrevemos o armazenamento por organização.
Uso
- Recupere os nomes de todos os armazenamentos seguros:
GET /o/{organization}/vaults
- Recuperar uma lista de entradas (mas não os valores criptografados) de um cofre nomeado.
GET /o/{organization}/vaults/{name}
-
Recupera uma única entrada (mas não seu valor criptografado).
GET /o/{organization}/vaults/{name}/entries/{entryname}
-
Crie um novo cofre chamado "name" sem 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
-
Fazer uma nova entrada no cofre com o nome especificado e o 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
-
Substitua o valor da entrada especificada por um novo valor:
PUT /o/{organization}/vaults/{vaultname}/entries/{entryname} curl https://api.enterprise.apigee.com/v1/o/testorg/vaults/test2/entries/value1 -d 'verymoresecret' -X PUT
-
Retornar "true" se o valor especificado corresponder ao que já está no repositório, e "false" se mas não tem. Nos dois casos, é usado o código de status HTTP 200. Isso pode ser usado para validar o conteúdo da loja. Depois de armazenado, não há API para recuperar os dados não criptografados :
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
- Exclua a entrada do Vault especificada:
DELETE /o/{organization}/vaults/{vaultname}/entries/{entryname}
-
Excluir todo o cofre.
DELETE /o/{organization}/vaults/{name}
Como armazenar dados por ambiente
Também é possível armazenar dados por ambiente do Apigee Edge. Nesse caso, o escopo dos dados é delimitado de produção (como "prod"). Com esse recurso, diferentes valores podem ser armazenados no ambiente de execução dependendo do local em que o script em Node.js é executado.
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}
A recuperação de valores do armazenamento seguro em Node.js
Instalação apigee-access
Para usar apigee-access
no seu código Node.js, você precisa instalá-lo
primeiro. Exemplo:
- cd para o diretório raiz do seu projeto.
- Execute:
npm install apigee-access --save
Funções
A função apigee-access getVault() é usada para recuperar um determinado cofre por organização ou com base no ambiente atual em que o código Node.js está sendo executado.
getVault() recebe dois parâmetros:
- O nome do armazenamento seguro a ser recuperado.
- O escopo, que pode ser
organization
ouenvironment
. Caso contrário especificado,organization
é usado.
O objeto retornado por getVault() tem duas funções:
- getKeys(callback): retorna uma matriz contendo os nomes de todas as chaves na no cofre especificado. A função de retorno de chamada será chamada com dois argumentos: um erro se o falha na operação ou o estado "indefinido" caso contrário, e a matriz real como o segundo argumento.
- get(key, callback): retorna o valor seguro associado a uma determinada de dados. A função de callback será chamada com dois argumentos: um erro se a operação falhar; ou "indefinido" caso contrário, e o valor real como segundo argumento.
Exemplo
Este é um exemplo de Node.js que demonstra como receber um valor de um Vault. A
O módulo apigee-access
foi instalado para que esse código funcione, conforme explicado
antes.
var apigee = require('apigee-access'); var orgVault = apigee.getVault('vault1', 'organization'); orgVault.get('key1', function(err, secretValue) { // use the secret value here });