[firestore] Error: 7 PERMISSION_DENIED: Missing or insufficient permissions


前提

GOOGLE_APPLICATION_CREDENTIALSを利用してサービスアカウントを設定している。

問題

firestoreにwriteする際に、タイトルエラーが出て書き込めなかった。

firestore.rules
rules_version = '2';
service cloud.firestore {
  match /databases/{database}/documents {
    match /{document=**} {
      allow read, write: if request.auth != null;
    }
  }
}

firestore.rulesを見ても、特に問題は見当たらない。

解決

以下のコードが原因

import { initializeApp } from 'firebase-admin'
initializeApp({ projectId: "YOUR_PROJECTID" })

GOOGLE_APPLICATION_CREDENTIALSを利用して設定している場合、initializeAppで余計な設定は不要

import { initializeApp } from 'firebase-admin'
initializeApp()

これでよし。