全部产品
阿里云办公

设置访问权限

更新时间:2018-07-24 15:02:51

OSS允许您对Object设置访问权限,方便您控制资源访问的方式。

对于Object,有四种访问权限:

  • default 继承所属的Bucket的访问权限,即与所属Bucket的访问权限一样
  • public-read-write 允许匿名用户读写该Object
  • public-read 允许匿名用户读该Object
  • private 不允许匿名访问,所有的访问都要经过签名

创建Object时,默认为default权限。之后用户可以通过putACL来设置Object的其他访问权限。

  1. let OSS = require('ali-oss')
  2. let client = new OSS({
  3. region: '<Your region>'
  4. accessKeyId: '<Your AccessKeyId>',
  5. accessKeySecret: '<Your AccessKeySecret>',
  6. bucket: '<Your bucket name>'
  7. });
  8. async function getACL () {
  9. try {
  10. let result = await client.getACL('my-object');
  11. console.log(result.acl); // default
  12. await client.putACL('my-object', 'public-read');
  13. let result = await client.getACL('my-object');
  14. console.log(result.acl); // public-read
  15. } catch (e) {
  16. console.log(e);
  17. }
  18. }
  19. getACL();

需要注意的是:

  1. 如果设置了Object的权限(非default),则访问该Object进行权限认证时会优先判断Object的权限,而Bucket的权限设置会被忽略。
  2. 允许匿名访问时(设置了public-read或者public-read-write权限),您可以通过浏览器直接访问,例如:

    1. http://bucket-name.oss-cn-hangzhou.aliyuncs.com/object.jpg

更多关于访问权限控制的内容请参考访问控制

本文导读目录