Güvenli depoyu kullanma

Apigee Edge belgelerini görüntülüyorsunuz.
Apigee X belgelerine gidin.
bilgi

Güvenli depo hizmeti API'lerini kullanma

Güvenli depolama hizmeti, arka uç hizmetleri için güvenlik kimlik bilgileri gibi hassas verileri, yetkisiz kullanıma karşı korunacak şekilde şifrelenmiş biçimde depolamanıza olanak tanır. Bu güvenli depolama alanlarına "kasa" adı verilir ve Apigee Edge'deki kuruluş veya ortam düzeyleri kapsama alınabilir.

Örneğin güvenli depolama, Node.js uygulamalarının veritabanı sunucusu gibi korumalı bir kaynağa erişmek için ihtiyaç duyduğu şifreyi depolamak için kullanılabilir. Dağıtımdan önce şifreyi bir API aracılığıyla güvenli depoda depolayabilirsiniz. Böylece uygulama, çalışma zamanında değeri arayabilir.

Böylece şifreyi kaynak kodu kontrol sistemine dahil etmenize veya Node.js kaynak koduyla birlikte Apigee Edge'e dağıtmanıza gerek kalmaz. Bunun yerine değer, Apigee tarafından şifrelenmiş biçimde depolanır ve yalnızca uygulama ihtiyaç duyduğunda alınır.

Güvenli depo API'leriyle ilgili dokümanlar için Apps Kasası sayfasına göz atın. Aşağıdaki bölümlerde, Secure store API'nin kullanımına genel bir bakış da sunulmuştur.

Verileri kuruluşa göre depolama

Her Apigee Edge kuruluşunun bir dizi güvenli deposu ve her ortamın bir ek deposu vardır. Böylece farklı arka uçlar için farklı güvenlik gereksinimleri olan kuruluşlar farklı güvenlik değerleri depolayabilir. Bu bölümde kuruluşa göre depolama açıklanmaktadır.

Kullanım

  • Tüm güvenli depoların adlarını alın:
GET /o/{organization}/vaults
  • Adlandırılmış bir kasadan giriş listesi (şifrelenmiş değerlerini değil) alın.
GET /o/{organization}/vaults/{name}
  • Tek bir girişi alın (ancak şifrelenmiş değerini almayın).

GET /o/{organization}/vaults/{name}/entries/{entryname}
  • Değer içermeyen "name" adlı yeni bir kasa oluşturun:

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
  • Kasaya belirtilen ad ve güvenlik değeriyle yeni bir giriş yerleştirin.

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
  • Belirtilen girişin değerini yeni bir değerle değiştirin:

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

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

  -d 'verymoresecret' -X PUT
  • Belirtilen değer mağazada bulunan değerle eşleşiyorsa "true" (doğru), eşleşmiyorsa "false" (yanlış) değerini döndürür. Her iki durumda da 200 HTTP durum kodu kullanılır. Bu bilgi, mağazanın içeriğini doğrulamak için kullanılabilir. Depolandıktan sonra, şifrelenmemiş değeri almak için bir API olmadığını unutmayın:

    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
    
  • Belirtilen Apps Kasası girişini silin:
DELETE /o/{organization}/vaults/{vaultname}/entries/{entryname}
  • Kasanın tamamını silin.

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

Verileri ortama göre depolama

Verileri Apigee Edge ortamına göre de depolayabilirsiniz. Bu durumda, verilerin kapsamı bir ortama (ör. "ürün") ayarlanır. Bu özellik sayesinde, çalışma zamanında Node.js komut dosyasının çalıştığı yere bağlı olarak farklı değerler depolanabilir.

Kullanım

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}

Node.js'de güvenli depodan değer alma

Apigee-access'i yükleme

Node.js kodunuzda apigee-access kullanmak için önce bu kodu yüklemeniz gerekir. Örneğin:

  1. cd'yi projenizin kök dizinine ekleyin.
  2. Yürütme: npm install apigee-access --save

İşlevler

Apigee-access getVault() işlevi, kuruluş bazında veya Node.js kodunun çalıştığı geçerli ortama göre belirli bir kasayı almak için kullanılır.

getVault() iki parametre alır:

  • Alınacak güvenli deponun adı.
  • organization veya environment olabilecek kapsam. Belirtilmezse organization olduğu varsayılır.

getVault() tarafından döndürülen nesnenin iki işlevi vardır:

  • getKeys(callback): Belirtilen kasadaki tüm anahtarların adlarını içeren bir dizi döndürür. Geri çağırma işlevi iki bağımsız değişkenle çağrılır: İşlem başarısız olursa bir hata, başarısız olursa "undefined" ve ikinci bağımsız değişken olarak gerçek dizi.
  • get(key, callback): Belirli bir anahtarla ilişkilendirilmiş güvenli değeri döndürür. Geri çağırma işlevi iki bağımsız değişkenle çağrılır: İşlem başarısız olursa bir hata, başarısız olursa "undefined" ve ikinci bağımsız değişken olarak gerçek değer.

Örnek

Kasadan nasıl değer alacağınızı gösteren bir Node.js örneğini burada bulabilirsiniz. apigee-access modülü, daha önce açıklandığı gibi bu kodun çalışması için yüklenir.

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