web-dev-qa-db-fra.com

Erreur 400 des règles de sécurité du stockage Firebase "Autorisation refusée. Impossible d'accéder au compartiment xxxxx - ****. Appspot.com"

Je continue d’obtenir une erreur de message du lien firebase disant 400 erreur avec mon téléchargement de stockage firebase dans mon projet de réaction en essayant de télécharger une photo ... tout fonctionnait bien avant et télécharge les images avec succès, mais maintenant il arrête de télécharger la photo en donnant l’erreur suivante, je ne sais pas où est le problème ...

Le lien qui invite à inspecter

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

Voici l'erreur de la réponse du lien

{
  "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."
  }

Voici ma sécurité

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

J'ai toujours essayé de changer la match en /b/xxxxx-****.appspot.com/o avec toujours pas de succès

6
General Omosco

Cela est dû à une autorisation manquante. Vous devez vérifier si vous avez

[email protected]

en tant que membre avec un rôle "Storage Admin". Si vous n'en avez pas, ajoutez-le. Cela réglerait le problème.

Voici l'étape sur la façon de vérifier et d'ajouter des autorisations.

  • Aller à Console Cloud
  • Naviguez vers le stockage 
  • Sélectionnez votre compartiment, puis cliquez sur Afficher le panneau d'informations.

Vous pouvez également ajouter l'autorisation manquante dans IAM & Admin si vous le souhaitez.

15
goblin

J'ai remarqué que ce problème se produisait sur des projets pour lesquels les API et services Firebase * n'étaient pas activés sur le tableau de bord de Google App Engine (voir la capture d'écran ci-dessous). J'ai donc activé manuellement les API liées au stockage firebase. GAE APIs & Services for a working Storage <-> Firebase app

Je ne comprends pas pourquoi certains API et services sont activés automatiquement pour certains projets et pas pour d'autres. Il ne semble pas y avoir d'instructions spécifiques sur les étapes d'intégration Firebase - GCP qui parlent de la nécessité de explicitement activer les API Firebase. 

Cet autre SO } _ était utile pour faire la lumière sur cette incohérence apparente.

0
kip2

J'ai eu le même problème. En fait, j’avais hébergé ma page avant d’initialiser le stockage. Ainsi, lors de son initialisation, le compartiment ne correspondait pas. Tout ce que je devais faire était de générer un autre script sur firebase, de le coller dans mon fichier de projet, puis de le déployer à nouveau. Cela a résolu mon problème.

0
Doilio Matsinhe