すべてのプロダクト
Search
ドキュメントセンター

:OSSサーバーに署名すると、「指定したOSSアクセスキーIdがレコードに存在しません。」が直接送信に表示されます。エラーメッセージ

最終更新日:Dec 22, 2023

発行

サーバーへの署名後の直接転送のベストプラクティスを使用して、OSS web側でPostObjectを直接渡すと、次のエラーが発生します。

<エラー>
  <Code>InvalidAccessKeyId</Code>
  <メッセージ> 指定したOSSアクセスキーIdはレコードに存在しません。</Message>
  <RequestId>60AE1FFE8CFD483135961F65</RequestId>
  <HostId> BucketName.oss-cn-beijing.aliyuncs.com</HostId>
  <OSSAccessKeyId>STS.XXXXX4kYP8Vh2iXXXXXX</OSSAccessKeyId>
</エラー> 

トラブルシューティングプロセス

  1. PostObjectフォームのアップロードを使用しているため、ブラウザーで開発者ツールを開いて問題を再現し、[ネットワーク] をクリックしてフォームデータのデータを表示する必要があります。
  2. フォームのOSSAccessKeyId値は、SecurityTokenがなく、STSのAccessKeyIdが1つだけであることを示しています。 STSは、AccessKeyId、AccessKeySecret、およびSecurityTokenで構成されます。 したがって、SecurityTokenが渡されないためにエラーが発生したと判断できます。

原因

通常、STSプロンプト「指定したOSSアクセスキーIdがレコードに存在しません」というエラーは、SecurityTokenを渡さないことが原因です。

修正

PostObjectフォームを使用してアップロードする場合、STSを使用する場合は、x-oss-security-tokenフィールドをフォームに追加する必要があります。 x-oss-security-tokenフィールドの値は、STSのSecurityTokenです。 詳細については、「PostObject APIドキュメント」をご参照ください。

参考資料

STSが提供する一時的な資格情報を使用してOSSにアクセスする

適用範囲

  • OSS