2016-06-06 50 views
0

我做了幾個lambda函數返回html - 並通過網關函數將內容類型設置爲text/html - 以便我可以瀏覽它們。它效果很好。對瀏覽器的亞馬遜lambda權限

但是 - 我想要的是他們只能用使用我當前的環境亞馬遜會話。如果我將它們公開 - 他們工作,但爲所有人工作。如果我打開Iam並在那裏瀏覽,他們需要一個身份驗證令牌。

有什麼辦法可以實現我想要的嗎?

+0

*「我目前的環境亞馬遜會議」*沒有任何意義上的此類事情。您的控制檯會話僅是一個控制檯會話。除非控制檯爲您簽名URL,例如從存儲桶中下載S3對象,使用控制檯......但S3不知道該會話......服務端點對此「會話」沒有任何意義它收到了一個特定的有效簽名請求。 –

+0

嗯 - 這正是我想要的 - 我想使用控制檯會話 - 但我想你說它不能完成? –

回答

0

有幾件事情需要發生。

  1. API網關方法需要將Auth設置爲AWS_IAM。
  2. 確保您在Lambda函數的 配置設置中選擇了適當的角色。
  3. 該角色需要具有與您的 用戶關聯的信任關係。
  4. 確保您用戶的IAM密鑰(應具有適當的Lambda權限)位於您計算機上的相應位置。

候補:

  1. 您也可以嘗試在信任關係利用Cognito以及防止硬編碼的鑰匙在你的機器。
  2. 此外,如果它僅適用於您自己,則在API網關中將Auth設置爲none並生成API密鑰將會起作用。如果你打算在任何地方部署應用程序,請不要使用它。有人可以輕鬆地反編譯代碼並獲得密鑰。這應該純粹用於快速原型設計。
+0

從根本上說,我想我假設我不能在機器或瀏覽器上存儲任何東西的最重要的約束條件。基本上我想要做的就是構建一個wiki--我可以隨時通過「登錄」從任何瀏覽器或設備訪問。這完全是爲了我自己的目的,並且永遠如此,我確實希望它是安全的。我希望它在lambda上出於多種原因 - 其中最重要的是我要學習lambda。 –

+0

AWS Cognito會工作。它會在驗證登錄提供程序後頒發幾個小時的臨時密鑰。 –

+0

感謝 - 將谷歌,:) –