问题描述
通过STS认证方式访问OSS时,提供了不是同一个AssumeRole接口请求返回的安全令牌(Security Token)与临时访问密钥AccessKey。
问题原因
您使用了STS的认证方式访问OSS,但是提供的安全令牌与临时访问密钥AccessKey不正确。
问题示例
通过STS AccessKey ID以URL签名的方式发起请求,但是请求URL中通过
security-token
字段携带的安全令牌与STS服务返回的安全令牌不一致。通过STS AccessKey ID以Header签名的方式发起请求,但是请求头中通过
x-oss-security-token
字段携带的安全令牌与STS服务返回的安全令牌不一致。
解决方案
您可以通过以下步骤实现通过STS认证的方式发起请求:
通过STS的AssumeRole接口或者STS的SDK获取临时访问凭证。
临时访问凭证包括临时访问密钥(AccessKey ID和AccessKey Secret)以及安全令牌(Security Token)。获取临时访问凭证的具体操作,请参见使用STS临时访问凭证访问OSS。
通过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****
重要
请确保请求中使用的security-token与OSSAccessKeyId是同一个AssumeRole接口请求返回的安全令牌与临时访问密钥AccessKey。
文档内容是否对您有帮助?