nodejs、express、firebase functions、firestore を使用して Web ベースのプロジェクトを開始しましたが、最終的には firebase ホスティングを使用したいと考えています。これまでのところ、承認と認証に到達するまで、すべてをサーバー側に保つことができました。モデル ビュー コントローラー構造を使用しているため、firestore への呼び出しがサーバー側で行われるため、firestore セキュリティ ルールが機能しません。Firestore セキュリティ ルールは、firestore クライアント側にアクセスする場合にのみ機能します。
Google Cloud IAM (Identity and Access Management) を使用して、Cloud Firestore セキュリティ ルールの場合と同様に、firestore への読み取り/書き込みのユーザー レベルを制御できますか?
その場合、MySQL で別のユーザーを設定するのと同じように機能します。
grant INSERT, UPDATE, SELECT on name_of_database.* to 'admin_webuser'@'%';
grant SELECT on name_of_database.* to 'user_webuser'@'%';
そのため、管理者がサインインするときは admin_webuser を使用してデータベースに接続し、他のユーザーがサインインする場合は user_webuser を使用してデータベースに接続します。
IAMを使用してfirestoreに接続するために、nodejs、express、firebase関数を使用して上記のようなセットアップを実現できますか?
現在、モデルフォルダーで、次の方法でfirestoreを呼び出します。
const admin = require('firebase-admin');
const functions = require('firebase-functions');
admin.initializeApp(functions.config().firebase);
admin.initializeApp(functions.config().firebase);セットアップされた IAM ルールに基づいて、別の構成ファイルにヒットするようにパーツを変更できると思いますか? では、管理者が自分の Web サイトにログインするときに、別の構成ファイルを含むモデル フォルダーを使用できますか?
IAM のドキュメントを読みましたが、意味がありません。誰かが私にアドバイスしてもらえますか:
IAM を使用して firestore で CRUD を実行できる管理者を設定するには?
管理者が私のウェブサイトにサインインしたときにのみ、firestore で CRUD 操作を実行できるようにするにはどうすればよいでしょうか?