Você está vendo a documentação do Apigee Edge.
Acesse a
documentação da Apigee X. informações
Como usar as APIs do serviço de armazenamento seguro
O serviço de armazenamento seguro permite armazenar dados confidenciais, como credenciais de segurança para serviços de back-end, em formato criptografado. Assim, eles ficam protegidos contra uso não autorizado. Essas áreas de armazenamento seguras são chamadas de "seguros" e podem ser definidas para os níveis da organização ou do ambiente no Apigee Edge.
Por exemplo, o armazenamento seguro pode ser usado para armazenar uma senha exigida por um aplicativo Node.js para acessar um recurso protegido, como um servidor de banco de dados. É possível armazenar a senha 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 é necessário incluir a senha no sistema de controle de código-fonte ou implantá-la com o código-fonte do Node.js no Apigee Edge. Em vez disso, o valor é armazenado pela Apigee em formato criptografado e só será recuperado quando o aplicativo precisar dele.
Para ver a documentação sobre as APIs de armazenamento seguro, consulte Vaults. As seções a seguir também oferecem uma visão geral do uso da API Secure Store.
Como armazenar dados por organização
Cada organização do Apigee Edge tem um conjunto de armazenamentos seguros, e cada ambiente tem um armazenamento extra. Dessa forma, as organizações que têm requisitos de segurança distintos para back-ends distintos podem armazenar valores seguros distintos. 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}
-
Recuperar uma única entrada (mas não o valor criptografado dela).
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
-
Adicione uma nova entrada no cofre com o nome especificado e o valor protegido.
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
-
Retorna "true" se o valor especificado corresponde ao que já está na loja e "false" se não corresponder. Em ambos os casos, é usado um código de status HTTP 200. Isso pode ser usado para validar o conteúdo do repositório. Depois de armazenado, não há API para recuperar o valor não criptografado:
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
- Excluir a entrada do Vault especificada:
DELETE /o/{organization}/vaults/{vaultname}/entries/{entryname}
-
Excluir o cofre inteiro.
DELETE /o/{organization}/vaults/{name}
Como armazenar dados por ambiente
Também é possível armazenar dados pelo ambiente do Apigee Edge. Nesse caso, o escopo dos dados é definido para um ambiente (como "prod"). Com esse recurso, é possível armazenar diferentes valores no ambiente de execução, dependendo de onde o script Node.js está sendo 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}
Como recuperar valores do armazenamento seguro em Node.js
Instalando 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
remotas
A função apigee-access getVault() é usada para recuperar um cofre específico por organização ou com base no ambiente atual em que o código do Node.js está sendo executado.
getVault() usa dois parâmetros:
- O nome do armazenamento seguro a ser recuperado.
- O escopo, que pode ser
organization
ouenvironment
. Se não for especificado,organization
será usado.
O objeto retornado por getVault() tem duas funções:
- getKeys(callback): retorna uma matriz contendo os nomes de todas as chaves no Vault especificado. A função de callback é chamada com dois argumentos: um erro em caso de falha da operação ou "indefinida" em caso negativo e a matriz real como o segundo argumento.
- get(key, callback): retorna o valor seguro associado a uma chave específica. A função de callback será chamada com dois argumentos: um erro se a operação falhar, ou "indefinida" se não ocorrer, e o valor real como o segundo argumento.
Exemplo
Este é um exemplo em Node.js que demonstra como acessar um valor de um Vault. O
módulo apigee-access
está instalado para que esse código funcione, conforme explicado
anteriormente.
var apigee = require('apigee-access'); var orgVault = apigee.getVault('vault1', 'organization'); orgVault.get('key1', function(err, secretValue) { // use the secret value here });