OSS通过使用AccessKey ID、AccessKey Secret对称加密的方法来验证某个请求的发送者身份。
AccessKey包含AccessKey ID和AccessKey Secret。其中,AccessKey ID用于标识用户,AccessKey Secret是用户用于加密签名字符串和OSS用来验证签名字符串的密钥,AccessKey Secret必须保密。AccessKey根据所属账号的类型有所区分。
- 阿里云账号AccessKey:每个阿里云账号提供的AccessKey对拥有的资源有完全的权限。
- RAM用户AccessKey:RAM账户由阿里云账号授权生成,所用的AccessKey拥有对特定资源限定的操作权限。
- STS临时访问凭证:通过STS服务生成的临时访问凭证包括安全令牌 (SecurityToken)、临时访问密钥STS AccessKey(AccessKey ID和AccessKey Secret)。所用的AccessKey在限定时间内拥有对特定资源限定的操作权限。临时访问凭证过期后,权限将自动失效。
当您以个人身份向OSS发送请求时,首先需要将发送的请求按照OSS指定的格式生成签名字符串,然后使用AccessKey Secret对签名字符串进行加密产生验证码。OSS收到请求后,通过AccessKey ID找到对应的AccessKey Secret,并以同样的方法提取签名字符串和验证码。如果计算出来的验证码和提供的一致则认为该请求有效;否则,OSS将拒绝处理这次请求,并返回HTTP 403错误。
有关OSS权限控制的更多信息,请参见权限控制概述。