Korzystanie z bezpiecznego sklepu

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:

  1. cd do katalogu głównego projektu.
  2. 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 lub environment. Jeśli nie, została podana, przyjmuje się, że wartość to organization.

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
});