Przeglądasz dokumentację Apigee Edge.
Przejdź do
Dokumentacja Apigee X. informacje.
Korzystanie z interfejsów API usługi bezpiecznego sklepu
Usługa bezpiecznego magazynu umożliwia przechowywanie danych wrażliwych, takich jak dane uwierzytelniające w postaci zaszyfrowanej, aby były chronione przed nieuprawnionym użyciem. Te bezpieczne obszary przechowywania są nazywane „magazynami” i mogą być ograniczone do organizacji lub poziomów środowiska w Apigee Edge
W bezpiecznym magazynie można na przykład przechowywać hasło wymagane przez środowisko Node.js aplikacji w celu uzyskania dostępu do chronionego zasobu, takiego jak serwer bazy danych. Możesz przechowywać hasła w bezpiecznym magazynie przy użyciu interfejsu API przed wdrożeniem, a aplikacja może wyszukać jego wartość w czasie działania.
Dzięki temu nie ma potrzeby umieszczania hasła w ustawieniach kodu źródłowego. lub wdrożyć ją w Apigee Edge razem z kodem źródłowym Node.js. Zamiast tego wartość to przechowywane przez Apigee w zaszyfrowanej postaci i będzie pobierane tylko wtedy, gdy aplikacja wymaga .
Dokumentację interfejsów API bezpiecznego sklepu znajdziesz w artykule Vault. W sekcjach poniżej znajdziesz też omówienie korzystania bezpiecznego sklepu API.
Przechowywanie danych według organizacja
Każda organizacja Apigee Edge ma zbiór bezpiecznych magazynów, a każde środowisko ma swój zbiór z dodatkowym sklepem. Dzięki temu organizacje, które mają różne wymagania dotyczące zabezpieczeń w przypadku różnych mogą przechowywać różne bezpieczne wartości. W tej sekcji opisano przechowywanie według organizacji.
Wykorzystanie
- Pobierz nazwy wszystkich bezpiecznych magazynów:
GET /o/{organization}/vaults
- Pobierz listę wpisów (ale nie ich zaszyfrowane wartości) z nazwanego magazynu.
GET /o/{organization}/vaults/{name}
-
Pobierz pojedynczy wpis (ale nie jego zaszyfrowaną wartość).
GET /o/{organization}/vaults/{name}/entries/{entryname}
-
Utwórz nowy magazyn o nazwie „name” bez wartości:
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
-
Umieść w magazynie nowy wpis o określonej nazwie i bezpiecznej wartości.
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
-
Zastąp wartość określonego wpisu nową wartością:
PUT /o/{organization}/vaults/{vaultname}/entries/{entryname} curl https://api.enterprise.apigee.com/v1/o/testorg/vaults/test2/entries/value1 -d 'verymoresecret' -X PUT
-
Zwraca wartość „true” (prawda) jeśli określona wartość jest zgodna z tym, co jest już w sklepie, oraz „false” (fałsz). jeśli jednak nie. W obu przypadkach używany jest kod stanu HTTP 200. Może służyć do weryfikacji zawartość sklepu. Pamiętaj, że po zapisaniu nie ma interfejsu API umożliwiającego pobranie niezaszyfrowanego pliku wartość:
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
- Usuń określony wpis w Vault:
DELETE /o/{organization}/vaults/{vaultname}/entries/{entryname}
-
Usuń cały skarbiec.
DELETE /o/{organization}/vaults/{name}
Przechowywanie danych według środowiska
Dane możesz też przechowywać w środowisku Apigee Edge. W takim przypadku dane są ograniczone do (np. „prod”). Dzięki tej funkcji w czasie działania zapisywane są różne wartości w zależności od tego, gdzie działa skrypt Node.js.
Wykorzystanie
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}
Pobieram wartości z zabezpieczonego magazynu w Node.js
Instaluję apigee-access
Aby używać dodatku apigee-access
w kodzie Node.js, musisz go zainstalować
. Na przykład:
- cd do katalogu głównego projektu.
- Wykonaj:
npm install apigee-access --save
Funkcje
Funkcja apigee-access getVault() służy do pobierania konkretnego Vault, zarówno na organizacji lub na podstawie bieżącego środowiska, w którym działa kod Node.js.
getVault() ma dwa parametry:
- Nazwa bezpiecznego magazynu do pobrania.
- Zakres, którym może być
organization
lubenvironment
. Jeśli nie, została podana, przyjmuje się, że wartość toorganization
.
Obiekt zwracany przez metodę getVault() ma dwie funkcje:
- getKeys(callback): zwraca tablicę zawierającą nazwy wszystkich kluczy w argumencie w określonym schowku. Funkcja wywołania zwrotnego zostanie wywołana z dwoma argumentami: błąd, jeśli niepowodzenie operacji lub wartość „niezdefiniowana” jeśli tak nie jest, oraz tablica jako drugi argument.
- get(key, callback): zwraca bezpieczną wartość powiązaną z określoną . Funkcja wywołania zwrotnego jest wywoływana z dwoma argumentami: błąd w przypadku niepowodzenia, lub „niezdefiniowany” jeśli tak nie jest, i wartość rzeczywistą jako drugi argument.
Przykład
Oto przykład środowiska Node.js, który pokazuje, jak pobrać wartość z Vault.
Aby ten kod działał zgodnie z opisem, został zainstalowany moduł apigee-access
wcześniej.
var apigee = require('apigee-access'); var orgVault = apigee.getVault('vault1', 'organization'); orgVault.get('key1', function(err, secretValue) { // use the secret value here });