我正在研究如何使用AWS Cloudfront開發第三方可用於訪問存儲在S3存儲桶中的數據的API。AWS REST API設計
我環顧四周,找不到任何好的例子,如果這是可能的方式,我想實現它。
基本上我需要做的就是通過使用簽名URL 的HTTP請求來提供對S3存儲桶中的JSON數據的訪問,這些簽名使用爲Amazon身份和訪問管理控制檯中的每個用戶生成的訪問密鑰簽名。我然後 爲每個用戶分配用戶特定的策略,以定義他們可以訪問哪些存儲桶,文件夾和對象。
第三方是否有可能以這種方式訪問數據,而無需使用cloudfront API創建簽名url或成爲AWS賬戶持有人?
可我只是爲他們提供的URL對象和我產生這樣的要求會是這樣,他們可以通過瀏覽器訪問他們的特定訪問鍵:
https://www.example.com/examplebucket/examplefolder/exampleobject?key-pair-id=1111-1111-1111-1111
我已經試過這我自己但只能得到一個拒絕訪問錯誤 - 需要簽名,但我可以看到得到這個簽名的唯一方法是使用cloudfront API創建簽名網址的 。
任何人有任何想法,如果這種方法是可能的或更好的方法?
感謝
感謝Inmyth爲您的答案。將對象設置爲公共工程很好,但我需要限制對不同用戶的訪問,這就是爲什麼我想知道是否可以分配用戶和訪問權限,以允許用戶不使用Amazon API訪問數據。 – d199224
我修改了我的答案,並表示歉意。起初,我將你的問題解釋爲在沒有IAM的情況下提供公共訪問。但從您的評論和原始問題來看,Cloudfront API仍然是這種情況下最可行的方法。 – inmyth
謝謝inmyth,我現在對我的解決方案有更好的想法 – d199224