請求が有効になっていないFirebaseプロジェクトがあります。別の課金対応プロジェクトに属するVM)を使用してデータベースのバックアップを作成したい。バックアップスクリプトは次のように単純です。
.npm/bin/firebase --project $PROJECT_ID database:get /
新しく作成されたサービスアカウントは、このスクリプトを実行しているVM(GCE経由)に割り当てられます。このアカウントがプロジェクト$PROJECT_ID
にアクセスできない場合、明らかにこれは失敗します。
Error: Authorization failed. This account is missing the following required permissions on project $PROJECT_ID:
firebase.projects.get
firebasedatabase.instances.get
ただし、これらの特定のアクセス許可をサービスアカウントに付与したり、そのプロジェクトに「所有者」の役割を割り当てたりしても、プロジェクトはそれほど改善されません。代わりに:
Error: HTTP Error: 404, The specified project was not found.
--debug
で実行すると、具体的にはGET https://admin.firebase.com/v1/projects/$PROJECT_ID
が404を返すことがわかります。
プロジェクトが存在します。これは、ワークステーションで自分の(サービス以外の)アカウントでまったく同じコマンドを実行して確認します。また、VMでgcloud auth list
を実行して、アカウントが正しいことを確認しました。プロジェクトは、同じVMのgcloud projects list
出力にも表示されます。
サービスアカウントをプロジェクト間で機能させ、Firebaseデータベースにアクセスする方法はありますか?
Cliで以下のコマンドを実行します:firebase use --add
私はこの解決策を見ました: https://firebase.google.com/docs/hosting/?authuser=
同様の問題がありました、
他の誰かが私のチームのFirebaseアプリを作成しました。私には、所有者の権限がありました。
これは私にとってはうまくいきました、コマンドを試してください:firebase use --add
解決策に私を導いたコメントのためのPacoZevallosへの小道具。
私はこの解決策を見ました: https://stackoverflow.com/a/45263918/5283424
追加のコマンドとトラブルシューティングについては、そのソリューションを確認してください。