オブジェクトのアクセス制御リスト (ACL) がパブリック読み取りに設定されると、すべてのユーザーがオブジェクトにアクセスできます。 ただし、次の設定では、匿名ユーザーがバケット内のパブリック読み取りオブジェクトにアクセスできない場合があります。
リクエスト元による支払い
pay-by-requesterを有効にした後、リクエストはバケット内のデータを読み取ることによって生成されたリクエストとトラフィックに対して料金を支払う必要があります。 バケット所有者には、バケットのストレージ料金のみが課金されます。 したがって、リクエスト者は、Object Storage Service (OSS) がリクエストおよびトラフィック料金を特定して請求できるように、認証用のID情報を提供する必要があります。 匿名ユーザーは、バケットにアクセスするときに認証用のID情報を保持しないため、OSSは匿名ユーザーからのリクエストを拒否します。 詳細については、「pay-by-requesterの有効化」をご参照ください。
解決策:
- バケット所有者は、必要なオブジェクトの署名付きURLを生成し、匿名ユーザーに署名付きURLを提供できます。 詳細については、「署名付きURLでのオブジェクトの共有」をご参照ください。
- バケット所有者は、pay-by-requesterを無効にできます。 詳細については、「pay-by-requesterの有効化」をご参照ください。
バケットポリシー
バケットポリシーは、他のユーザーにOSSリソースへのアクセスを許可するために使用されます。 したがって、バケットに設定した一部のバケットポリシーにより、匿名ユーザーがバケットにアクセスできなくなる場合があります。 バケットポリシーの詳細については、「バケットポリシーを設定して他のユーザーにOSSリソースへのアクセスを許可する」をご参照ください。
解決策:
バケット用に設定したバケットポリシーを表示します。 匿名ユーザーがバケットにアクセスできないようにするバケットポリシーを変更または削除します。