2017-06-05 166 views
0

我想創建一個通過服務代理連接到s3的Api網關路由。AWS自定義授權lambda批准Api網關服務代理操作?

只有具有特定權限(存儲在DynamoDb表中)的經過身份驗證和授權的用戶(來自Cognito用戶池)才能夠上載文件。

由於我沒有使用S3作爲服務代理而不是lambda,因此可以將代碼與Dynamodb在自定義授權器lambda中進行檢查嗎? (令牌已經過驗證並且在發送成功回調之前)。

該查詢很簡單,基於Cognito用戶唯一標識,我檢查用戶是否有權上傳的表中。

我不想通過lambda函數完成上傳,因爲一些文件很大。

感謝

+1

是的,這很簡單,對我有意義。任何其他選項都不能真正允許您通過Dynamo表直接控制訪問。 –

回答

2

你也可以考慮S3桶

  • 設置CloudFront的盈。
  • 在API網關處使用IAM授權。
  • 編寫一個Lambda端點,用於檢查請求上下文中的Cognito ID與Dynamodb。
  • 返回來自Lambda的Signed URL,授權用戶可以直接從瀏覽器客戶端上傳文件到S3。
相關問題