Sicheren Speicher verwenden

<ph type="x-smartling-placeholder"></ph> Sie sehen die Dokumentation zu Apigee Edge.
Gehen Sie zur Apigee X-Dokumentation.
Weitere Informationen

Secure Store Service APIs verwenden

Mit dem Secure Store-Dienst können Sie sensible Daten, wie Sicherheitsanmeldedaten für Back-End-Dienste in verschlüsselter Form zum Schutz vor unbefugter Nutzung. Diese werden als „Tresor“ bezeichnet und können entweder der Organisation und Umgebungsebenen in Apigee Edge.

Beispielsweise kann der sichere Speicher verwendet werden, um ein Passwort zu speichern, das für Node.js erforderlich ist. um eine geschützte Ressource zu erreichen, z. B. einen Datenbankserver. Sie können die über eine API im sicheren Speicher zu speichern und die Anwendung kann zur Laufzeit den Wert an.

Dadurch ist es nicht erforderlich, das Passwort in das Steuerelement des Quellcodes aufzunehmen. oder zusammen mit dem Node.js-Quellcode in Apigee Edge bereitstellen. Stattdessen lautet der Wert werden von Apigee in verschlüsselter Form gespeichert und werden nur abgerufen, wenn die Anwendung .

Dokumentation zu den Secure Store APIs finden Sie unter Vault. In den folgenden Abschnitten erhalten Sie auch einen Überblick über die Secure Store API.

Daten speichern nach Organisation

Jede Apigee Edge-Organisation hat eine Reihe sicherer Speicher und jede Umgebung hat einen zusätzliche Filiale. So haben Organisationen mit unterschiedlichen Sicherheitsanforderungen Back-Ends verschiedene sichere Werte speichern können. In diesem Abschnitt wird das Speichern nach Organisation beschrieben.

Nutzung

  • Rufen Sie die Namen aller sicheren Speicher ab:
GET /o/{organization}/vaults
  • Eine Liste von Einträgen (aber nicht ihrer verschlüsselten Werte) aus einem benannten Vault abrufen.
GET /o/{organization}/vaults/{name}
  • Rufen Sie einen einzelnen Eintrag ab (aber nicht seinen verschlüsselten Wert).

GET /o/{organization}/vaults/{name}/entries/{entryname}
  • Neuen Tresor mit dem Namen „name“ erstellen ohne Werte:

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
  • Platziert einen neuen Eintrag mit dem angegebenen Namen und dem sicheren Wert im Tresor.

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
  • Ersetzen Sie den Wert des angegebenen Eintrags durch einen neuen Wert:

PUT /o/{organization}/vaults/{vaultname}/entries/{entryname}

curl https://api.enterprise.apigee.com/v1/o/testorg/vaults/test2/entries/value1

  -d 'verymoresecret' -X PUT
  • Rückgabe von „true“ wenn der angegebene Wert mit dem übereinstimmt, was sich bereits im Store befindet, und „false“. wenn aber nicht. In beiden Fällen wird der HTTP-Statuscode 200 verwendet. Dies kann zur Validierung des Store-Inhalts angezeigt. Es gibt keine API zum Abrufen der unverschlüsselten Daten, nachdem sie gespeichert wurden. Wert:

    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
    
  • Löschen Sie den angegebenen Vault-Eintrag:
DELETE /o/{organization}/vaults/{vaultname}/entries/{entryname}
  • Löschen Sie den gesamten Tresor.

    DELETE /o/{organization}/vaults/{name}
    

Daten nach Umgebung speichern

Sie können Daten auch nach Apigee Edge-Umgebung speichern. In diesem Fall werden die Daten einem Umgebung (z. B. „prod“). Mit dieser Funktion können zur Laufzeit verschiedene Werte je nachdem, wo das Node.js-Skript ausgeführt wird.

Nutzung

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}

Werte aus dem sicheren Speicher abrufen in Node.js

Installieren apigee-access

Wenn Sie apigee-access in Ihrem Node.js-Code verwenden möchten, müssen Sie es installieren . Beispiel:

  1. cd in das Stammverzeichnis Ihres Projekts ein.
  2. Ausführen: npm install apigee-access --save

Funktionen

Die Funktion apigee-access getVault() wird verwendet, um einen bestimmten Tresor abzurufen, entweder pro Organisation oder basierend auf der aktuellen Umgebung, in der der Node.js-Code ausgeführt wird.

getVault() verwendet zwei Parameter:

  • Der Name des abzurufenden sicheren Speichers.
  • Der Bereich, der organization oder environment sein kann. Falls nicht angegeben ist, wird organization angenommen.

Das von getVault() zurückgegebene Objekt verfügt über zwei Funktionen:

  • getKeys(callback): Gibt ein Array zurück, das die Namen aller Schlüssel in in den angegebenen Tresor. Die Callback-Funktion wird mit zwei Argumenten aufgerufen: Ein Fehler, wenn das Vorgang schlägt fehl oder ist „nicht definiert“ und das tatsächliche Array als zweites Argument.
  • get(key, callback): gibt den sicheren Wert zurück, der mit einer bestimmten . Die Callback-Funktion wird mit zwei Argumenten aufgerufen: ein Fehler, wenn der Vorgang fehlschlägt, oder „nicht definiert“ und den tatsächlichen Wert als zweites Argument.

Beispiel

Hier ist ein Node.js-Beispiel, das zeigt, wie ein Wert aus einem Vault abgerufen wird. Die Das Modul apigee-access ist installiert, damit dieser Code funktioniert (siehe Erklärung) .

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