このトピックでは、HTTPステータスコード403で返されるエラーの原因と、これらのエラーの解決策について説明します。
AccessDenied
アクセスしようとするバケットは、指定されたエンドポイントを使用してアドレス指定する必要があります。 将来のすべてのリクエストをこのエンドポイントに送信してください
原因: バケットへのアクセスに使用されるエンドポイントが正しくありません。
解決策: 正しいエンドポイントを使用してバケットにアクセスするようにしてください。 たとえば、中国 (杭州) リージョン (
oss-cn-Hangzhou
) のバケットにアクセスする場合は、リージョンのパブリックエンドポイントoss-cn-hangzhou.aliyuncs.com
を使用します。 エンドポイントの詳細については、「OSSドメイン名」をご参照ください。
この要求はkmsによって禁止されています
原因: Key Management Service (KMS) を使用する権限がありません。
解決策: カスタマーマスターキー (CMK) を使用する権限があることを確認してください。 詳細については、「サーバー側の暗号化」をご参照ください。
AccessDenied
原因: リソースにアクセスする権限がありません。
解決策:
リソースにアクセスするには、正しいAccessKey IDとAccessKey secretを使用していることを確認してください。 詳細については、「AccessKey の作成」をご参照ください。
RAMユーザーが、管理するバケットまたはオブジェクトに対して操作を実行する権限を持っていることを確認します。
このオブジェクトにアクセスする権利がありません
原因: 使用するRAMユーザーには、オブジェクトにアクセスする権限がありません。
解決策: 使用するRAMユーザーに、オブジェクト関連の操作を実行する権限があることを確認します。 さまざまなシナリオでアクセス許可を設定する方法の詳細については、「チュートリアル: RAMポリシーを使用してOSSへのアクセスを制御する」をご参照ください。
匿名ユーザーはこのバケットにアクセスする権利がありません
原因: 匿名ユーザーにはバケットにアクセスする権限がありません。
解決策: 匿名ユーザーにバケットへのアクセス権限を付与するバケットポリシーを設定します。 詳細については、「他のユーザーにOSSリソースへのアクセスを許可するバケットポリシーの設定」をご参照ください。
匿名ユーザーにはこのオブジェクトにアクセスする権利がありません
原因: 匿名ユーザーには、オブジェクトにアクセスする権限がありません。
解決策: 匿名ユーザーにバケット内の特定のリソースへのアクセス権限を付与するバケットポリシーを設定します。 詳細については、「他のユーザーにOSSリソースへのアクセスを許可するバケットポリシーの設定」をご参照ください。
バケットリファラーポリシーによって拒否されます
原因: リクエストが開始されたドメイン名がリファラーホワイトリストに含まれていません。
解決策: バケットのリファラーホワイトリストを設定し、空のリファラーフィールドを許可するかどうかを指定します。 これにより、リファラーホワイトリストに含まれるドメイン名からのリクエストのみがバケット内のリソースにアクセスできます。 詳細については、「バケットのホットリンク保護の設定」をご参照ください。
ポリシーに従って無効: ポリシー期限切れ
原因: PostObjectリクエストのポリシーフォームフィールドが無効です。
解決策: ポリシーフォームフィールドに有効な値を指定します。 PostObjectリクエストのポリシーフォームフィールドは、リクエストの有効性を確認するために使用されます。 ポリシーフォームフィールドの値は、UTF-8とBase64でエンコードされたJSON文字列です。 この値は、PostObjectリクエストに一致する必要がある条件を指定します。 次のコードは、PostObjectリクエストのポリシーフォームフィールドの例を示しています。
{ "expiration": "2014-12-01T12:00:00.000Z" 、 "conditions": [ {"bucket": "johnsmith" }, ["starts-with", "$key", "user/eric/"] ] }
ポリシーフォームフィールドで設定できる条件の詳細については、「PostObject」をご参照ください。
ポリシーに従って無効: ポリシー条件失敗: "+ RelatedUnit; // XXX
原因: ポリシーフォームフィールドで指定された条件が無効です。
解決策: ポリシーフォームフィールドで指定された条件が有効であることを確認してください。 ポリシーフォームフィールドで設定できる条件と条件の一致方法の詳細については、「PostObject」をご参照ください。
ポリシーに従って無効: ポリシー条件失敗: ["eq", "$Content-Type", "image/png"]
原因: アップロードするオブジェクトのタイプが、指定されたContent-type値と一致しません。
解決策: PolicyのContent-Typeヘッダーは、アップロードするオブジェクトのタイプを制限するために使用されます。 Content-Typeヘッダーをimage/pngに設定した場合、IMAGEまたはPNGタイプのオブジェクトのみをアップロードできます。 Content-Typeヘッダーをアップロードするオブジェクトのタイプに設定します。 Content-Typeヘッダーの有効な値の詳細については、「Content-Typeヘッダーの設定方法」をご参照ください。
ターゲットオブジェクトがソースオブジェクトと同じデータセンターに存在しない
原因: 異なるリージョンのバケット間でオブジェクトをコピーできません。
解決策: ソースバケットとターゲットバケットが同じリージョンにあることを確認してください。 詳細については、「CopyObject」をご参照ください。
クエリ文字列認証には、Signature、Expires、およびOSSAccessKeyIdパラメーターが必要です。
原因: 必要なパラメーターが署名付きURLに含まれていません。
解決策: 署名付きURLに、Signature、Expires、OSSAccessKeyIdのパラメーターを含めます。 例:
http://oss-example.oss-cn-hangzhou.aliyuncs.com/oss-api.pdf?OSSAccessKeyId=nz2pc56s936 **9l&Expires=1141889120&Signature=vjbyPxybdZaNmGa % 2ByT272YEAiv ****
詳細については、「URLへの署名の追加」をご参照ください。
無効な日付です。エポックからの秒数にしてください。
原因: Expiresパラメーターの値が無効です。
解決策: Expiresパラメーターに有効な値を指定します。 Expiresパラメーターは、URLの有効期限が切れる時点を指定します。 時刻はUNIX time形式に従います。 1970年1月1日木曜日00:00:00から経過した秒数です。 時刻はUTCです。
リクエストが期限切れ
原因: リクエストは期限切れです。
解決策: ビジネス要件に基づいてExpiresパラメーターを設定します。 オブジェクトをアップロードするときにExpiresパラメーターを設定する方法の詳細については、「PutObject」、「PostObject」、「AppendObject」、および「InitiateMultipartUpload」をご参照ください。
このオブジェクトに対する読み取り権限がありません
原因: オブジェクトの読み取り権限がありません。
解決策: オブジェクトの所有者に連絡して、オブジェクトの読み取り権限を取得します。
このオブジェクトに対する書き込み権限がありません
原因: オブジェクトに対する書き込み権限がありません。
解決策: オブジェクトの所有者に連絡して、オブジェクトに対する書き込み権限を取得します。
このオブジェクトに対する読み取りacl権限がありません
原因: オブジェクトのアクセス制御リスト (ACL) に対する読み取り権限がありません。
解決方法: オブジェクトの所有者に連絡して、オブジェクトに対してGetObjectACL操作を実行する権限を取得します。
このオブジェクトに対する書き込みアクセス許可がありません
原因: オブジェクトのACLに対する書き込み権限がありません。
解決策: オブジェクトの所有者に連絡して、オブジェクトに対してPutObjectACL操作を実行する権限を取得します。
バケットaclのため、このオブジェクトにアクセスする権利がありません
原因: オブジェクトにアクセスする権限がありません。
解決策: PutObject、GetObject、AppendObjectなど、オブジェクトに必要な権限を取得します。 詳細については、「RAMポリシーの一般的な例」をご参照ください。
この操作では匿名アクセスが禁止されています
原因: 匿名ユーザーには操作を実行する権限がありません。
解決策: 匿名ユーザーにバケット内の特定のリソースへのアクセス権限を付与するバケットポリシーを設定します。 詳細については、「他のユーザーにOSSリソースへのアクセスを許可するバケットポリシーの設定」をご参照ください。
バケットポリシーによるアクセス拒否
原因: バケットポリシーによってバケットへのアクセスが拒否されます。
解決策: ビジネス要件に基づいてバケットポリシーを設定します。 詳細については、「他のユーザーにOSSリソースへのアクセスを許可するバケットポリシーの設定」をご参照ください。
VPCエンドポイントポリシーによって拒否されたアクセス
原因: 仮想プライベートクラウド (VPC) に対してバケットポリシーが設定されています。 その結果、VPCで不正なバケットにアクセスすることはできません。
解決策: VPCに設定されているバケットポリシーを確認します。
階層名前空間が無効です
原因: バケットの階層名前空間機能が有効になっていません。
解決策: バケットを作成し、ディレクトリまたはオブジェクトの名前を変更するときに、階層名前空間機能を有効にします。 階層的名前空間機能を使用できるリージョンとシナリオの詳細については、「階層的名前空間の有効化」をご参照ください。
承認者のポリシーによって拒否されたアクセス
原因: この操作を実行する権限がありません。
解決策: Security Token Service (STS) から取得される一時的なアクセス資格情報の権限は、STSが提供する一時的な資格情報を使用してOSSトピックにアクセスする手順4と手順5で付与された重複する権限です。 次の例を使用して、これら2つの手順で構成した権限の共通部分を確認します。
例 1
手順4で
AliyunOSSFullAccess
ポリシーがロールにアタッチされ、手順5でoss:PutObject
権限が設定されている場合、一時的なアクセス資格情報にはoss:PutObject
権限が設定されます。 つまり、指定されたバケットにのみオブジェクトをアップロードできます。例 2
手順4でロールに
oss:PutObject
システム権限が付与され、手順5でoss:GetObject
権限が設定されている場合、一時的なアクセス資格情報には権限がありません。 つまり、指定されたバケットに対して操作を実行できません。
AccessForbidden
CORSResponse: このCORSリクエストは許可されていません。 これは通常、Origin、要求メソッド /Access-Control-request-method、またはAccess-Control-Requet-Headersの評価がリソースのCORS仕様によってホワイトリスト化されていないためです。
原因: バケットにクロスオリジンリソース共有 (CORS) が設定されていないか、設定されたCORSルールが正しくありません。
解決策: 詳細については、「CORSの設定」をご参照ください。
PermanentRedirect
アクセスしようとするバケットは、指定されたエンドポイントを使用してアドレス指定する必要があります。 将来のすべてのリクエストをこのエンドポイントに送信してください
原因: OSS SDKを使用してバケットにアクセスする場合、エンドポイントが指定されていないか、正しくないエンドポイントが指定されています。 たとえば、デフォルトのエンドポイント
oss-cn-hangzhou.aliyuncs.com
を使用して、中国 (青島) リージョンで作成したバケットにアクセスすると、エラーメッセージが返されます。解決策: バケットが配置されているリージョンのエンドポイントを使用して、バケットにアクセスします。 たとえば、中国 (杭州) および中国 (青島) リージョンのバケットにアクセスする場合は、リージョンごとにOSSClientインスタンスを作成することを推奨します。 中国 (杭州) リージョンのバケットへのアクセスに使用するOSSClientインスタンスに
oss-cn-hangzhou.aliyuncs.com
をoss-cn-qingdao.aliyuncs.com
し、中国 (青島) リージョンのバケットへのアクセスに使用するOSSClientインスタンスに追加します。
SecondLevelDomainForbidden
アクセスしようとしているバケットは、OSS第3レベルドメインを使用してアドレス指定する必要があります
原因: リクエストのドメイン名が第3レベルのドメイン名ではありません。
解決策: GetService (ListBuckets) 操作を実行するために送信するリクエストを除くすべてのリクエストに、バケットに関する情報を含む第3レベルのドメイン名を含めます。 バケットへのアクセスに使用されるドメイン名は、
BucketName.Endpoint
形式です。 BucketNameはバケットの名前を指定し、Endpointはバケットが配置されているリージョンのエンドポイントを指定します。 例:https://examplebucket.oss-cn-hangzhou.aliyuncs.com
。
仮想ホストスタイルを使用してアクセスしてください
原因: OSSへのアクセスに使用したURLが無効です。
解決策: 次の形式のURLを使用して、インターネット経由でOSSリソースにアクセスします。
<スキーマ>:// <バケット>.<パブリックエンドポイント>/<オブジェクト>
上記のURLでは、HTTPやHTTPSなど、オブジェクトへのアクセスに使用されるプロトコルを指定します。Bucketは、アクセスするオブジェクトが格納されているバケットの名前を指定します。たとえば、中国 (杭州) リージョンのexamplebucketという名前のバケットのdestfolderにある
example.txt
という名前のオブジェクトにアクセスする場合は、次のURLを使用できhttps://examplebucket.oss-cn-hangzhou.aliyuncs.com/destfolder/example.txt
。
NonStandardHostForbidden
ホストが無効です。 Open Storage Service標準ホストを使用してください
原因: OSSへのアクセスに使用されるドメイン名が無効です。
解決策: 標準ドメイン名を使用してOSSリソースにアクセスします。 詳細は、「OSSドメイン名」をご参照ください。
KmsUbsmsInvalidBid
アカウントパートナーにKMSサービスがありません
原因: KMSが有効化されていません。
解決策: KMSメソッドを使用してOSSのデータを暗号化する前に、SSE-KMSを有効にしてください。 詳細については、「専用KMSインスタンスの購入」をご参照ください。
KmsInDebt
現在のユーザーがお得です
原因: Alibaba Cloudアカウントに料金滞納があります。 通知が送信され、KMSへのアクセスが拒否されます。
解決策: KMSを使用する場合は、Alibaba Cloudアカウントに料金滞納がないことを確認してください。
WORMConfigurationLocked
WORM構成がロックされている
原因: ロックされた保持ポリシーを削除しようとします。
解決策: ロックされた保持ポリシーを削除しないでください。 ロックされた保持ポリシーは削除できません。 保持ポリシーで指定された保護期間は短縮できませんが、延長できます。 詳細については、「保持ポリシー」をご参照ください。
BucketNotBelongTo
あなたがアクセスするバケットはあなたに属していません
原因: あなたはバケットの所有者ではありません。
解決策: 操作を実行する前に、自分がバケットの所有者であることを確認してください。 バケット所有者のみが操作を実行できます。
InvalidAccessKeyId
指定したOSSアクセスキーIdは無効です
原因: AccessKey IDは無効です。
解決策: AccessKeyペアを有効にします。
指定したOSSアクセスキーIdがレコードに存在しません
原因: 一時的なアクセス資格情報の有効期限が切れると、AccessKeyペアが無効になります。
解決策: AccessKeyペアを使用して、アプリサーバーから新しい一時的なアクセス資格情報を申請します。 詳細については、「STSが提供する一時的な資格情報を使用したOSSへのアクセス」をご参照ください。
OSSアクセスキーIdには、英数字 [0-9a-zA-Z] といくつかの特殊文字 [._=] のみを受け入れる受け入れ不可文字が含まれています。
原因: AccessKey IDが無効です。
解決策: RAMユーザーまたはAlibaba CloudアカウントのAccessKey IDを入力します。 詳細については、「AccessKey の作成」をご参照ください。
SignatureDoesNotMatch
計算したリクエスト署名が、指定した署名と一致しません
原因: API操作を呼び出すか、OSS SDKを使用してOSSにアクセスする場合、クライアントはOSSサーバーがID認証を実行するための署名を含める必要があります。 サーバーが上記のエラーメッセージを返した場合、リクエストで指定した署名は、サーバーによって計算された署名と一致しません。 その結果、リクエストは拒否されます。
解決策: 次の手順を実行して、エラーをトラブルシューティングします。
AccessKey IDとAccessKey secret が正しいことを確認してください。
AccessKey IDとAccessKey secretを使用してossbrowserにログインし、AccessKey IDとAccessKey secretが有効かどうかを確認できます。 詳細については、「ossbrowserへのインストールとログイン」をご参照ください。
署名アルゴリズムが有効かどうかを確認します。
OSSには、署名を含めることができる2つのリクエストメソッドがあります。 詳細については、「承認ヘッダーに署名を含める」および「URLに署名を追加する」をご参照ください。 次の項目は、2つの署名方法のアルゴリズムを示しています。
承認ヘッダーに署名を含める
StringToSign = VERB + "\n" + Content-MD5 + "\n" + Content-Type + "\n" + Date + "\n" + CanonicalizedOSSHeaders + CanonicalizedResource 署名=base64(hmac-sha1(AccessKeySecret、StringToSign)
URLへの署名の追加
StringToSign = VERB + "\n" + CONTENT-MD5 + "\ n" +コンテンツタイプ+ "\ n" + EXPIRES + "\n" + CanonicalizedOSSHeaders + CanonicalizedResource 署名=urlencode(base64(hmac-sha1(AccessKeySecret、StringToSign)))
OSS SDKを使用してOSSにアクセスすることを推奨します。 これにより、署名を手動で計算する必要がなくなります。 詳細については、「概要」をご参照ください。
レスポンス本文の
StringToSign
フィールドの値がリクエストの値と一致しているかどうかを確認します。StringToSign
フィールドは、署名する文字列を指定します。これは、署名アルゴリズムでAccessKeyシークレットを使用して暗号化する必要があるコンテンツです。例:
PUT /bucket/abc?acl 日付: 5月24日水曜日2023 02:12:30 GMT 承認: OSS qn6qrrqxo2oawuk53otf ****:77Dvh 5wQgIjWjwO/KyRt8dOP **** x-oss-abc: mymeta
上記のメソッドを使用して計算された署名される文字列:
PUT\n\n\n水曜日、24 5月2023日02:12:30 GMT\nx-oss-abc:mymeta\n/bucket/abc?acl
TransferAccelerationDisabled
転送アクセラレーションは無効です
原因: 転送アクセラレーションは無効です。
解決策: リモートデータ転送を高速化し、ギガバイトまたはテラバイトのサイズのオブジェクトのアップロードとダウンロードを高速化し、非静的および非ホットデータのダウンロードを高速化する場合は、転送高速化を有効にします。 詳細については、「転送アクセラレーションの有効化」をご参照ください。
InvalidSecurityToken
指定したセキュリティトークンが無効です
原因: OSSへのアクセスに使用される一時的なアクセス資格情報が無効です。
解決策: エラーを修正する方法については、「STSが提供する一時的な資格情報を使用してOSSにアクセスする」をご参照ください。
AccessKeyIdAndSecurityTokenNotMatch
指定したOSSアクセスキーidとセキュリティトークンが一致しません
原因: ユーザーが提供するAccessKeyペアが、OSSへのアクセスに使用される一時的なアクセス資格情報と一致しません。
解決策: エラーを修正する方法については、「STSが提供する一時的な資格情報を使用してOSSにアクセスする」をご参照ください。
SecurityTokenExpired
指定したセキュリティトークンの有効期限が切れています。
原因: OSSへのアクセスに使用される一時的なアクセス資格情報の有効期限が切れています。
解決策: STSから新しい一時的なアクセス資格情報を取得するリクエストを送信します。
AbnormalBucketOwnerStatus
バケット所有者のステータスが異常です。
原因: バケット所有者はサービスを利用できません。
解決策: バケット所有者のAlibaba Cloudアカウントがキャンセルされているか、セキュリティ上の理由で制限されているか、料金滞納のために停止されているかを確認します。
SecurityTokenNotSupported
このインターフェイスはセキュリティトークンをサポートしていません
原因: 一時的なアクセス資格情報のみを持つユーザーは、現在の操作を呼び出すことはできません。
解決策: STSトークンの代わりに他の方法を使用して、バケットにアクセスするために必要な権限をユーザーに付与します。 STSトークンを使用して、OSSリソースへの一時的なアクセス権を特定のユーザーにのみ付与できます。 権限付与方法の詳細については、「概要」をご参照ください。
このリージョンではセキュリティトークンがサポートされていません
原因: STSトークンは現在のリージョンでサポートされていません。
解決策: STSトークン以外のメソッドを使用して、バケットにアクセスする権限をユーザーに付与します。 STSトークンをサポートするリージョンの詳細については、「エンドポイント」をご参照ください。
RequestTimeTooSkewed
リクエスト時間と現在の時間の差が大きすぎます
原因: リクエストが開始された時刻が、OSSサーバーの現在時刻より少なくとも15分前です。
解決策: リクエストの送信に使用されたデバイスのシステム時刻を確認し、タイムゾーンに基づいてシステム時刻を変更します。
次のガイドラインに基づいて、リクエストの送信に使用するデバイスのシステム時間を変更できます。
OSSは、システム時間としてグリニッジ標準時 (GMT) を使用します。 したがって、デバイスのシステム時刻は、GMTまたはGMTを基準とするタイムゾーンに設定する必要があります。 たとえば、GMT + 00:00はGMTに関連するタイムゾーンです。
Windowsを実行しているデバイスのタイムゾーンを確認するには、
を選択します。たとえば、[タイムゾーン] 列に + 08:00が表示されている場合、デバイスはGMT + 08:00のタイムゾーンにあります。
LinuxまたはUNIXを実行しているデバイスのタイムゾーンを確認するには、date -Rコマンドを実行します。
次の図では、+ 0800はデバイスがGMT + 08:00タイムゾーンにあることを示します。
OSSは複数のリージョンで使用できます。 OSSは、すべてのリージョンでシステム時間としてGMTを使用します。 したがって、リクエストの送信に使用されるデバイスのシステム時間もGMTである必要があります。
ImageDamage
イメージファイルが破損している可能性があります
原因: データが破損または欠落しているため、イメージを識別または処理できません。
解決策: 画像が破損していないことを確認してください。 画像が破損している場合は、画像を再アップロードします。
UserDisable
UserDisable
原因:
料金滞納またはセキュリティ上の理由により、アカウントは無効になっています。
OSSはアクティブ化されていません。
解決策:
アカウントに料金滞納があるかどうかを確認するか、テクニカルサポートに連絡してセキュリティチェックを行います。
OSSの有効化
BucketDisable
BucketDisable
原因: セキュリティ上の理由により、バケットが無効になっています。
解決策: アカウントに料金滞納があるかどうかを確認するか、テクニカルサポートに連絡してセキュリティチェックを実行してください。
CnameDenied
cnameは別のユーザーに属しています
原因: ドメイン名が別のバケットにマップされています。
解決策: 別のドメイン名を使用するか、ドメイン名の所有権を確認し、ドメイン名をバケットに強制的にマップします。 ドメイン名をバケットに強制的にマップすると、ドメイン名は前のバケットからマップ解除されます。 詳細については、「カスタムドメイン名のマップ」をご参照ください。
InvalidObjectState
この操作は、オブジェクトの状態に対して無効です。
原因: 次のいずれかの条件が満たされると、Archiveオブジェクトの状態が無効になります。
オブジェクトに対して送信されたRestoreObjectリクエストがタイムアウトしたか、開始されませんでした。
オブジェクトに対して送信されたRestoreObjectリクエストは開始されましたが、オブジェクトは復元されませんでした。
解決策: エラーを修正する方法については、「RestoreObject」をご参照ください。