OSS对象储存

简介

  阿里云对象存储服务(Object Storage Service,简称 OSS),是阿里云提供的海量、安全、低成本、高可靠的云存储服务。

使用流程

  

名词解释

   Endpoint(访问域名)
  AccessKeyId(阿里云API的密钥)
  AccessKeySecret (与AccessKeyId对应)
  Bucket(存储空间)

OSS权限控制 

  • 账号级别权限
    • 阿里云账号AccessKey
    • RAM子账号AccessKey(避免泄露主账号的AccessKey,建议使用)
    • STS账号AccessKey
  • Bucket级别权限
    • public-read-write  公共读写
    • public-read  公共读,私有写
    • private  私有读写
  • Object级别权限(优先级高于Bucket)
    • public-read-write 公共读写
    • public-read 公共读,私有写
    • private 私有读写
    • default 默认权限 继承bucket

个人总结

  • 如果是私有权限的文件,客户端该如何访问?

1.在Header中包含签名

    

    2.在URL中包含签名

    

      注:如果多次请求该方法,每次返回的url都不一样

      例子:https://tts-oss-public.oss-cn-shenzhen.aliyuncs.com/test/f3a4a566197744a880383135bee0fccd1234.png?Expires=1524566570&OSSAccessKeyId=TMP.AQFXJvAkVfBaSwWi5a68tvgbrUVyzOH8_6w-YiOdGDYGxUhaBRowDx0ospaoAAAwLAIUNR8PTGbizu3ii_gFls2XEjyAdxgCFCO_85hsDtcnuzhKfXyb3ob4knFV&Signature=tb7w7K%2F%2FiKA4fYPHGieDOh99zUk%3D

  • OSS文件URL构成解释?  

    https://tts-oss-public.oss-cn-shenzhen.aliyuncs.com/test/123.png

扫描二维码关注公众号,回复: 5822844 查看本文章

    tts-oss-public:bucket名称,自定义,保存后不可更改,全局唯一
    oss-cn-shenzhen.aliyuncs.com:地域域名,在创建 Bucket 的时候指定的,指定之后不允许更改
    test:文件夹名,自定义,如果创建时带有 / 会自动创建
    123.png:文件名

  • bucket设置为私有,能否防止恶意下载?

    不能防止,一但对应资源的签名url对外暴露,在签名url有效期内就可以通过签名url下载对应的资源;

  • bucket私有,获取到的资源链接是否具有时效性?

    有时效性,一但过期就不可被访问

  • 获取到的资源链接是否可以永久有效?

    将bucket改为公共读/公共读写,获取到的object链接一般都是永久有效的,但是如果bucket私有要获取永久有效的链接,

      不支持也没意义(私有本身就是为了保证数据安全性,一定期限内可访问,一定程度上防止恶意下载,链接有效时间过长也就失去了对应的意义)。

  • 补充

    OSSClient是OSS服务的Java客户端,它为调用者提供一系列与OSS进行交互的接口,用于管理、操作存储空间(Bucket)和文件(Object)等OSS资源。

    •   
      // 创建OSSClient实例
      OSSClient client = new OSSClient(endpoint, accessKeyId, accessKeySecret);

    同一个存储空间的内部是扁平的,没有文件系统的目录等概念,所有的对象都直接隶属于其对应的存储空间。

猜你喜欢

转载自www.cnblogs.com/xhq1024/p/10676186.html