0002-00000003

问题描述

您使用了STS类型的AccessKey ID,但是未采用STS的认证方式发起请求。

问题原因

使用了STS类型的AccessKey ID,但是未在请求中附上SecurityToken字段表明使用了STS的认证方式。

问题示例

  • 通过STS AccessKey IDURL签名的方式发起请求,但是未在URL中的携带security-token字段。

  • 通过STS AccessKey IDHeader签名的方式发起请求,但是未在请求头中携带x-oss-security-tokenHeader。

解决方案

您可以通过以下步骤实现通过STS认证的方式发起请求:

  1. 通过STSAssumeRole接口或者STSSDK获取临时访问凭证。

    临时访问凭证包括临时访问密钥(AccessKey IDAccessKey Secret)以及安全令牌(Security Token)。获取临时访问凭证的具体操作,请参见使用STS临时访问凭证访问OSS

  2. 通过SDK或者REST API的方式发起基于STS认证的请求。例如:

https://examplebucket.oss-cn-hangzhou.aliyuncs.com/oss-api.pdf?OSSAccessKeyId=STS.nz2pc56s936****&Expires=1141889120&Signature=vjbyPxybdZaNmGa%2ByT272YEAiv****&security-token=CAISowJ1q6Ft5B2yfSjIr5bgIOz31blR9oWmWBfCs3kDR/xm3Imc1zz2IHxMdHJsCeAcs/Q0lGFR5/sflqJIRoReREvCUcZr8szfWcsZos2T1fau5Jko1be0ewHKeQKZsebWZ+LmNpy/Ht6md1HDkAJq3LL+bk/Mdle5MJqP+/kFC9MMRVuAcCZhDtVbLRcYgq18D3bKMuu3ORPHm3fZCFES2jBxkmRi86+ysIP+phPVlw/90fRH5dazcJW0Zsx0OJo6Wcq+3+FqM6DQlTNM6hwNtoUO1fYUommb54nDXwQIvUjfbtC5qIM/cFVLAYEhALNBofTGkvl1h/fejYyfyWwWYbkFCHiPFNr9kJCUSbr4a4sjF6zyPnPWycyCLYXleLzhxPWd/2kagAGaXG69BqwYNvrKKI3W8weP3bNc1wQDMXQfiHpFCRG6lYhh3iXFtpwH90A3sTlxzRGvi8+9p63JwrluOHWs+Fj6S6s0cOhKvKRWYE8UuWeXIvv4l6DAGwHDE8BLjLC11f5prUJgI2wb+3hwuBod32Jx+us/1p996Glao725orcb****