簡體   English   中英

如何僅允許特定用戶訪問Amazon S3上的內容

[英]How to allow only a specific user to access a content on Amazon S3

我是Amazon S3的新手。 我需要一些S3存儲解決方案的幫助。 這是我的問題。

我在Amazon S3中創建了一個存儲桶。 現在每個人都可以訪問我的存儲桶URL(例如https://BUCKET_NAME.s3.amazonaws.com ),他們可以看到存儲桶中的所有文件。 我只希望我的移動應用用戶能夠查看/查看/下載存儲桶中的文件。 但是,如果我阻止文件/將存儲桶中的文件設置為私有,我的移動應用程序用戶將無法查看他/她的文件。

所以問題是:

  • 有沒有辦法保護對AWS S3的訪問? 或者我如何只允許特定用戶訪問Amazon S3上的內容? 它是服務器端身份驗證還是其他什么?

如果你知道怎么做,你能告訴我一個例子嗎? 謝謝 :)

注意 :我使用Parse JavaScript SDK,AWS S3,AWS EC2,Elastic beanstalk和Ionic 2與Angular 2。

如果您認為我錯過了任何細節,請告訴我,以便我可以添加:)

有多個選項可用於保護特定用戶的訪問權限。

  • 如果您使用的是AWS Cognito,則可以使用AWS JavaScript SDK使用IAM策略授予對S3中特定存儲桶和對象的訪問權限,並在使用AWS Cognito(或通過Cognito聯合)通過Angular應用程序進行身份驗證后臨時訪問您收到的憑據。
  • 您還可以使用AWS CloudFront 簽名URL簽名Cookie來保護對S3對象的訪問。 要使用后端端點(對於經過身份驗證的用戶)訪問內容,您可以生成簽名URL或簽名Cookie,Angular應用程序將使用它來通過CloudFront訪問S3。
  • 另一種選擇是從服務器端訪問S3並返回文件(與其他方法相比,這將大大增加服務器的開銷,因此除非您有特定的方案在檢索之前動態修改文件或內容,否則不建議這樣做)
  • 您還可以使用AWS API Gateway作為S3的代理來提供文件。 這里有10MB的文件大小限制,因為API網關最多可以傳輸10MB的文件。

您可以通過S3桶訪問特定的IAM角色。 因此,創建一個新用戶並將IAM策略附加到該用戶。 使用該角色配置Lambda。 如果需要,您可以創建多個角色取決於每種用戶類型(示例: - 對移動用戶唯一的角色,桌面用戶的另一個角色等)

在此處詳細了解如何限制Amazon S3 Bucket訪問特定IAM角色

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM