edit-icon download-icon

OSS の権限に関するトラブルシューティング

最終更新日: Jun 20, 2018

OSS エラー 403

OSS エラー 403 は、OSS から返された HTTP ステータスコードが 403 であることを示しています。このエラーが発生した場合、サーバーはリクエストを受信していますが、ユーザーにアクセス権限がないため、サービスの提供を拒否しています。OSS エラー 403 とその原因については、以下の表を参照してください。

エラー メッセージ 原因 解決策
SignatureDoesNotMatch ErrorCode: SignatureDoesNotMatch
ErrorMessage: 計算により求められたリクエスト署名と、提示された署名とが一致しません。キーと署名方法を確認してください。
クライアントの署名とサーバーで計算された署名が一致しません。 OSS エラー 403 とトラブルシューティング
PostObject ErrorCode: AccessDenied
ErrorMessage: ポリシーにより無効です。ポリシーの有効期限が切れています。
ErrorCode: AccessDenied
ErrorMessage: ポリシーにより無効です。ポリシーの条件に適合しませんでした。
PostObject に含まれるポリシーが無効です。 PostObject
Cors ErrorCode: AccessForbidden
ErrorMessage: CORSResponse: この CORS リクエストは許可されていません。このエラーは、通常、リソース側の CORS 仕様で、オリジンの評価、リクエストメソッド/Access-Control-Request-Method または Access-Control-Request-Headers がホワイトリストに登録されていない場合に発生します。
CORS が構成されていないか、正しく構成されていません。 OSS に対する CORS の設定
Refers ErrorCode: AccessDenied
ErrorMessage: バケットリファラーポリシーによって拒否されています。
バケットリファラーの設定を確認します。 OSS Anti-leech
AccessDenied 以下の「一般的な権限エラー」を参照してください。 権限がありません。 詳細については、以下の内容を参照してください。

エラー 403 には、権限エラーが含まれています。権限エラーは AccessDenied です。このタイプのエラーについては、以下に詳しく説明されています。

一般的な権限エラー

権限エラーは、現在、指定された操作に対して権限がないことを示しています。OSS から返されるエラーとその原因については、以下の表を参照してください。

SN エラー 原因
1 ErrorCode: AccessDenied
ErrorMessage: アクセスしようとしているバケットのアドレスは、指定されたエンドポイントを使用して指定する必要があります。今後、すべてのリクエストをこのエンドポイントに送信してください。
バケットがエンドポイントと一致しません。
2 ErrorCode: AccessDenied
ErrorMessage: バケットを一覧表示することは禁止されています。
listBuckets に対する権限がありません。
3 ErrorCode: AccessDenied
ErrorMessage: このオブジェクトに対して ACL の書き込み権限がありません。
setObjectAcl に対する権限がありません。
4 ErrorCode: AccessDenied
ErrorMessage: このオブジェクトに対して ACL の読み取り権限がありません。
getObjectAcl に対する権限がありません。
5 ErrorCode: AccessDenied
ErrorMessage: アクセスしたバケットは別のユーザーが所有しています。
サブアカウントには、バケットの管理権限 (getBucketAcl、CreateBucket、deleteBucket、setBucketReferer、getBucketReferer など) はありません。
6 ErrorCode: AccessDenied
ErrorMessage: バケット ACL のため、このオブジェクトにアクセスする権限がありません。
サブアカウント/一時的なアカウントには、putObject、getObject、appendObject、deleteObject、postObject などのオブジェクトにアクセスする権限はありません。
7 ErrorCode: AccessDenied
ErrorMessage: 権限付与ポリシーによってアクセスが拒否されています。
一時的なアカウントには、アクセス権限はありません。この一時的なアカウントのロールを引き受けるために指定された権限付与ポリシーには権限がありません。
8 ErrorCode: AccessDenied
ErrorMessage: このオブジェクトにアクセスする権限がありません。
サブアカウント/一時的なアカウントには、initiateMultipartUpload などの現在の操作に対する権限はありません。

権限エラーのトラブルシューティング

キーがプライマリユーザー、サブアカウント、または一時的なアカウントのいずれのキーであるか確認します。

  • プライマリユーザーのキーの確認をします。

    コンソールにログインし、AccessKeyID が存在するか確認します。存在しない場合は、プライマリユーザーのキーです。

  • サブアカウントの権限 (権限付与ポリシー) を確認します。

    コンソールにログインし、[Resource Access Management] > [ユーザー] > [管理] > [権限付与ポリシー] > [個人用権限付与ポリシー/グループ用権限付与ポリシー] に移動することで、権限を確認することができます。

[Resource Access Management] > [ユーザー] > [管理] > [ユーザーの詳細] > [ユーザーの AccessKey] に移動することで、サブアカウントの AccessKeyID とそれに対応するサブアカウントを確認することができます。

  • 一時的なアカウントの権限を確認します。

    一時的なアカウントの AccessKeyID は、”STS” で始まるため、簡単に見分けることができます (例: “STS.MpsSonrqGM8bGjR6CRKNMoHXe”)。キーがプライマリユーザーのキーであるかどうか確認するには、RAMコンソールにログインし、AccessKeyID が存在するかどうか確認する必要があります。存在する場合は、プライマリユーザーのキーです。存在しない場合は、サブアカウントのキーです。

権限を確認する手順:

  1. 必要な権限およびリソースを一覧表示します。
  2. [Action] に必要な操作が含まれているか確認します。
  3. [Resource] が必要な操作オブジェクトであるか確認します。
  4. [Effect] が “Deny” ではなく “Allow” であるか確認します。
  5. [Condition] が正しく設定されているか確認します。

確認しても問題を見つけることができない場合は、次の調整が必要になります。

  1. 条件が削除されていることを確認します。
  2. [Effect] の “Deny” を削除します。
  3. [Resource] を “Resource”: “*” に変更します。
  4. [Action] を “Action”: “oss:*” に変更します。

    注意