簡體   English   中英

執行“ GetObjectAcl”時出錯,導致403禁止訪問被拒絕

[英]Error executing “GetObjectAcl” resulted in a 403 Forbidden Access Denied

我正在嘗試通過Laravel 5.5 / PHP 7將圖像從一個文件夾復制到Amazon S3中的另一個文件夾

$s3 = Storage::disk('s3');
$s3->copy('old_path/image.jpg', 'new_path/image.jpg');

而且我得到了錯誤:

Aws \ S3 \ Exception \ S3Exception
Error executing "GetObjectAcl" on "https://mybucket.s3.us-east-2.amazonaws.com/old_path/image.jpg?acl"; AWS HTTP error: Client error: `GET https://mybucket.s3.us-east-2.amazonaws.com/old_path/image.jpg` resulted in a `403 Forbidden` response: <?xml version="1.0" encoding="UTF-8"?> <Error><Code>AccessDenied</Code><Message>Access Denied</Message><RequestId>xxx (truncated...) AccessDenied (client): Access Denied - <?xml version="1.0" encoding="UTF-8"?> <Error><Code>AccessDenied</Code><Message>Access Denied</Message><RequestId>xxx</RequestId><HostId>xxx</HostId></Error>

我注意到查詢acl已自動附加到old_path/image.jpg ,您可以在錯誤消息https://mybucket.s3.us-east-2.amazonaws.com/old_path/image.jpg?acl看到它https://mybucket.s3.us-east-2.amazonaws.com/old_path/image.jpg?acl ,我懷疑這是導致錯誤的原因,因為可以通過URL https://mybucket.s3.us-east-2.amazonaws.com/old_path/image.jpg訪問該圖像,但不能通過該訪問?acl結束。

我不知道該怎么解決。 任何想法?!

通常,當您的Bucket-ACL不正確時會出現。 您的用戶沒有足夠的權限來獲取對象ACL。 您必須生成適當的存儲桶策略並將其插入到存儲桶中。

您可以使用生成器來創建策略。 如果您有一個,則可以擴展它們。

https://docs.aws.amazon.com/AmazonS3/latest/user-guide/add-bucket-policy.html

有時,為已定義的用戶設置正確的權限有點復雜,您必須嘗試一下。

暫無
暫無

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

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