397
微信
访问OSS__访问与控制_开发人员指南_对象存储 OSS-阿里云
OSS访问的URL
OSS是基于HTTP API的对象存储,您在进行所有的操作的时候都需要指定访问的OSS资源,这个资源可以是Bucket,也可以是Object。在访问的时候,是以URL的形式来表示OSS的资源的。OSS的URL构成如下:
<Schema>://<Bucket>.<Endpoint>/<Object> 三级域名访问方式
Schema:值为HTTP或者为HTTPS
Bucket:用户的OSS存储空间
Endpoint:用户的Bucket所在数据中心的访问域名
Object:用户上传在OSS上的文件
注意:
- 这里的Endpoint需要和Bucket所在的数据中心(Region)一致。也就是说:如果Bucket创建在杭州,就需要使用杭州的Endpoint,不能使用其他区域的Endpoint。
- ECS访问OSS可以使用同区域OSS的内网Endpoint。Region和对应Endpoint的列表可以参考 访问域名。
假如用户使用HTTPS请求杭州的OSS,Bucket名字叫oss-sample, Object名字叫mytest/oss-test-object,那么用户访问的三级域名为:
https://oss-sample.oss-cn-hangzhou.aliyuncs.com/mytest/oss-test-object
用户可以直接将Object的URL链接放入HTML中使用,如下所示:
<img src="https://oss-example.oss-cn-hangzhou.aliyuncs.com/aliyun-logo.png" />
OSS访问的安全性
对OSS的HTTP请求可以根据是否携带身份验证信息分为两种请求。一种是带身份验证的请求,一种是不带身份验证的匿名请求。带身份验证的请求表示的是如下两种情况:
- 请求头部中带Authorization,格式为OSS + AccessKeyId + 签名字符串。
- 请求的URL中带OSS AccessKeyId和Signature字段。
OSS访问验证流程
匿名请求访问流程
- 用户的请求被发送到OSS的HTTP服务器上。
- OSS根据URL解析出Bucket和Object。
- OSS检查Object是否设置了ACL。
- 如果没有设置ACL,那么继续 4。
- 如果设置了ACL,则判断Object的ACL是否允许匿名用户访问。
- 允许则跳到 5。
- 不允许则拒绝请求,请求结束。
- OSS判断Bucket的ACL是否允许匿名用户访问。
- 允许则继续 5。
- 不允许则返回,请求结束。
- 权限验证通过,返回Object的内容给用户。
带身份验证请求访问流程
- 用户的请求被发送到OSS的HTTP服务器上。
- OSS根据URL解析出Bucket和Object。
- OSS根据请求的OSS的AccessKeyId获取请求者的相关身份信息,进行身份鉴权。
- 如果未获取成功,则返回,请求结束。
- 如果获取成功,但请求者不被允许访问此资源,则返回,请求结束。
- 如果获取成功,但OSS端根据请求的HTTP参数,计算的签名和请求发送的签名字符串不匹配,则返回,请求结束。
- 如果身份鉴权成功,那么继续 4.
- OSS检查Object是否设置了ACL。
- 如果Object没有设置ACL,那么继续 5。
- 如果Object设置了ACL,OSS判断Object的ACL是否允许匿名用户访问。
- 允许则跳到 6。
- 不允许则拒绝请求,请求结束。
- OSS判断Bucket的ACL是否允许匿名用户访问。
- 允许则继续 6。
- 不允许则返回,请求结束。
- 权限验证通过,返回Object的内容给用户。
带身份验证访问OSS的三种方法
- 使用控制台访问OSS:控制台中对用户隐藏了身份验证的细节,使用控制台访问OSS的用户无需关注细节。
- 使用SDK访问OSS:OSS提供了多种开发语言的SDK,SDK中实现了签名算法,只需要将AK信息作为参数输入即可。
- 根据API访问OSS:如果您想用自己喜欢的语言来封装调用RESTful API接口,您需要实现签名算法来计算签名。具体的签名算法可以参考API手册中的 在Header中包含签名 和 在URL中包含签名。
关于AccessKey相关的解释及更详细的身份验证的操作请参见 访问控制。
最后更新:2016-11-23 16:04:09
上一篇:
访问域名__访问与控制_开发人员指南_对象存储 OSS-阿里云
下一篇:
访问域名和数据中心__开发人员指南_对象存储 OSS-阿里云
查看监控数据__站点监控_用户指南_云监控-阿里云
云资源授权__安全管理_快速入门_数据管理-阿里云
CopyObject__关于Object操作_API 参考_对象存储 OSS-阿里云
配置说明__产品简介_负载均衡-阿里云
修改API分组__API分组相关接口_API_API 网关-阿里云
全系Skylake 阿里云华北5地十月开服
DeleteTrail__实例相关接口_API参考_操作审计-阿里云
重建集群实例__SDK接口说明_Python版SDK_批量计算-阿里云
2.3 特色功能__第二章 基本概念_使用手册_分析型数据库-阿里云
公共响应头__API-Reference_日志服务-阿里云
相关内容
常见错误说明__附录_大数据计算服务-阿里云
发送短信接口__API使用手册_短信服务-阿里云
接口文档__Android_安全组件教程_移动安全-阿里云
运营商错误码(联通)__常见问题_短信服务-阿里云
设置短信模板__使用手册_短信服务-阿里云
OSS 权限问题及排查__常见错误及排除_最佳实践_对象存储 OSS-阿里云
消息通知__操作指南_批量计算-阿里云
设备端快速接入(MQTT)__快速开始_阿里云物联网套件-阿里云
查询API调用流量数据__API管理相关接口_API_API 网关-阿里云
使用STS访问__JavaScript-SDK_SDK 参考_对象存储 OSS-阿里云