如何疑難排解擁有公開讀取權的 Amazon S3 儲存貯體「403 存取遭拒」錯誤?

1 分的閱讀內容
0

我想要存取 Amazon Simple Storage Service (Amazon S3) 儲存貯體中的物件,該物件允許公開讀取權。但是,我收到「403 存取遭拒」的錯誤。

解決方案

如果您無法從公有 S3 儲存貯體存取物件,請執行 AWS Systems Manager 上的 AWSSupport-TroubleshootS3PublicRead 自動化執行手冊。這樣會有助於分析影響儲存儲存貯體和其物件的許可設定,例如儲存貯體政策和物件存取控制清單 (ACL)。

**注意事項:**AWSSupport-TroubleshootS3PublicRead 執行手冊會從公開讀取物件分析 403 錯誤。但不會評估私有物件的許可。

  1. 開啟 Systems Manager 主控台
  2. 在導覽窗格中,選擇「自動化」。
  3. 選擇「執行自動化」。
  4. 在「選擇文件」下,選擇「Amazon 擁有者」索引標籤。
  5. 在「自動化文件」搜尋列中,輸入 AWSSupport-TroubleshootS3PublicRead,然後按「Enter 鍵」。
  6. 選擇 AWSSupport-TroubleshootS3PublicRead
  7. 選擇「執行自動化」。
  8. 選擇「簡單執行」。
  9. (選用項目) 對於 AutomationAssumeRole,您可以選取 Systems Manager 擔任的 AWS Identity and Access Management (IAM) 角色,以將請求傳送至您的儲存貯體。如果您將此欄位保留空白,Systems Manager 即會使用您目前的 IAM 身分來設定執行手冊。
    **重要事項:**您選取的 IAM 角色信任政策必須允許 Systems Manager Automation 擔任該角色。此外,IAM 角色必須擁有執行手冊的必要許可。請參閱 AWSSupport-TroubleshootS3PublicRead 中的「必要 IAM 許可」一節。
  10. 針對 S3BucketName,輸入您想要疑難排解 S3 儲存貯體的名稱。
  11. (選用項目) 針對 S3PrefixName,您可以指定字首以進行分析。如果您將此欄位保留空白,則執行手冊會按字典順序列出儲存貯體並評估前幾個物件。
  12. (選用項目) 針對 StartAfter,您可以指定您想要執行手冊開始從其中列出的金鑰名稱。
  13. 針對 MaxObjects,輸入您想要執行手冊評估的物件數量上限。預設值為 5。
  14. 針對 IgnoreBlockPublicAccess,最佳實務是將該值保留為 false
    **警告:**如果您將值變更為 true,則這樣會忽略可能封鎖存取的「Amazon S3 封鎖公開存取」設定。
  15. 針對 HttpGet,如果您想要執行手冊為每個物件執行部分 HTTP GET 請求 (第一個位元組),則請將該值保留為 true。如果您想要執行手冊執行完整的 GET 請求,則請將該值變更為 false
  16. 針對 詳細資訊,若要在分析期間查看詳細資訊,請輸入 true。若要僅查看警告和錯誤訊息,請輸入 false
  17. (選用項目) 針對 CloudWatchLogGroupName,您可以輸入您想要傳送分析結果的 Amazon CloudWatch 日誌群組名稱。如果您指定名稱,但日誌群組不存在,則執行手冊會嘗試使用該名稱建立日誌群組。
  18. (選用項目) 針對 CloudWatchLogStreamName,您可以輸入您想要傳送分析結果的 CloudWatch 日誌串流名稱。如果您指定名稱,但日誌群組不存在,則執行手冊會嘗試使用該名稱建立日誌群組。如果您將此欄位保留空白,則執行手冊會將執行手冊的執行 ID 作為日誌串流名稱使用。
  19. 針對 ResourcePartition,選取 S3 儲存貯體所在的分區。選項為 awsaws-us-gov,或 aws-cn
  20. (選用項目) 針對「標籤」,輸入最多五個鍵值組標籤。
  21. 選擇「執行」。
  22. 使用「執行狀態」以追蹤執行手冊的進度。
  23. 狀態表示「成功」後,請檢閱「輸出」中列出的結果。結果可能會包括每個經過執行手冊評估物件的錯誤碼。使用這些錯誤碼以針對每個物件的匿名請求,診斷「存取遭拒」錯誤的原因。
    **提示:**若要檢閱評估中個別步驟的結果,請選擇「已執行步驟」下的相關步驟 ID。「已執行步驟」位於「執行狀態」下。
AWS 官方
AWS 官方已更新 6 個月前