Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Laravel “执行错误”;PutObject“;拉雷维尔8-403禁止_Laravel_Amazon S3 - Fatal编程技术网

Laravel “执行错误”;PutObject“;拉雷维尔8-403禁止

Laravel “执行错误”;PutObject“;拉雷维尔8-403禁止,laravel,amazon-s3,Laravel,Amazon S3,我创建了一个IAM用户,只是为了将文件上传到S3,获得了API密钥,但仍然出现了这个错误 "Error executing \"PutObject\" on \"https://s3.us-east-2.amazonaws.com/webroker.docs/13262668885/132626688851621017504.png\"; AWS HTTP error: Client error: `PUT https://s3.us-east-

我创建了一个IAM用户,只是为了将文件上传到S3,获得了API密钥,但仍然出现了这个错误

"Error executing \"PutObject\" on \"https://s3.us-east-2.amazonaws.com/webroker.docs/13262668885/132626688851621017504.png\"; AWS HTTP error: Client error: `PUT https://s3.us-east-2.amazonaws.com/webroker.docs/13262668885/132626688851621017504.png` resulted in a `403 Forbidden` response:\n<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Error><Code>AccessDenied</Code><Message>Access Denied</Message><RequestId>GV1QDJ (truncated...)\n AccessDenied (client): Access Denied - <?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Error><Code>AccessDenied</Code><Message>Access Denied</Message><RequestId>GV1QDJRW9NPAH9FY</RequestId><HostId>QHLSDFzDW7M9cXRU0P4feTKkCTIrLAeD/5zSosdUvncWiPV+IHbzSstufswsapqNuhZMmkhUFBs=</HostId></Error>"
我可以看到很多人面临着和我一样的问题,根本没有结论。。。任何人 提前谢谢! 这是我创建的策略代码

{
“版本”:“2012-10-17”,
“Id”:“保单1621017443264”,
“声明”:[
{
“Sid”:“Stmt1621017435001”,
“效果”:“允许”,
“委托人”:{
“AWS”:“arn:AWS:iam::676893604682:用户/webroker上载”
},
“行动”:“s3:*”,
“资源”:“arn:aws:s3:::webroker.docs”
}
]
}

您的bucket策略中似乎没有提供对象级访问

对于读写访问,请尝试以下操作:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "ListObjectsInBucket",
            "Effect": "Allow",
            "Principal": {
              "AWS": "arn:aws:iam::676893604682:user/webroker-upload"
            },
            "Action": ["s3:ListBucket"],
            "Resource": ["arn:aws:s3:::webroker.docs"]
        },
        {
            "Sid": "AllObjectActions",
            "Effect": "Allow",
            "Principal": {
              "AWS": "arn:aws:iam::676893604682:user/webroker-upload"
            },
            "Action": "s3:*Object",
            "Resource": ["arn:aws:s3:::webroker.docs/*"]
        }
    ]
}
如果您只需要PutObject,可以使用:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "WriteActions",
            "Effect": "Allow",
            "Principal": {
              "AWS": "arn:aws:iam::676893604682:user/webroker-upload"
            },
            "Action": "s3:PutObject*",
            "Resource": ["arn:aws:s3:::webroker.docs/*"]
        }
    ]
}

否,收到相同的错误消息:
“在…上执行\“PutObject\”时出错…导致了一个'403 Forbidden'响应:\n\n
AccessDenied
我想到了一些问题…我应该在AWS的生产服务器上测试它,还是可以在我的开发本地计算机上测试它?