+
37
-

阿里云的oss对象存储如何增加url授权访问限制?

阿里云的oss对象存储如何增加url授权访问限制?

我想要争取的oss的url后面跟一个授权码才能正常访问获取数据,怎么设置?

网友回复

+
16
-

阿里云 OSS 公开读(public-read) 的文件默认是任何人都可直接访问的,无法直接在 URL 后加“授权码”来限制访问——因为公开文件的设计就是无鉴权访问。

但你可以通过以下 两种主流方案 实现“带授权码才能访问”的效果:

方案一:改用私有文件 + 生成带签名的临时 URL(推荐 )

这是阿里云官方推荐的安全做法:

原理:

将文件权限设为 private(私有)

通过你的服务端(PHP/Python/Node.js 等)生成一个 带签名的临时 URL,URL 中包含:

过期时间(如 30 分钟后失效)

OSS 签名(相当于“授权码”)

用户访问这个 URL 时,OSS 验证签名和时间,合法则返回文件。

生成带签名 URL 的示例(Python):
from datetime import datetime, timedelta
from aliyunsdkcore.client import AcsClient
from aliyunsdkoss.request.v20190517 import GeneratePresignedUrlRequest

# 或更简单:使用 oss2 SDK
import oss2

auth = oss2.Auth('<your-access-key-id>', '<your-access-key-secret>')
bucket = oss2.Bucket(auth, 'https://oss-cn-beijing.aliyu...

点击查看剩余70%

我知道答案,我要回答