前言:现在大多数互联网公司都会用阿里云oss,但是有些公司对于上传的文件安全性要求性较高,有些文件的URL不能够随便被用户访问到,这就用到了oss的权限控制
一,阿里云oss权限控制方式有:读写权限,Bucket 授权策略,访问控制 RAM,防盗链,跨域设置
这个可以直接登陆阿里云控制台oss的权限管理设置,其中我们主要去了解读写权限
二,读写权限:
对象存储OSS提供Bucket级别的权限访问控制。
Bucket目前有三种访问权限:public-read-write(公共读写),public-read(公共读)和private(私有读写)
考虑到对于文件的安全性,我们这里使用私有acl,这样的效果就是对每个文件的url做了一个临时授权,每次获取的url都是有过期时间的,默认是300s,失效后访问就会提示没有权限,这就能满足url被分享出去之后还能访问
从Java中实现,也可以对过期时间设置
上传或者每次获取url的时候设置过期时间
OSSClient ossClient = new OSSClient("endpoint","accessKeyId","accessKeySecret");
String url = ossClient.generatePresignedUrl(bucketName, fileName, expiration).toString();
三:公共读,也可生成临时授权url,实现控制的效果,但是如果去掉url拼接的字符串,还是能永久访问,所以不建议使用