簡體   English   中英

Rails 6.1 中 Active Storage 的公共訪問

[英]Public access for Active Storage in Rails 6.1

我在我的 Rails 站點上使用 Active Storage 和 AWS。 升級到 6.1 后,我想根據指南配置公共訪問權限,以便我的圖像具有永久 URL。

我已確定我需要保持現有服務原樣,以便之前上傳的圖像繼續工作。 我創建了一個新服務並將應用程序配置為像這樣使用它。

以前的圖像繼續這樣工作,但新圖像上傳會導致 Aws::S3::Errors::AccessDenied。 請注意,使用的憑據與以前的工作非公共服務中的憑據完全相同。 該指南提到存儲桶需要具有適當的權限,而不是確切需要設置的權限。

在 AWS 中,“阻止公共訪問(存儲桶設置)”部分全部設置為“關閉”。 在“訪問控制列表 (ACL)”中,“存儲桶所有者(您的 AWS 賬戶)”對“對象”和“存儲桶 ACL”都有“List, Write”。 沒有列出其他權限。 我嘗試將“所有人(公共訪問)”更改為包括“對象”的“列表”和“存儲桶 ACL”的“讀取”——似乎並沒有解決問題。

如何獲取與 Active Storage 一起使用的公共 URL?

從私有訪問切換到公共訪問時所需的權限是PutObjectAcl IAM 管理控制台中添加它可以使其工作。

此外,您可以通過 UI 或腳本將現有服務中的所有圖像標記為公共可讀,而不是創建新服務。

暫無
暫無

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

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