「FirebaseError: Firebase Storage: User does not have permission to access」が出力される原因と解決法

Firebase
 

原因

Errors while storage connecting =>  FirebaseError: Firebase Storage: User does not have permission to access 'image/kaden_reizouko_open.png'. (storage/unauthorized)
{
  "error": {
    "code": 403,
    "message": "Permission denied. Could not perform this operation"
  }
}

エラーコード403は基本的に権限が無いということで出力されるもの。

何の権限が無いかというと、Storageへのアクセス権がないのである。

エラーコードに関しては基本的には以下の通り

  • 400番台 クライアント側のエラー
  • 500番台 サーバー側のエラー

解決方法

権限を付与してあげる。

FirebaseConsole→Storageボタン→Rulesタブ

f:id:atusibba1014:20210813074512p:plain

確かに「read:if false」というようにRead権限が無いように見える。

修正コードはこちら

rules_version = '2';
service firebase.storage {
  match /b/{bucket}/o {
    match /{allPaths=**} {
      allow read, write;
    }
  }
}

allow read,writeの本番環境での使い方には要注意!

このままだとどんなユーザーでも自在にFireStorageを弄れるようになっているため、データが書き換えられたり、知らない間に請求額が爆増しているなんてことも。(無料版なら頭打ちするため大丈夫ではある)

終わり

コメント

タイトルとURLをコピーしました