【GCP】7 PERMISSION_DENIED: Missing or insufficient permissions
CloudFunctions for Firebaseでローカルエミュレーターではfirestore へデータの登録ができるが、deployしてクラウドから実行すると下記のエラーが出ていた。
7 PERMISSION_DENIED: Missing or insufficient permissions
ここを参考にFirebase Admin SDKのserviceAccountKeyを設定する
https://firebase.google.com/docs/admin/setup?hl=ja
Firebaseコンソール → (左上の)設定 → サービスアカウント
から、
新しい秘密鍵の生成
xxx.json
を任意の場所へ配置する。
var admin = require("firebase-admin");
var serviceAccount = require("path/to/serviceAccountKey.json");
admin.initializeApp({
credential: admin.credential.cert(serviceAccount),
databaseURL: "https://[APPの名前].firebaseio.com"
});
これでdeploy後にクラウド側から関数実行をしてもエラーが出ず、正常にデータの登録ができた。
ちなみにこの時のfirestoreのルールはこれ。
(セキュリティ的にはもっと色々設定していかないといけないと思っている)
service cloud.firestore {
match /databases/{database}/documents {
match /{document=**} {
allow read, write: if true;
}
}
}
Author And Source
この問題について(【GCP】7 PERMISSION_DENIED: Missing or insufficient permissions), 我々は、より多くの情報をここで見つけました https://qiita.com/KASATA/items/b586268525c6140e3234著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .