问题描述
STS请求中的AccessKey ID不存在。
问题原因
您发起了STS请求,但是所用的AccessKey ID不正确。
您使用了正确的AccessKey来发起基于RAM用户的认证请求,但是在请求中误加了SecurityToken参数,导致被OSS判断为STS请求,且所提供的AccessKey ID不是STS服务返回的临时访问凭证中的AccessKey ID,进而导致错误。
AccessKey ID已过期。
问题示例
您希望通过STS的方式进行请求的签名认证,但是所用的AccessKey ID是RAM用户的AccessKey ID,不是STS服务返回的临时凭证中的AccessKey ID。
您希望通过RAM用户的方式进行认证,但是请求URL中包含了
security-token
字段或在请求头中包含了x-oss-security-token
字段,导致被OSS判断为STS请求。您使用了STS返回的AccessKey ID对OSS发起请求,但是AccessKey ID已过期。
解决方案
如果希望采用STS的认证方式,需要确认所使用的AccessKey ID与STS服务所返回的临时凭证中的AccessKey ID保持一致。具体操作,请参见使用STS临时访问凭证访问OSS。
如果希望采用RAM用户的认证方式,则需要保证调用SDK请求函数或发起URL签名请求时,不提交Security Token参数。即URL参数中不能包括
security-token
字段,且请求头中也不能包含x-oss-security-token
字段。具体操作,请参见使用RAM用户访问密钥发起请求。请求STS重新获取临时访问凭证。具体操作,请参见使用STS临时访问凭证访问OSS。
文档内容是否对您有帮助?