一般来讲,OBS 的访问者包括Bucket的所有者和第三方用户:
匿名访问和带签名访问
匿名访问是指在请求的HTTP Header中不需提供任何与身份相关的信息。带签名访问是指在请求的HTTP Header中需提供AccessKey和SecretKey等相关信息。OBS 通过验证 AccessKey 和SecretKey来确认请求者的身份。AccessKey用于标识用户,SecretKey是用于加密签名字符串和 OBS 用来验证签名字符串的密钥,其中 SecretKey必须保密。对于 OBS 来说,该签名可以是Bucket 的所有者(主账户或子账户)申请的 AK、SK,及被 Bucket 的所有者通过 RAM 授权给第三方用户的 AK、SK。您可以在OBS的控制台中查看存储桶的AK和SK,具体方式请参考查询存储空间信息。
如何控制访问Bucket中的Object,具体方法如下:
访问者身份鉴权
访问者身份鉴权是指根据HTTP请求的 Header中的签名信息鉴别访问者的权限。只有鉴权通过才允许相应访问请求。OBS的访问控制流程如下图示。OBS接收到访问请求后,先判断Bucket的读写权限: