Firestoreデータを使用して、Firebase Cloud Storageでホストされているファイルへのアクセスを許可または制限できますか?
Firebaseセキュリティルールとして使用したいものの例
allow write: if get(/databases/mydbname/documents/guilds/$(guildID)).data.users[(request.auth.uid)] in ["Admin", "Member"];
現在、別の製品のセキュリティルール内からさまざまなFirebase製品にアクセスする方法はありません。参照: Firebaseストレージルールでユーザーの役割を認証する方法はありますか?
しかし、ユーザーのグループメンバーシップを確認しようとしているようです。そのグループメンバーシップをデータベースで検索する代わりに、いわゆるカスタムクレームとしてモデル化することをお勧めします。データベースにメンバーシップを書き込む代わりに(またはそれに加えて)、 Firebase Admin SDKを使用して「ユーザー{uid}はグループ{guild1}のメンバーです」というクレームをユーザープロファイルに設定します =:
admin.auth().setCustomUserClaims(uid, {guild1: true}).then(() => {
// The new custom claims will propagate to the user's ID token the
// next time a new one is issued.
});
これが完了すると、セキュリティルールでギルドメンバーシップを確認できます。
allow read: if request.auth.token.guild1 == true;
(ギルドメンバーシップをマップとしてモデル化できるかどうか/どのようにモデル化できるかはわかりません。その場合は、この回答を更新します。)