前言:現在大多數互聯網公司都會用阿里雲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拼接的字符串,還是能永久訪問,所以不建議使用