web-dev-qa-db-ja.com

Firebaseストレージセキュリティルール400のエラー問題「権限が拒否されました。バケットxxxxx-****。appspot.comにアクセスできませんでした」

写真をアップロードしようとすると、reactプロジェクトでのfirebase storageのアップロードで400エラーが発生するというFirebaseリンクからのメッセージエラーが何度も表示されます...以前はすべて正常に機能しており、画像を正常にアップロードしていましたが、写真のアップロードが停止し、次のエラーが発生します。問題がどこにあるのかわかりません...

インスペクトで表示されるリンク

POST https://firebasestorage.googleapis.com/v0/b/xxxxx-****.appspot.com/o?name=usertemp%2F0rdrGK4MRDRptAMCc3mHDveytJv1%2F0rdrGK4MRDRptAMCc3mHDveytJv1.jpg 400 ()

これはリンク応答からのエラーです

{
  "error": {
    "code": 400,
    "message": "Permission denied. Could not access bucket xxxxx-****.appspot.com. Please enable Firebase Storage for your bucket by visiting the Storage tab in the Firebase Console and ensure that you have sufficient permission to properly provision resources."
  }

これが私のセキュリティです

service firebase.storage {
  match /b/{bucket}/o {
    match /{allPaths=**} {
      allow read, write: if request.auth!=null;
    }
  }
}

私はまだmatch/b/xxxxx-****.appspot.com/oに変更しようとしましたが、まだ成功しませんでした

8
General Omosco

これは権限がないためです。あなたが持っているかどうかを確認する必要があります

[email protected]

「ストレージ管理者」の役割を持つメンバーとして。ない場合は追加してください。それで問題が解決します。

権限を確認して追加する手順は次のとおりです。

  • Cloud console に移動します
  • ストレージに移動
  • バケットを選択して、[情報パネルを表示]をクリックします。

必要に応じて、不足しているアクセス許可をIAMと管理に追加することもできます。

17
goblin

最後に同じ問題に直面しましたが、作成する前に画像をアップロードしようとしていたことがわかりましたFirebase Storageファイルのアップロードに固有です。

バケットに対してFirebase Storageを有効にしてください Firebase Storageはデフォルトのバケットの場所として機能するため、これがエラーに直面する理由です

{
  "error": {
    "code": 400,
    "message": "Permission denied. Could not access bucket xxxxx-****.appspot.com. Please enable Firebase Storage for your bucket by visiting the Storage tab in the Firebase Console and ensure that you have sufficient permission to properly provision resources."
  }

何をすべきか?

プロジェクトに移動するだけFirebase console >> Storage >>クリックするだけGET STARTEDenter image description here

2
eli

この問題は、Google App EngineダッシュボードでFirebase * APIとサービスが有効になっていないプロジェクトで発生していることに気付きました(下のスクリーンショットを参照)。そこで、Firebase Storageに関連するAPIを手動で有効にしました。 GAE APIs & Services for a working Storage <-> Firebase app

一部のAPIとサービスが自動的に有効になるプロジェクトとそうでないプロジェクトがある理由がわかりません。 Firebase-GCP統合手順 には、Firebaseをexplicitly有効にする必要があることを説明する具体的な手順はないようですAPI。

この他の SOスレッド は、この明らかな不整合を明らかにするのに役立ちました

1
kip2

私も同じ問題を抱えていました。解決策は、ストレージタグ(firebase consoleの左側)をクリックし、[OK]ボタンをクリックして、アップロードルールを有効にすることです。

0
Emile Achadde

私も同じ問題を抱えていました。問題は、ストレージを初期化する前にページをホストしていたため、初期化したときにバケットが一致しなかったことです。 Firebaseで別のスクリプトを生成し、それをプロジェクトファイルに貼り付けて、もう一度デプロイするだけで済みました。それで私の問題は解決しました。

0
Doilio Matsinhe