解决:阿里云 OSS 存储访问报错 AccessDenied

目录

问题

解决


问题

使用阿里云的 OSS 的客户端 SDK上传了一个文件,访问存储地址时遇到如下报错信息:

<Error>
<Code>AccessDenied</Code>
<Message>You have no right to access this object because of bucket acl.</Message>
<RequestId>622FF5149849B43239F0C519</RequestId>
<HostId>bucketbylz.oss-cn-beijing.aliyuncs.com</HostId>
</Error>

报错截图:

解决

实际上,文件已经上传成功了,只是访问权限有限制。

我们可以在存储桶中找到对应的文件,点开“详情”,修改文件读写权限为“公共读”,如果不修改,一般默认是“继承 Bucket”。

修改之后,就可以正常访问下载了。

但是这样的修改方式,只对单个文件访问生效,我们更倾向于对于整个存储桶配置全局生效,应该怎么做呢?

可以在阿里云后台的“权限管理”-“读写权限”中,把 Bucket ACL 修改为 “公共读”,然后保存即可。具体操作如下图所示:

 ⚠️注意:这种修改方式只对存储桶中后边上传和存储的文件权限生效,原来已经存在的文件的访问权限是不变的。


作者简介:😄大家好,我是 Data-Mining(liuzhen007),是一位典型的音视频技术爱好者,前后就职于传统广电巨头和音视频互联网公司,具有丰富的音视频直播和点播相关经验,对 WebRTC、FFmpeg 和 Electron 有非常深入的了解,😄公众号:玩转音视频。同时也是 CSDN 博客专家、华为云享专家(共创编辑)、InfoQ 签约作者,欢迎关注我分享更多干货!😄

### 解决阿里云上传文件时权限被拒绝的问题 当遇到 `Permission denied` 错误时,这通常意味着当前操作缺乏必要的访问权限来执行特定的操作。对于阿里云环境中的文件上传问题,可以从以下几个方面着手解决问题: #### 1. 文件系统权限设置不当 如果尝试通过 PHP 的 `move_uploaded_file()` 函数移动已上传的临时文件到指定位置失败并抛出了 "Permission denied" 错误,则可能是目标目录或其父级目录的权限配置不正确[^1]。 为了修正这个问题,可以调整服务器上的相应路径权限,确保 Web 服务进程拥有足够的读写权限。具体做法如下: - 使用命令行工具 SSH 登录至服务器; - 执行 `chmod` 或者 `chown` 命令更改文件夹及其子资源的所有权和访问模式;例如,赋予 www-data 用户组对 `/var/www/html/uploads/` 路径下的所有内容完全控制权可以通过下面这条指令完成: ```bash sudo chown -R www-data:www-data /var/www/html/uploads/ ``` #### 2. 存储网关策略未开放适当权限 针对 Linux 下挂载 NFS 共享存储时报错的情况,在确认客户端 IP 地址已被加入导出列表之后仍然收到 “Permission denied”的反馈信息的话,可能是因为缺少合适的 ACL(Access Control List)规则所致[^4]。 此时应该检查 ECS 实例所关联的安全组以及 OSS Bucket Policy 是否允许来自本地网络的数据传输请求,并按照官方文档指导添加相应的授权声明以授予应用程序所需的最小化权限集。 #### 3. 应用程序层面的身份验证机制失效 有时即使基础设施层面上一切正常,但如果应用本身依赖于某种形式的身份认证方式来进行对象存储空间内的 CRUD 操作,那么一旦密钥过期或是角色绑定关系发生变化也会引发类似的异常现象。 因此建议定期审核 API Key 生命周期管理状况,及时更新任何即将到期的秘密凭证,并且遵循最佳实践仅分配给开发者最低限度的功能接口调用许可。 综上所述,要彻底根治此类难题需综合考虑多方面的因素,从操作系统内核参数优化直至云端服务平台安全策略定制均不可忽视任何一个环节的影响作用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Data-Mining

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值