2016-02-17 47 views
1

我需要爲AWS Lambda功能發送另一個服務的密鑰和密碼。我可以將關鍵/祕密烘焙到函數中,但是,如果它們發生更改並且看起來不合乎要求,我必須重新發布Lambda函數。將敏感令牌安全地發送到SNS以用於Lambda

我通過SNS觸發了我的Lambda函數。所以,我的工作流程是:

  • 準備有效載荷
  • 發佈負載到SNS主題
  • LAMBDA運行接收的有效載荷,
  • LAMBDA使用的有效載荷提供的密鑰/祕密到另一個API執行必要的行動

我假設SNS發佈是通過HTTPS完成的,因此Server -> SNS topic將被加密。

我沒有看到具體叫出的是從SNS -> Lambda轉移。我可以再次假設它安全地完成了,但我正在尋找驗證。

我在AWS Lambda示例中爲Slack Echo Service所做的其他選項是使用AWS Key Management進行加密和解密。例如,使用python:

kms = boto3.client('kms') 
key = kms.decrypt(CiphertextBlob = b64decode(event["key"]))['Plaintext'] 
secret = kms.decrypt(CiphertextBlob = b64decode(event["secret"]))['Plaintext'] 

會使用Key Management Encryption Services是矯枉過正/甚至是必要的還是這裏我可以只發送有效載荷,讓HTTPS處理呢?

OR

我應該公開鞭笞甚至想送點東西就像一個鍵/祕密了SNS -> Lambda的,而是應該把它烤到lambda函數本身。

回答

0

我無法回答關於SNS-> Lambda加密的問題。我會假設,就像你一樣,這是通過HTTPS,但我認爲你需要聯繫AWS支持來獲得確認。

至於你的其他問題,我認爲KMS其實很適合這一點,而不一定是矯枉過正。您可能考慮的另一個選項是將密鑰存儲在DynamoDB中。我也看到有人建議在S3中存儲像這樣的Lambda配置數據。

+0

還剛剛發現這個迴應你的其他答案:https://www.quora.com/What-are-some-good-ways-to-store-configuration-properties-for-AWS-Lambda-functions。謝謝! –